|
OOFEM 3.0
|
#include <shell7basexfem.h>
Public Member Functions | |
| Shell7BaseXFEM (int n, Domain *d) | |
| int | checkConsistency () override |
| void | giveMaxCZDamages (FloatArray &answer, TimeStep *tStep) |
| const char * | giveClassName () const override |
| std::string | errorInfo (const char *func) const |
| Interface * | giveInterface (InterfaceType it) override |
| void | initializeFrom (InputRecord &ir, int priority) override |
| void | giveDofManDofIDMask (int inode, IntArray &answer) const override |
| int | giveNumberOfDofs () override |
| void | giveFailedInterfaceNumber (IntArray &failedInterfaces, FloatArray &initiationFactor, TimeStep *tStep, bool recoverStresses=true) |
| void | giveAverageTransverseInterfaceStress (std::vector< FloatMatrix > &transverseStress, TimeStep *tStep) |
| void | giveRecoveredTransverseInterfaceStress (std::vector< FloatMatrix > &transverseStress, TimeStep *tStep) override |
| bool | hasCohesiveZone (int interfaceNum) |
| Public Member Functions inherited from oofem::Shell7Base | |
| Shell7Base (int n, Domain *d) | |
| int | computeGlobalCoordinates (FloatArray &answer, const FloatArray &lcoords) override |
| virtual int | computeGlobalCoordinatesOnEdge (FloatArray &answer, const FloatArray &lcoords, const int iEdge) |
| int | computeNumberOfDofs () override |
| void | printOutputAt (FILE *file, TimeStep *tStep) override |
| MaterialMode | giveMaterialMode () override |
| virtual int | giveNumberOfInPlaneIP () |
| virtual int | giveNumberOfEdgeDofs ()=0 |
| virtual int | giveNumberOfEdgeDofManagers ()=0 |
| FloatMatrixF< 3, 3 > | evalInitialCovarBaseVectorsAt (const FloatArrayF< 3 > &lCoords) |
| LayeredCrossSection * | giveLayeredCS () |
| void | computeConstitutiveMatrix_dPdF_At (FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) override |
| Public Member Functions inherited from oofem::NLStructuralElement | |
| NLStructuralElement (int n, Domain *d) | |
| virtual | ~NLStructuralElement () |
| Destructor. | |
| int | giveGeometryMode () |
| void | computeFirstPKStressVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) |
| void | computeCauchyStressVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) |
| void | computeInitialStressMatrix (FloatMatrix &answer, TimeStep *tStep) override |
| void | computeStiffnessMatrix_withIRulesAsSubcells (FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep) |
| void | giveInternalForcesVector_withIRulesAsSubcells (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0) override |
| virtual void | computeDeformationGradientVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) |
| double | computeCurrentVolume (TimeStep *tStep) |
| void | giveInputRecord (DynamicInputRecord &input) override |
| Public Member Functions inherited from oofem::StructuralElement | |
| StructuralElement (int n, Domain *d) | |
| virtual | ~StructuralElement () |
| Destructor. | |
| void | giveCharacteristicMatrix (FloatMatrix &answer, CharType, TimeStep *tStep) override |
| void | giveCharacteristicVector (FloatArray &answer, CharType type, ValueModeType mode, TimeStep *tStep) override |
| virtual void | computeConsistentMassMatrix (FloatMatrix &answer, TimeStep *tStep, double &mass, const double *ipDensity=NULL) |
| virtual void | giveMassMtrxIntegrationgMask (IntArray &answer) |
| void | computeStiffnessMatrix_withIRulesAsSubcells (FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep) |
| virtual void | computeLumpedInitialStressMatrix (FloatMatrix &answer, TimeStep *tStep) |
| void | computeField (ValueModeType mode, TimeStep *tStep, const FloatArray &lcoords, FloatArray &answer) override |
| virtual void | computeStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep) |
| int | giveIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override |
| virtual void | computeResultingIPTemperatureAt (FloatArray &answer, TimeStep *tStep, GaussPoint *gp, ValueModeType mode) |
| virtual void | computeResultingIPEigenstrainAt (FloatArray &answer, TimeStep *tStep, GaussPoint *gp, ValueModeType mode) |
| virtual void | computeStressVector (FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep)=0 |
| void | updateBeforeNonlocalAverage (TimeStep *tStep) override |
| virtual void | giveNonlocalLocationArray (IntArray &locationArray, const UnknownNumberingScheme &us) |
| virtual void | addNonlocalStiffnessContributions (SparseMtrx &dest, const UnknownNumberingScheme &s, TimeStep *tStep) |
| int | adaptiveUpdate (TimeStep *tStep) override |
| void | updateInternalState (TimeStep *tStep) override |
| void | updateYourself (TimeStep *tStep) override |
| int | checkConsistency () override |
| void | giveInputRecord (DynamicInputRecord &input) override |
| const char * | giveClassName () const override |
| int | giveInternalStateAtNode (FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep) override |
| void | showSparseMtrxStructure (CharType mtrx, oofegGraphicContext &gc, TimeStep *tStep) override |
| Shows sparse structure. | |
| void | showExtendedSparseMtrxStructure (CharType mtrx, oofegGraphicContext &gc, TimeStep *tStep) override |
| Shows extended sparse structure (for example, due to nonlocal interactions for tangent stiffness). | |
| void | computeLoadVector (FloatArray &answer, BodyLoad *load, CharType type, ValueModeType mode, TimeStep *tStep) override |
| void | computeBoundarySurfaceLoadVector (FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true) override |
| void | computeBoundaryEdgeLoadVector (FloatArray &answer, BoundaryLoad *load, int boundary, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true) override |
| virtual void | computeEdgeNMatrix (FloatMatrix &answer, int boundaryID, const FloatArray &lcoords) |
| computes edge interpolation matrix | |
| virtual void | computeSurfaceNMatrix (FloatMatrix &answer, int boundaryID, const FloatArray &lcoords) |
| virtual void | computeConstitutiveMatrixAt (FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)=0 |
| StructuralCrossSection * | giveStructuralCrossSection () |
| Helper function which returns the structural cross-section for the element. | |
| virtual void | createMaterialStatus () |
| Public Member Functions inherited from oofem::Element | |
| Element (int n, Domain *aDomain) | |
| Element (const Element &src)=delete | |
| Element & | operator= (const Element &src)=delete |
| virtual | ~Element () |
| Virtual destructor. | |
| void | giveLocationArray (IntArray &locationArray, const UnknownNumberingScheme &s, IntArray *dofIds=NULL) const |
| void | giveLocationArray (IntArray &locationArray, const IntArray &dofIDMask, const UnknownNumberingScheme &s, IntArray *dofIds=NULL) const |
| virtual void | giveBoundaryLocationArray (IntArray &locationArray, const IntArray &bNodes, const IntArray &dofIDMask, const UnknownNumberingScheme &s, IntArray *dofIds=NULL) |
| virtual int | giveNumberOfInternalDofManagers () const |
| virtual DofManager * | giveInternalDofManager (int i) const |
| virtual void | setInternalDofManager (int num, std::unique_ptr< DofManager > dm) |
| virtual double | giveCharacteristicValue (CharType type, TimeStep *tStep) |
| virtual void | computeTangentFromSurfaceLoad (FloatMatrix &answer, BoundaryLoad *load, int boundary, MatResponseMode rmode, TimeStep *tStep) |
| virtual void | computeTangentFromEdgeLoad (FloatMatrix &answer, BoundaryLoad *load, int boundary, MatResponseMode rmode, TimeStep *tStep) |
| const IntArray & | giveBodyLoadList () const |
| const IntArray & | giveBoundaryLoadList () const |
| void | computeVectorOf (ValueModeType u, TimeStep *tStep, FloatArray &answer) |
| void | computeVectorOf (const IntArray &dofIDMask, ValueModeType u, TimeStep *tStep, FloatArray &answer, bool padding=false) |
| void | computeBoundaryVectorOf (const IntArray &bNodes, const IntArray &dofIDMask, ValueModeType u, TimeStep *tStep, FloatArray &answer, bool padding=false) |
| void | computeVectorOf (PrimaryField &field, const IntArray &dofIDMask, ValueModeType u, TimeStep *tStep, FloatArray &answer, bool padding=false) |
| void | computeVectorOfPrescribed (ValueModeType u, TimeStep *tStep, FloatArray &answer) |
| void | computeVectorOfPrescribed (const IntArray &dofIDMask, ValueModeType type, TimeStep *tStep, FloatArray &answer) |
| virtual int | computeNumberOfGlobalDofs () |
| int | computeNumberOfPrimaryMasterDofs () |
| virtual bool | computeGtoLRotationMatrix (FloatMatrix &answer) |
| virtual bool | giveRotationMatrix (FloatMatrix &answer) |
| virtual bool | computeDofTransformationMatrix (FloatMatrix &answer, const IntArray &nodes, bool includeInternal) |
| virtual void | giveInternalDofManDofIDMask (int inode, IntArray &answer) const |
| virtual void | giveElementDofIDMask (IntArray &answer) const |
| virtual double | computeVolumeAround (GaussPoint *gp) |
| virtual double | computeVolumeAreaOrLength () |
| Computes the volume, area or length of the element depending on its spatial dimension. | |
| double | computeMeanSize () |
| virtual double | computeVolume () |
| virtual double | computeArea () |
| virtual double | computeLength () |
| virtual IntArray | giveBoundaryEdgeNodes (int boundary, bool includeHierarchical=false) const |
| virtual IntArray | giveBoundarySurfaceNodes (int boundary, bool includeHierarchical=false) const |
| virtual IntArray | giveBoundaryNodes (int boundary) const |
| virtual std::unique_ptr< IntegrationRule > | giveBoundaryEdgeIntegrationRule (int order, int boundary) |
| virtual std::unique_ptr< IntegrationRule > | giveBoundarySurfaceIntegrationRule (int order, int boundary) |
| int | giveDofManagerNumber (int i) const |
| const IntArray & | giveDofManArray () const |
| void | addDofManager (DofManager *dMan) |
| DofManager * | giveDofManager (int i) const |
| Node * | giveNode (int i) const |
| virtual ElementSide * | giveSide (int i) const |
| virtual FEInterpolation * | giveInterpolation () const |
| virtual FEInterpolation * | giveInterpolation (DofIDItem id) const |
| virtual const FEInterpolation * | getGeometryInterpolation () const |
| virtual Material * | giveMaterial () |
| int | giveMaterialNumber () const |
| CrossSection * | giveCrossSection () |
| int | getActivityTimeFunctionNumber () |
| void | setActivityTimeFunctionNumber (int funcIndx) |
| void | setMaterial (int matIndx) |
| virtual void | setCrossSection (int csIndx) |
| virtual int | giveNumberOfDofManagers () const |
| void | setNumberOfDofManagers (int i) |
| Sets number of element dof managers. | |
| virtual int | giveNumberOfNodes () const |
| void | setDofManagers (const IntArray &dmans) |
| void | setDofManager (int id, int dm) |
| void | setBodyLoads (const IntArray &bodyLoads) |
| void | setIntegrationRules (std ::vector< std ::unique_ptr< IntegrationRule > > irlist) |
| virtual integrationDomain | giveIntegrationDomain () const |
| virtual int | giveIntegrationRuleLocalCodeNumbers (IntArray &answer, IntegrationRule &ie) |
| int | giveRegionNumber () |
| virtual void | initializeYourself (TimeStep *timeStepWhenICApply) |
| virtual bool | isActivated (TimeStep *tStep) |
| virtual bool | isCast (TimeStep *tStep) |
| virtual void | initForNewStep () |
| virtual Element_Geometry_Type | giveGeometryType () const =0 |
| virtual Element_Geometry_Type | giveEdgeGeometryType (int id) const |
| Returns the receiver edge geometry type. | |
| virtual Element_Geometry_Type | giveSurfaceGeometryType (int id) const |
| Returns the receiver surface geometry type. | |
| virtual int | giveSpatialDimension () |
| virtual int | giveNumberOfBoundarySides () |
| Returns number of boundaries (entities of element_dimension-1: points, edges, surfaces). | |
| virtual int | giveNumberOfEdges () const |
| virtual int | giveNumberOfSurfaces () const |
| virtual int | giveDefaultIntegrationRule () const |
| virtual IntegrationRule * | giveDefaultIntegrationRulePtr () |
| int | giveNumberOfIntegrationRules () |
| virtual IntegrationRule * | giveIntegrationRule (int i) |
| std::vector< std ::unique_ptr< IntegrationRule > > & | giveIntegrationRulesArray () |
| virtual int | testElementExtension (ElementExtension ext) |
| int | giveGlobalIPValue (FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) |
| virtual double | giveLengthInDir (const FloatArray &normalToCrackPlane) |
| virtual double | giveCharacteristicLength (const FloatArray &normalToCrackPlane) |
| double | giveCharacteristicLengthForPlaneElements (const FloatArray &normalToCrackPlane) |
| double | giveCharacteristicLengthForAxisymmElements (const FloatArray &normalToCrackPlane) |
| virtual double | giveCharacteristicSize (GaussPoint *gp, FloatArray &normalToCrackPlane, ElementCharSizeMethod method) |
| virtual double | giveParentElSize () const |
| virtual bool | computeLocalCoordinates (FloatArray &answer, const FloatArray &gcoords) |
| virtual int | giveLocalCoordinateSystem (FloatMatrix &answer) |
| virtual void | giveLocalCoordinateSystemVector (InternalStateType isttype, FloatArray &answer) |
| virtual void | computeMidPlaneNormal (FloatArray &answer, const GaussPoint *gp) |
| virtual int | adaptiveMap (Domain *oldd, TimeStep *tStep) |
| virtual int | mapStateVariables (Domain &iOldDom, const TimeStep &iTStep) |
| virtual int | adaptiveFinish (TimeStep *tStep) |
| void | updateLocalNumbering (EntityRenumberingFunctor &f) override |
| template<class T> | |
| void | ipEvaluator (T *src, void(T ::*f)(GaussPoint *gp)) |
| Integration point evaluator, loops over receiver IP's and calls given function (passed as f parameter) on them. The IP is parameter to function f. | |
| template<class T, class S> | |
| void | ipEvaluator (T *src, void(T ::*f)(GaussPoint *, S &), S &_val) |
| Integration point evaluator, loops over receiver IP's and calls given function (passed as f parameter) on them. The IP is parameter to function f as well as additional array. | |
| virtual void | drawYourself (oofegGraphicContext &gc, TimeStep *tStep) |
| virtual void | drawAnnotation (oofegGraphicContext &gc, TimeStep *tStep) |
| virtual void | drawRawGeometry (oofegGraphicContext &gc, TimeStep *tStep) |
| virtual void | drawDeformedGeometry (oofegGraphicContext &gc, TimeStep *tStep, UnknownType) |
| virtual void | drawScalar (oofegGraphicContext &gc, TimeStep *tStep) |
| virtual void | drawSpecial (oofegGraphicContext &gc, TimeStep *tStep) |
| virtual void | giveLocalIntVarMaxMin (oofegGraphicContext &gc, TimeStep *tStep, double &emin, double &emax) |
| virtual int | giveInternalStateAtSide (FloatArray &answer, InternalStateType type, InternalStateMode mode, int side, TimeStep *tStep) |
| int | giveLabel () const |
| int | giveGlobalNumber () const |
| void | setGlobalNumber (int num) |
| elementParallelMode | giveParallelMode () const |
| void | setParallelMode (elementParallelMode _mode) |
| Sets parallel mode of element. | |
| virtual elementParallelMode | giveKnotSpanParallelMode (int) const |
| int | packUnknowns (DataStream &buff, TimeStep *tStep) |
| int | unpackAndUpdateUnknowns (DataStream &buff, TimeStep *tStep) |
| int | estimatePackSize (DataStream &buff) |
| const IntArray * | givePartitionList () const |
| void | setPartitionList (IntArray &pl) |
| virtual double | predictRelativeComputationalCost () |
| virtual double | giveRelativeSelfComputationalCost () |
| virtual double | predictRelativeRedistributionCost () |
| IntArray * | giveBodyLoadArray () |
| Returns array containing load numbers of loads acting on element. | |
| IntArray * | giveBoundaryLoadArray () |
| Returns array containing load numbers of boundary loads acting on element. | |
| void | initializeFinish () override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| virtual const IntArray | giveLocation () |
| virtual void | recalculateCoordinates (int nodeNumber, FloatArray &coords) |
| void | setSharedEdgeID (int iedge, int globalID) |
| void | setSharedSurfaceID (int isurf, int globalID) |
| const IntArray * | giveSharedEdgeIDs () const |
| const IntArray * | giveSharedSurfaceIDs () const |
| Public Member Functions inherited from oofem::FEMComponent | |
| FEMComponent (int n, Domain *d) | |
| virtual | ~FEMComponent ()=default |
| Virtual destructor. | |
| virtual const char * | giveInputRecordName () const =0 |
| Domain * | giveDomain () const |
| virtual void | setDomain (Domain *d) |
| int | giveNumber () const |
| void | setNumber (int num) |
| virtual void | initializeFrom (InputRecord &ir) |
| virtual void | printYourself () |
| Prints receiver state on stdout. Useful for debugging. | |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
| Public Member Functions inherited from oofem::NodalAveragingRecoveryModelInterface | |
| NodalAveragingRecoveryModelInterface () | |
| Constructor. | |
| Public Member Functions inherited from oofem::Interface | |
| Interface () | |
| Constructor. | |
| virtual | ~Interface () |
| Public Member Functions inherited from oofem::LayeredCrossSectionInterface | |
| LayeredCrossSectionInterface () | |
| Public Member Functions inherited from oofem::VTKXMLExportModuleElementInterface | |
| VTKXMLExportModuleElementInterface () | |
| Public Member Functions inherited from oofem::ZZNodalRecoveryModelInterface | |
| ZZNodalRecoveryModelInterface (Element *element) | |
| Constructor. | |
| virtual bool | ZZNodalRecoveryMI_computeNValProduct (FloatMatrix &answer, InternalStateType type, TimeStep *tStep) |
| virtual void | ZZNodalRecoveryMI_computeNNMatrix (FloatArray &answer, InternalStateType type) |
| Public Member Functions inherited from oofem::FailureModuleElementInterface | |
| FailureModuleElementInterface () | |
| Public Member Functions inherited from oofem::XfemElementInterface | |
| const char * | giveClassName () const override |
| std::string | errorInfo (const char *func) const |
| XfemElementInterface (Element *e) | |
| Constructor. | |
| virtual | ~XfemElementInterface () |
| XfemElementInterface (const XfemElementInterface &src)=delete | |
| XfemElementInterface & | operator= (const XfemElementInterface &src)=delete |
| void | XfemElementInterface_createEnrBmatrixAt (FloatMatrix &oAnswer, GaussPoint &iGP, Element &iEl) |
| Creates enriched B-matrix. | |
| void | XfemElementInterface_createEnrBHmatrixAt (FloatMatrix &oAnswer, GaussPoint &iGP, Element &iEl) |
| Creates enriched BH-matrix. | |
| void | ComputeBOrBHMatrix (FloatMatrix &oAnswer, GaussPoint &iGP, Element &iEl, bool iComputeBH, const FloatArray &iNaturalGpCoord) |
| void | XfemElementInterface_createEnrNmatrixAt (FloatMatrix &oAnswer, const FloatArray &iLocCoord, Element &iEl, bool iSetDiscontContribToZero) |
| Creates enriched N-matrix. | |
| void | XfemElementInterface_createEnrNmatrixAt (FloatMatrix &oAnswer, const FloatArray &iLocCoord, Element &iEl, const std ::vector< int > &iLocNodeInd, bool iSetDiscontContribToZero) |
| int | XfemElementInterface_giveNumDofManEnrichments (const DofManager &iDMan, XfemManager &iXMan) const |
| virtual void | XfemElementInterface_partitionElement (std ::vector< Triangle > &oTriangles, const std ::vector< FloatArray > &iPoints) |
| Partitions the element into patches by a triangulation. | |
| virtual bool | XfemElementInterface_updateIntegrationRule () |
| Updates integration rule based on the triangulation. | |
| virtual void | XfemElementInterface_prepareNodesForDelaunay (std ::vector< std ::vector< FloatArray > > &oPointPartitions, double &oCrackStartXi, double &oCrackEndXi, int iEnrItemIndex, bool &oIntersection) |
| Returns an array of array of points. Each array of points defines the points of a subregion of the element. | |
| virtual void | XfemElementInterface_prepareNodesForDelaunay (std ::vector< std ::vector< FloatArray > > &oPointPartitions, double &oCrackStartXi, double &oCrackEndXi, const Triangle &iTri, int iEnrItemIndex, bool &oIntersection) |
| void | putPointsInCorrectPartition (std ::vector< std ::vector< FloatArray > > &oPointPartitions, const std ::vector< FloatArray > &iIntersecPoints, const std ::vector< const FloatArray * > &iNodeCoord) const |
| void | partitionEdgeSegment (int iBndIndex, std ::vector< Line > &oSegments, std ::vector< FloatArray > &oIntersectionPoints, const double &iTangDistPadding=0.0) |
| MaterialMode | giveMaterialMode () |
| void | updateYourselfCZ (TimeStep *tStep) |
| void | computeDisplacementJump (GaussPoint &iGP, FloatArray &oJump, const FloatArray &iSolVec, const FloatMatrix &iNMatrix) |
| void | computeNCohesive (FloatMatrix &oN, GaussPoint &iGP, int iEnrItemIndex, const std ::vector< int > &iTouchingEnrItemIndices) |
Public Attributes | |
| std ::vector< std ::unique_ptr< IntegrationRule > > | czIntegrationRulesArray |
| Public Attributes inherited from oofem::XfemElementInterface | |
| Element * | element |
| std ::vector< int > | mCZEnrItemIndices |
| Index of enrichment items associated with cohesive zones. | |
| std ::vector< std ::vector< int > > | mCZTouchingEnrItemIndices |
| bool | mUsePlaneStrain |
| Flag that tells if plane stress or plane strain is assumed. | |
| std ::vector< std ::unique_ptr< IntegrationRule > > | mpCZIntegrationRules |
| std ::vector< std ::unique_ptr< IntegrationRule > > | mpCZExtraIntegrationRules |
| std ::vector< std ::unique_ptr< IntegrationRule > > | mpCZIntegrationRules_tmp |
| std ::vector< std ::unique_ptr< IntegrationRule > > | mpCZExtraIntegrationRules_tmp |
| std ::vector< std ::unique_ptr< IntegrationRule > > | mIntRule_tmp |
Protected Attributes | |
| XfemManager * | xMan |
| IntArray | DelaminatedInterfaceList |
| std ::vector< Triangle > | allTri |
| std ::vector< std ::vector< Triangle > > | crackSubdivisions |
| IntArray | numSubDivisionsArray |
| FEI3dTrQuad | interpolationForCZExport |
| FEI3dWedgeQuad | interpolationForExport |
| std::vector< IntArray > | orderingArrays |
| std::vector< IntArray > | activeDofsArrays |
| Protected Attributes inherited from oofem::Shell7Base | |
| bool | recoverStress |
| LayeredCrossSection * | layeredCS |
| FEInterpolation3d * | fei |
| std::vector< FloatArrayF< 3 > > | initialNodeDirectors |
| FloatArray | initialSolutionVector |
| std::vector< FloatArray > | initialEdgeSolutionVectors |
| int | numInPlaneIP |
| std::vector< std::vector< int > > | voigtIndices |
| Protected Attributes inherited from oofem::NLStructuralElement | |
| int | nlGeometry =0 |
| Flag indicating if geometrical nonlinearities apply. | |
| Protected Attributes inherited from oofem::StructuralElement | |
| std::unique_ptr< FloatArray > | initialDisplacements |
| Initial displacement vector, describes the initial nodal displacements when element has been casted. | |
| Protected Attributes inherited from oofem::Element | |
| int | numberOfDofMans |
| Number of dofmanagers. | |
| IntArray | dofManArray |
| Array containing dofmanager numbers. | |
| int | material |
| Number of associated material. | |
| int | crossSection |
| Number of associated cross section. | |
| IntArray | bodyLoadArray |
| IntArray | boundaryLoadArray |
| std::vector< std ::unique_ptr< IntegrationRule > > | integrationRulesArray |
| FloatMatrix | elemLocalCS |
| Transformation material matrix, used in orthotropic and anisotropic materials, global->local transformation. | |
| int | activityTimeFunction |
| Element activity time function. If defined, nonzero value indicates active receiver, zero value inactive element. | |
| int | globalNumber |
| int | numberOfGaussPoints |
| elementParallelMode | parallel_mode |
| Determines the parallel mode of the element. | |
| IntArray | partitions |
| IntArray | globalEdgeIDs |
| IntArray | globalSurfaceIDs |
| Protected Attributes inherited from oofem::FEMComponent | |
| int | number |
| Component number. | |
| Domain * | domain |
| Link to domain object, useful for communicating with other FEM components. | |
Static Protected Attributes | |
| static ParamKey | IPK_Shell7BaseXFEM_CohesiveZoneMaterial |
| Static Protected Attributes inherited from oofem::Shell7Base | |
| static ParamKey | IPK_Shell7Base_recoverStress |
| static FEI3dTrQuad | interpolationForCZExport |
| static FEI3dWedgeQuad | interpolationForExport |
| Static Protected Attributes inherited from oofem::NLStructuralElement | |
| static ParamKey | IPK_NLStructuralElement_nlgeoflag |
| Static Protected Attributes inherited from oofem::XfemElementInterface | |
| static ParamKey | IPK_XfemElementInterface_CohesiveZoneMaterial |
| static ParamKey | IPK_XfemElementInterface_NumIntPointsCZ |
| static ParamKey | IPK_XfemElementInterface_PlaneStrain |
Private Member Functions | |
| void | jump (FloatMatrix lambda, FloatArray deltaUnknowns) |
Definition at line 63 of file shell7basexfem.h.
| oofem::Shell7BaseXFEM::Shell7BaseXFEM | ( | int | n, |
| Domain * | d ) |
Definition at line 64 of file shell7basexfem.C.
References oofem::Shell7Base::Shell7Base(), and oofem::XfemElementInterface::XfemElementInterface().
Referenced by computeFailureCriteriaQuantities(), and oofem::Tr2Shell7XFEM::Tr2Shell7XFEM().
|
overridevirtual |
Performs consistency check. This method is called at startup for all elements in particular domain. This method is intended to check data compatibility. Particular element types should test if compatible material and crossSection both with required capabilities are specified. Derived classes should provide their own analysis specific tests. Some printed input if incompatibility is found should be provided (error or warning member functions). Method can be also used to initialize some variables, since this is invoked after all domain components are instanciated.
Reimplemented from oofem::Shell7Base.
Definition at line 69 of file shell7basexfem.C.
|
overrideprotectedvirtual |
Computes the contribution of the given load at the given boundary edge. In general, the answer should include only relevant DOFs at the edge. The related is giveBoundaryLocationArray method, which should return corresponding code numbers..
| answer | Requested contribution of load (in Global c.s.). |
| load | Load to compute contribution from. |
| edge | Edge number. |
| type | Type of the contribution. |
| mode | Determines mode of answer. |
| tStep | Time step when answer is computed. |
| global | if true (default) then contribution is in global c.s., when false then contribution is in element local c.s. |
Reimplemented from oofem::Shell7Base.
Definition at line 1450 of file shell7basexfem.C.
References oofem::FloatArray::assemble(), oofem::FloatArray::at(), oofem::FloatArray::beSubArrayOf(), oofem::FloatArray::clear(), computeEnrTractionForce(), oofem::Shell7Base::computeNumberOfDofs(), computeOrderingArray(), oofem::BoundaryLoad::computeValueAt(), oofem::EnrichmentItem::isElementEnriched(), OOFEM_ERROR, oofem::FloatArray::resize(), xMan, and oofem::FloatArray::zero().
|
protected |
Definition at line 599 of file shell7basexfem.C.
References oofem::FloatArray::add(), oofem::FloatArray::assemble(), oofem::FloatArray::at(), oofem::FloatMatrix::beLocalCoordSys(), oofem::FloatArray::beProductOf(), oofem::FloatMatrix::beProductOf(), oofem::FloatArray::beTProductOf(), oofem::Shell7Base::computeAreaAround(), oofem::Shell7Base::computeBmatrixAt(), computeCohesiveNmatrixAt(), oofem::Shell7Base::computeFAt(), computeInterfaceJumpAt(), computeLambdaNMatrixDis(), czIntegrationRulesArray, oofem::Shell7Base::evalInitialCovarNormalAt(), oofem::Delamination::giveDelamInterfaceNum(), oofem::Delamination::giveDelamXiCoord(), oofem::StructuralInterfaceMaterial::giveFirstPKTraction_3d(), oofem::Shell7Base::giveOrderingDofTypes(), jump(), oofem::Shell7Base::layeredCS, oofem::FloatArray::resize(), oofem::FloatArray::rotatedWith(), oofem::FloatMatrix::rotatedWith(), and oofem::FloatArray::zero().
Referenced by giveInternalForcesVector().
|
protected |
Definition at line 783 of file shell7basexfem.C.
References oofem::FloatArray::at(), computeEnrichedNmatrixAt(), and oofem::FloatMatrix::subtract().
Referenced by computeCohesiveForces(), and computeCohesiveTangentAt().
|
protected |
Definition at line 676 of file shell7basexfem.C.
References activeDofsArrays, oofem::FloatMatrix::assemble(), oofem::FloatMatrix::beSubMatrixOf(), oofem::FloatMatrix::beTranspositionOf(), computeCohesiveTangentAt(), oofem::FEMComponent::giveNumber(), giveNumberOfDofs(), oofem::EnrichmentItem::isElementEnriched(), orderingArrays, oofem::FloatMatrix::resize(), xMan, and oofem::FloatMatrix::zero().
Referenced by computeStiffnessMatrix(), and OLDcomputeStiffnessMatrix().
|
protected |
Definition at line 731 of file shell7basexfem.C.
References oofem::FloatMatrix::add(), oofem::FloatMatrix::assemble(), oofem::Shell7Base::computeAreaAround(), computeCohesiveNmatrixAt(), computeLambdaNMatrixDis(), computeTripleProduct(), czIntegrationRulesArray, oofem::Shell7Base::evalInitialCovarNormalAt(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_dTdj(), oofem::Delamination::giveDelamInterfaceNum(), oofem::Delamination::giveDelamXiCoord(), oofem::Shell7Base::giveGlobalZcoord(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::Shell7Base::layeredCS, oofem::local_cs(), oofem::FloatMatrix::resize(), oofem::unrotate(), and oofem::FloatMatrix::zero().
Referenced by computeCohesiveTangent().
|
protected |
Definition at line 246 of file shell7basexfem.C.
References oofem::FloatArray::beProductOf(), computeDiscSolutionVector(), computeEnrichedBmatrixAt(), and oofem::EnrichmentItem::giveEIDofIdArray().
Referenced by evalCovarBaseVectorsAt().
|
protected |
Definition at line 259 of file shell7basexfem.C.
References oofem::FloatArray::assemble(), oofem::Element::computeVectorOf(), oofem::IntArray::followedBy(), oofem::Shell7Base::giveOrderingNodes(), oofem::FloatArray::giveSize(), oofem::FloatArray::resize(), and oofem::FloatArray::zero().
Referenced by computeDiscGeneralizedStrainVector(), giveInternalForcesVector(), and vtkEvalUpdatedGlobalCoordinateAt().
|
protected |
Definition at line 1723 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::DISC_DOF_SCALE_FAC, oofem::EnrichmentItem::evaluateEnrFuncAt(), EvaluateEnrFuncInDofMan(), evaluateHeavisideXi(), oofem::Shell7Base::fei, oofem::Element::giveDofManager(), oofem::Element::giveDofManArray(), oofem::DofManager::giveGlobalNumber(), oofem::Element::giveNumberOfDofManagers(), oofem::EnrichmentItem::isDofManEnriched(), N, oofem::FloatMatrix::resize(), oofem::FloatArray::resizeWithValues(), oofem::FloatMatrix::times(), and oofem::FloatMatrix::zero().
Referenced by computeDiscGeneralizedStrainVector(), computeStiffnessMatrix(), discComputeBulkTangentMatrix(), discComputeSectionalForces(), giveFailedInterfaceNumber(), giveRecoveredTransverseInterfaceStress(), OLDcomputeStiffnessMatrix(), and recoverShearStress().
|
protected |
Definition at line 1848 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::Shell7Base::computeGlobalCoordinates(), oofem::DISC_DOF_SCALE_FAC, oofem::EnrichmentItem::evaluateEnrFuncAt(), EvaluateEnrFuncInDofMan(), evaluateHeavisideXi(), oofem::Shell7Base::fei, oofem::Element::giveDofManager(), oofem::Element::giveDofManArray(), oofem::Element::giveNumberOfDofManagers(), oofem::EnrichmentItem::isDofManEnriched(), N, oofem::FloatMatrix::resize(), oofem::FloatMatrix::times(), and oofem::FloatMatrix::zero().
Referenced by computeCohesiveNmatrixAt(), computeEnrTractionForce(), and giveDisUnknownsAt().
|
protected |
Definition at line 1501 of file shell7basexfem.C.
References oofem::FloatArray::add(), oofem::FloatArray::assemble(), oofem::FloatArray::at(), oofem::FloatArray::beTProductOf(), oofem::FloatMatrix::beTranspositionOf(), computeEnrichedNmatrixAt(), oofem::BoundaryLoad::computeValueAt(), edgeComputeEnrichedNmatrixAt(), oofem::Shell7Base::edgeComputeLengthAround(), edgeEvalEnrCovarBaseVectorsAt(), oofem::Shell7Base::fei, oofem::BoundaryLoad::giveApproxOrder(), oofem::BoundaryLoad::giveCoordSystMode(), oofem::Shell7Base::giveEdgeDofMapping(), oofem::Element::giveInterpolation(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::FloatArray::giveSize(), N, oofem::Element::numberOfGaussPoints, OOFEM_ERROR, oofem::FloatArray::plusProduct(), oofem::FloatArray::printYourself(), oofem::FloatArray::resize(), oofem::GaussIntegrationRule::SetUpPointsOnLine(), oofem::transpose(), and oofem::FloatArray::zero().
Referenced by computeBoundaryEdgeLoadVector().
|
overrideprotectedvirtual |
Reimplemented from oofem::FailureModuleElementInterface.
Definition at line 96 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::IntArray::at(), oofem::FailureCriteriaStatus::el, oofem::FEMComponent::giveDomain(), oofem::ConnectivityTable::giveElementNeighbourList(), giveMaxCZDamages(), oofem::FEMComponent::giveNumber(), oofem::IntArray::giveSize(), oofem::Shell7Base::layeredCS, oofem::FailureCriteriaStatus::quantities, and Shell7BaseXFEM().
|
protected |
Definition at line 271 of file shell7basexfem.C.
References oofem::FloatArrayF< N >::at(), and vtkEvalUpdatedGlobalCoordinateAt().
Referenced by computeCohesiveForces(), giveRecoveredTransverseInterfaceStress(), and recoverShearStress().
|
protected |
Definition at line 1232 of file shell7basexfem.C.
Referenced by computePressureTangentMatrixDis(), computeSectionalForcesAt(), discComputeBulkTangentMatrix(), and discComputeStiffness().
|
protected |
Definition at line 1258 of file shell7basexfem.C.
References oofem::FloatMatrixF< N, M >::at().
Referenced by computeCohesiveForces(), computeCohesiveTangentAt(), and computePressureTangentMatrixDis().
|
overrideprotectedvirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 1329 of file shell7basexfem.C.
References oofem::FloatMatrix::add(), oofem::FloatMatrix::assemble(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatMatrix::beTranspositionOf(), oofem::Shell7Base::computeNmatrixAt(), computeTripleProduct(), oofem::Shell7Base::computeVolumeAroundLayer(), oofem::FEMComponent::domain, oofem::FloatArray::dotProduct(), oofem::Material::give(), oofem::Element::giveCrossSection(), oofem::Shell7Base::giveGlobalZcoord(), giveNumberOfDofs(), oofem::Shell7Base::giveUnknownsAt(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::Element::integrationRulesArray, oofem::Shell7Base::layeredCS, N, oofem::FloatMatrix::resize(), oofem::FloatMatrix::symmetrized(), and oofem::FloatMatrix::zero().
|
protected |
Definition at line 315 of file shell7basexfem.C.
References oofem::IntArray::at(), oofem::DofManager::begin(), oofem::IntArray::clear(), oofem::DofManager::findDofWithDofId(), oofem::Element::giveDofManager(), giveDofManDofIDMask(), oofem::EnrichmentItem::giveEIDofIdArray(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::IntArray::giveSize(), oofem::EnrichmentItem::isDofManEnriched(), oofem::Element::numberOfDofMans, and oofem::IntArray::resize().
Referenced by computeBoundaryEdgeLoadVector(), computeStiffnessMatrix(), giveInternalForcesVector(), OLDcomputeStiffnessMatrix(), and postInitialize().
|
protected |
Definition at line 1272 of file shell7basexfem.C.
References oofem::FloatMatrix::assemble(), oofem::FloatArray::at(), oofem::FloatArrayF< N >::at(), oofem::FloatArray::beProductOf(), oofem::Shell7Base::computeBmatrixAt(), oofem::Shell7Base::computeLambdaGMatrices(), computeLambdaGMatricesDis(), oofem::Shell7Base::computeLambdaNMatrix(), computeLambdaNMatrixDis(), oofem::Shell7Base::computeNmatrixAt(), computeTripleProduct(), oofem::Load::computeValueAt(), oofem::dot(), evalCovarBaseVectorsAt(), oofem::Shell7Base::giveAxialMatrix(), oofem::Shell7Base::giveGlobalZcoord(), oofem::ConstantPressureLoad::giveLoadOffset(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::Shell7Base::giveUpdatedSolutionVector(), N, oofem::FloatMatrix::resize(), oofem::Tdot(), and oofem::FloatMatrix::zero().
Referenced by computeStiffnessMatrix(), and OLDcomputeStiffnessMatrix().
|
protected |
Definition at line 456 of file shell7basexfem.C.
References computeLambdaGMatricesDis(), oofem::Shell7Base::computeStressMatrix(), oofem::dot(), oofem::Shell7Base::evalInitialContravarBaseVectorsAt(), oofem::GaussPoint::giveNaturalCoordinates(), and oofem::FloatArray::plusProduct().
Referenced by discComputeSectionalForces().
|
overrideprotectedvirtual |
Computes the stiffness matrix of receiver. The response is evaluated using \( \int B_{\mathrm{H}}^{\mathrm{T}} D B_{\mathrm{H}} \;\mathrm{d}v \), where \( B_{\mathrm{H}} \) is the B-matrix which produces the displacement gradient vector \( H_{\mathrm{V}} \) when multiplied with the solution vector a. Reduced integration are taken into account.
| answer | Computed stiffness matrix. |
| rMode | Response mode. |
| tStep | Time step. |
Reimplemented from oofem::Shell7Base.
Definition at line 803 of file shell7basexfem.C.
References activeDofsArrays, oofem::FloatMatrix::add(), oofem::FloatMatrix::assemble(), oofem::FloatMatrix::beProductOf(), oofem::FloatMatrix::beSubMatrixOf(), oofem::FloatMatrix::beTranspositionOf(), oofem::Element::boundaryLoadArray, oofem::FloatMatrix::clear(), computeCohesiveTangent(), computeEnrichedBmatrixAt(), computeOrderingArray(), computePressureTangentMatrixDis(), oofem::Shell7Base::computeVolumeAroundLayer(), oofem::DISC_DOF_SCALE_FAC, discComputeStiffness(), oofem::FEMComponent::domain, oofem::Delamination::evaluateEnrFuncAt(), oofem::Delamination::giveDelamXiCoord(), giveNumberOfDofs(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::Element::integrationRulesArray, oofem::EnrichmentItem::isElementEnriched(), oofem::Shell7Base::layeredCS, OLDcomputeStiffnessMatrix(), orderingArrays, oofem::FloatMatrix::plusProductSymmUpper(), oofem::FloatMatrix::plusProductUnsym(), oofem::FloatMatrix::resize(), oofem::FloatMatrix::symmetrized(), oofem::FloatMatrix::times(), xMan, and oofem::FloatMatrix::zero().
|
protected |
Definition at line 2871 of file shell7basexfem.C.
References oofem::FloatMatrix::beProductOf(), and oofem::FloatMatrix::beTProductOf().
Referenced by computeCohesiveTangentAt(), computeMassMatrixNum(), computePressureTangentMatrixDis(), and discComputeBulkTangentMatrix().
|
protectedvirtual |
Definition at line 1158 of file shell7basexfem.C.
References oofem::FloatMatrix::assemble(), oofem::FloatArray::beProductOf(), oofem::FloatMatrix::beProductOf(), computeEnrichedBmatrixAt(), oofem::Shell7Base::computeLambdaGMatrices(), computeLambdaGMatricesDis(), computeTripleProduct(), oofem::Shell7Base::computeVolumeAroundLayer(), oofem::Shell7Base::giveGlobalZcoord(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::FEMComponent::giveNumber(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::FloatMatrix::plusProductSymmUpper(), oofem::FloatMatrix::resize(), oofem::FloatMatrix::symmetrized(), and oofem::FloatMatrix::zero().
Referenced by OLDcomputeStiffnessMatrix().
|
protected |
Definition at line 421 of file shell7basexfem.C.
References oofem::FloatArray::assemble(), oofem::FloatArray::beProductOf(), oofem::FloatArray::beTProductOf(), computeEnrichedBmatrixAt(), computeSectionalForcesAt(), oofem::Shell7Base::computeVolumeAroundLayer(), oofem::FEMComponent::domain, oofem::Shell7Base::giveGlobalZcoord(), oofem::Shell7Base::giveOrderingDofTypes(), oofem::Element::integrationRulesArray, oofem::Shell7Base::layeredCS, oofem::FloatArray::resize(), oofem::FloatArray::zero(), and oofem::FloatMatrix::zero().
Referenced by giveInternalForcesVector().
|
protectedvirtual |
Definition at line 968 of file shell7basexfem.C.
References oofem::FloatMatrix::addProductOf(), oofem::FloatArray::beProductOf(), oofem::FloatMatrix::clear(), oofem::Shell7Base::computeLambdaGMatrices(), computeLambdaGMatricesDis(), oofem::Shell7Base::giveGlobalZcoord(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::FloatMatrix::plusProductSymmUpper(), oofem::FloatMatrix::plusProductUnsym(), oofem::FloatMatrix::symmetrized(), and oofem::FloatMatrix::zero().
Referenced by computeStiffnessMatrix().
|
protected |
|
protected |
Definition at line 1979 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::Shell7Base::computeGlobalCoordinates(), oofem::DISC_DOF_SCALE_FAC, oofem::EnrichmentItem::evaluateEnrFuncAt(), EvaluateEnrFuncInDofMan(), evaluateHeavisideXi(), oofem::Shell7Base::fei, oofem::Element::giveDofManager(), oofem::Element::giveDofManArray(), oofem::Shell7Base::giveNumberOfEdgeDofManagers(), oofem::Shell7Base::giveNumberOfEdgeDofs(), N, oofem::FloatMatrix::resize(), oofem::FloatMatrix::times(), and oofem::FloatMatrix::zero().
Referenced by edgeEvalEnrCovarBaseVectorsAt().
|
protected |
Definition at line 1909 of file shell7basexfem.C.
References oofem::FloatMatrix::at(), oofem::Element::computeLocalCoordinates(), oofem::DISC_DOF_SCALE_FAC, oofem::EnrichmentItem::evaluateEnrFuncAt(), EvaluateEnrFuncInDofMan(), evaluateHeavisideXi(), oofem::Shell7Base::fei, oofem::Element::giveDofManager(), oofem::Element::giveDofManArray(), oofem::Shell7Base::giveNumberOfEdgeDofManagers(), oofem::Shell7Base::giveNumberOfEdgeDofs(), N, oofem::FloatMatrix::resize(), oofem::FloatArray::resizeWithValues(), oofem::FloatMatrix::times(), and oofem::FloatMatrix::zero().
Referenced by computeEnrTractionForce().
|
protected |
Definition at line 1622 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatArrayF< N >::at(), oofem::FloatArray::beProductOf(), oofem::cross(), edgeComputeEnrichedBmatrixAt(), edgeGiveUpdatedSolutionVector(), oofem::FloatMatrixF< N, M >::fromColumns(), and oofem::normalize().
Referenced by computeEnrTractionForce().
|
overrideprotectedvirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 307 of file shell7basexfem.C.
References oofem::DISC_DOF_SCALE_FAC, and oofem::FloatArray::times().
Referenced by edgeEvalEnrCovarBaseVectorsAt().
|
inline |
Definition at line 173 of file shell7basexfem.h.
References giveClassName().
|
overrideprotectedvirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 224 of file shell7basexfem.C.
References computeDiscGeneralizedStrainVector(), oofem::EnrichmentItem::isElementEnriched(), and xMan.
Referenced by computePressureTangentMatrixDis().
|
protected |
Definition at line 554 of file shell7basexfem.C.
Referenced by evaluateHeavisideXi(), and evaluateHeavisideXi().
|
protected |
Definition at line 1816 of file shell7basexfem.C.
References oofem::Element::computeLocalCoordinates(), oofem::EnrichmentItem::evalLevelSetNormalInNode(), oofem::EnrichmentItem::evaluateEnrFuncAt(), oofem::DofManager::giveCoordinates(), oofem::Element::giveDofManager(), oofem::DofManager::giveGlobalNumber(), oofem::EnrichmentItem::isDofManEnriched(), and oofem::FloatArray::resizeWithValues().
Referenced by computeEnrichedBmatrixAt(), computeEnrichedNmatrixAt(), edgeComputeEnrichedBmatrixAt(), and edgeComputeEnrichedNmatrixAt().
|
protected |
Definition at line 544 of file shell7basexfem.C.
References evaluateCutHeaviside(), oofem::Delamination::giveBoundingDelamXiCoord(), and oofem::Delamination::giveDelamXiCoord().
|
protected |
Definition at line 534 of file shell7basexfem.C.
References evaluateCutHeaviside(), oofem::ShellCrack::xiBottom, and oofem::ShellCrack::xiTop.
Referenced by computeEnrichedBmatrixAt(), computeEnrichedNmatrixAt(), edgeComputeEnrichedBmatrixAt(), edgeComputeEnrichedNmatrixAt(), and oofem::Tr2Shell7XFEM::updateIntegrationRuleMultiCrack().
|
protected |
Definition at line 481 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::Shell7Base::fei, oofem::Element::giveDofManArray(), oofem::HybridEI::interpLevelSet(), N, and OOFEM_ERROR.
Referenced by giveCZExportData(), and giveShellExportData().
| void oofem::Shell7BaseXFEM::giveAverageTransverseInterfaceStress | ( | std::vector< FloatMatrix > & | transverseStress, |
| TimeStep * | tStep ) |
TODO generalise this;
Definition at line 3298 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::Shell7Base::giveIPValue(), oofem::Element::integrationRulesArray, oofem::Shell7Base::layeredCS, and oofem::Shell7Base::numInPlaneIP.
Referenced by giveFailedInterfaceNumber().
|
inlineoverrideprotectedvirtual |
Returns the location array for the boundary of the element. Only takes into account nodes in the bNodes vector.
Reimplemented from oofem::Element.
Definition at line 120 of file shell7basexfem.h.
References oofem::Element::giveLocationArray().
|
inlineoverridevirtual |
Reimplemented from oofem::Shell7Base.
Reimplemented in oofem::Tr2Shell7XFEM.
Definition at line 172 of file shell7basexfem.h.
Referenced by errorInfo().
|
overrideprotectedvirtual |
Reimplemented from oofem::VTKXMLExportModuleElementInterface.
Definition at line 2139 of file shell7basexfem.C.
References giveCZExportData().
|
overrideprotectedvirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 2130 of file shell7basexfem.C.
References giveShellExportData().
|
protected |
Definition at line 2606 of file shell7basexfem.C.
References allTri, oofem::FloatArray::at(), oofem::IntArray::at(), oofem::FloatArray::beColumnOf(), oofem::VTKBaseExportModule::computeIPAverage(), oofem::Shell7Base::convV6ToV9Stress(), oofem::EnrichmentItem::evalLevelSetTangInNode(), oofem::EnrichmentItem::evalNodeEnrMarkerInNode(), evaluateLevelSet(), oofem::XfemManager::giveEnrichmentItem(), giveFictiousCZNodeCoordsForExport(), giveFictiousUpdatedCZNodeCoordsForExport(), oofem::giveInternalStateValueType(), giveLocalNodeCoordsForExport(), oofem::Element::giveNode(), oofem::FEMComponent::giveNumber(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::IntArray::giveSize(), oofem::Element::integrationRulesArray, interpolationForExport, oofem::ISVT_TENSOR_S3, oofem::Shell7Base::layeredCS, mapXi3FromLocalToShell(), oofem::Shell7Base::NodalRecoveryMI_recoverValues(), recoverValuesFromCZIP(), oofem::FloatArray::resize(), oofem::ExportRegion::setCellType(), oofem::ExportRegion::setCellVar(), oofem::ExportRegion::setConnectivity(), oofem::ExportRegion::setInternalVarInNode(), oofem::ExportRegion::setInternalXFEMVarInNode(), oofem::ExportRegion::setNodeCoords(), oofem::ExportRegion::setNumberOfCells(), oofem::ExportRegion::setNumberOfCellVarsToExport(), oofem::ExportRegion::setNumberOfInternalVarsToExport(), oofem::ExportRegion::setNumberOfInternalXFEMVarsToExport(), oofem::ExportRegion::setNumberOfNodes(), oofem::ExportRegion::setNumberOfPrimaryVarsToExport(), oofem::ExportRegion::setOffset(), oofem::ExportRegion::setPrimaryVarInNode(), oofem::XfemManager::vtkExportFields, and xMan.
Referenced by giveCompositeExportData().
|
protected |
Definition at line 2116 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatArray::beProductOf(), and computeEnrichedNmatrixAt().
Referenced by vtkEvalUpdatedGlobalCoordinateAt().
|
overridevirtual |
Returns dofmanager dof mask for node. This mask defines the dofs which are used by element in node. Mask influences the code number ordering for particular node. Code numbers are ordered according to node order and dofs belonging to particular node are ordered according to this mask. If element requests dofs using node mask which are not in node then error is generated. This masking allows node to be shared by different elements with different dofs in same node. Elements local code numbers are extracted from node using this mask. Must be defined by particular element.
| inode | Mask is computed for local dofmanager with inode number. |
| answer | Mask for node. |
Reimplemented from oofem::Shell7Base.
Definition at line 202 of file shell7basexfem.C.
References oofem::IntArray::followedBy(), oofem::Element::giveDofManager(), oofem::FEMComponent::giveDomain(), oofem::EnrichmentItem::giveEIDofIdArray(), oofem::EnrichmentItem::isDofManEnriched(), and xMan.
Referenced by computeOrderingArray().
| void oofem::Shell7BaseXFEM::giveFailedInterfaceNumber | ( | IntArray & | failedInterfaces, |
| FloatArray & | initiationFactor, | ||
| TimeStep * | tStep, | ||
| bool | recoverStresses = true ) |
TODO: add general failure criterion.
Definition at line 3166 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::FloatArray::beColumnOf(), oofem::FloatMatrix::beLocalCoordSys(), oofem::FloatArray::beProductOf(), oofem::IntArray::clear(), computeEnrichedBmatrixAt(), czIntegrationRulesArray, DelaminatedInterfaceList, oofem::Shell7Base::evalCovarNormalAt(), oofem::IntArray::followedBy(), giveAverageTransverseInterfaceStress(), oofem::Element::giveGlobalNumber(), oofem::StructuralInterfaceMaterial::giveInterfaceStrength(), oofem::Shell7Base::giveLayeredCS(), oofem::GaussPoint::giveNaturalCoordinate(), giveRecoveredTransverseInterfaceStress(), oofem::FloatArray::giveSize(), oofem::IntArray::giveSize(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::Shell7Base::layeredCS, N, OOFEM_ERROR, oofem::FloatArray::resize(), oofem::FloatArray::rotatedWith(), and oofem::FloatArray::times().
|
protected |
Definition at line 2395 of file shell7basexfem.C.
References oofem::FloatArray::beColumnOf(), giveLocalCZNodeCoordsForExport(), oofem::FloatMatrix::giveNumberOfColumns(), and oofem::Shell7Base::vtkEvalInitialGlobalCZCoordinateAt().
Referenced by giveCZExportData().
|
protected |
Definition at line 2368 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatArray::beColumnOf(), giveLocalNodeCoordsForExport(), oofem::FloatMatrix::giveNumberOfColumns(), and oofem::Shell7Base::vtkEvalInitialGlobalCoordinateAt().
Referenced by giveShellExportData().
|
protected |
Definition at line 2449 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatArray::beColumnOf(), giveLocalCZNodeCoordsForExport(), oofem::FloatMatrix::giveNumberOfColumns(), interpolationForCZExport, oofem::Shell7Base::layeredCS, and vtkEvalUpdatedGlobalCoordinateAt().
Referenced by giveCZExportData().
|
protected |
Definition at line 2415 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatArray::beColumnOf(), giveLocalNodeCoordsForExport(), oofem::FloatMatrix::giveNumberOfColumns(), interpolationForExport, oofem::Shell7Base::layeredCS, and vtkEvalUpdatedGlobalCoordinateAt().
Referenced by giveShellExportData().
|
overridevirtual |
Interface requesting service.
Reimplemented from oofem::Shell7Base.
Definition at line 189 of file shell7basexfem.C.
References oofem::XfemElementInterface::XfemElementInterface(), and oofem::XfemElementInterfaceType.
|
overrideprotectedvirtual |
Evaluates nodal representation of real internal forces. Necessary transformations are taken into account.
| answer | Equivalent nodal forces vector. |
| tStep | Time step |
| useUpdatedGpRecord | If equal to zero, the stresses in integration points are computed (slow but safe). |
Reimplemented from oofem::Shell7Base.
Definition at line 369 of file shell7basexfem.C.
References activeDofsArrays, oofem::FloatArray::assemble(), oofem::FloatArray::beSubArrayOf(), computeCohesiveForces(), computeDiscSolutionVector(), computeOrderingArray(), oofem::Shell7Base::computeSectionalForces(), discComputeSectionalForces(), oofem::EnrichmentItem::giveEIDofIdArray(), giveNumberOfDofs(), oofem::Shell7Base::giveUpdatedSolutionVector(), hasCohesiveZone(), oofem::EnrichmentItem::isElementEnriched(), orderingArrays, oofem::FloatArray::resize(), xMan, and oofem::FloatArray::zero().
|
protected |
Definition at line 2556 of file shell7basexfem.C.
References allTri, oofem::FloatArray::at(), oofem::FloatMatrix::beTranspositionOf(), oofem::Element::computeLocalCoordinates(), and oofem::FloatMatrix::fromCols().
Referenced by giveFictiousCZNodeCoordsForExport(), and giveFictiousUpdatedCZNodeCoordsForExport().
|
protected |
Definition at line 2501 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::FloatMatrix::beTranspositionOf(), oofem::Element::computeLocalCoordinates(), crackSubdivisions, and oofem::FloatMatrix::fromCols().
Referenced by giveCZExportData(), giveFictiousNodeCoordsForExport(), giveFictiousUpdatedNodeCoordsForExport(), and giveShellExportData().
| void oofem::Shell7BaseXFEM::giveMaxCZDamages | ( | FloatArray & | answer, |
| TimeStep * | tStep ) |
Definition at line 569 of file shell7basexfem.C.
References oofem::FloatArray::at(), czIntegrationRulesArray, oofem::StructuralInterfaceMaterial::giveIPValue(), hasCohesiveZone(), oofem::Shell7Base::layeredCS, oofem::max(), and oofem::FloatArray::resize().
Referenced by computeFailureCriteriaQuantities().
|
overridevirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 285 of file shell7basexfem.C.
References oofem::Element::giveDofManager(), oofem::EnrichmentItem::giveEIDofIdArray(), oofem::Element::giveNumberOfDofManagers(), oofem::IntArray::giveSize(), oofem::EnrichmentItem::isDofManEnriched(), and xMan.
Referenced by computeCohesiveTangent(), computeMassMatrixNum(), computeStiffnessMatrix(), giveInternalForcesVector(), and OLDcomputeStiffnessMatrix().
|
overridevirtual |
TODO generalise this
Reimplemented from oofem::Shell7Base.
Definition at line 3337 of file shell7basexfem.C.
References oofem::FloatMatrix::add(), oofem::FloatArray::at(), oofem::IntArray::at(), oofem::FloatMatrix::beLocalCoordSys(), oofem::FloatArray::beProductOf(), oofem::IntArray::clear(), computeEnrichedBmatrixAt(), oofem::Shell7Base::computeFAt(), computeInterfaceJumpAt(), czIntegrationRulesArray, oofem::Shell7Base::evalCovarNormalAt(), oofem::Shell7Base::evalInitialCovarNormalAt(), oofem::Shell7Base::fitRecoveredStress2BC(), oofem::IntArray::followedBy(), oofem::Delamination::giveDelamInterfaceNum(), oofem::Delamination::giveDelamXiCoord(), oofem::StructuralInterfaceMaterial::giveFirstPKTraction_3d(), oofem::Element::giveGlobalNumber(), oofem::Shell7Base::giveLayerContributionToSR(), oofem::IntArray::giveSize(), oofem::Material::giveStatus(), oofem::StructuralInterfaceMaterialStatus::giveTempFirstPKTraction(), oofem::Shell7Base::giveTractionBC(), oofem::Shell7Base::giveUpdatedSolutionVector(), hasCohesiveZone(), oofem::EnrichmentItem::isElementEnriched(), jump(), oofem::Shell7Base::layeredCS, oofem::Shell7Base::numInPlaneIP, OOFEM_ERROR, oofem::FloatMatrix::resize(), oofem::FloatArray::rotatedWith(), oofem::FloatMatrix::rotatedWith(), oofem::IntArray::sort(), xMan, and oofem::FloatArray::zero().
Referenced by giveFailedInterfaceNumber().
|
overrideprotectedvirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 2146 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::IntArray::at(), oofem::FloatArray::beColumnOf(), oofem::Shell7Base::convV6ToV9Stress(), oofem::EnrichmentItem::evalLevelSetTangInNode(), oofem::EnrichmentItem::evalNodeEnrMarkerInNode(), evaluateLevelSet(), oofem::DofManager::giveCoordinates(), oofem::XfemManager::giveEnrichmentItem(), giveFictiousNodeCoordsForExport(), giveFictiousUpdatedNodeCoordsForExport(), oofem::giveInternalStateValueType(), giveLocalNodeCoordsForExport(), oofem::Element::giveNode(), oofem::FEMComponent::giveNumber(), oofem::XfemManager::giveNumberOfEnrichmentItems(), oofem::IntArray::giveSize(), oofem::Element::integrationRulesArray, interpolationForExport, oofem::ISVT_TENSOR_S3, oofem::Shell7Base::layeredCS, mapXi3FromLocalToShell(), oofem::Shell7Base::NodalRecoveryMI_recoverValues(), numSubDivisionsArray, oofem::Shell7Base::recoverValuesFromIP(), oofem::FloatArray::resize(), oofem::ExportRegion::setCellType(), oofem::ExportRegion::setCellVar(), oofem::ExportRegion::setConnectivity(), oofem::ExportRegion::setInternalVarInNode(), oofem::ExportRegion::setInternalXFEMVarInNode(), oofem::ExportRegion::setNodeCoords(), oofem::ExportRegion::setNumberOfCells(), oofem::ExportRegion::setNumberOfCellVarsToExport(), oofem::ExportRegion::setNumberOfInternalVarsToExport(), oofem::ExportRegion::setNumberOfInternalXFEMVarsToExport(), oofem::ExportRegion::setNumberOfNodes(), oofem::ExportRegion::setNumberOfPrimaryVarsToExport(), oofem::ExportRegion::setOffset(), oofem::ExportRegion::setPrimaryVarInNode(), oofem::FloatArray::subtract(), oofem::XfemManager::vtkExportFields, and xMan.
Referenced by giveCompositeExportData().
| bool oofem::Shell7BaseXFEM::hasCohesiveZone | ( | int | interfaceNum | ) |
Definition at line 179 of file shell7basexfem.C.
References oofem::Shell7Base::layeredCS.
Referenced by giveInternalForcesVector(), giveMaxCZDamages(), giveRecoveredTransverseInterfaceStress(), recoverShearStress(), and updateYourself().
|
overridevirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 169 of file shell7basexfem.C.
References _IFT_Shell7BaseXFEM_CohesiveZoneMaterial, oofem::InputRecord::hasField(), and OOFEM_ERROR.
|
private |
Referenced by computeCohesiveForces(), giveRecoveredTransverseInterfaceStress(), and recoverShearStress().
|
protected |
Definition at line 2483 of file shell7basexfem.C.
References oofem::FloatArray::at(), oofem::Shell7Base::layeredCS, and oofem::FloatArray::resize().
Referenced by giveCZExportData(), and giveShellExportData().
|
protectedvirtual |
Definition at line 1006 of file shell7basexfem.C.
References activeDofsArrays, oofem::FloatMatrix::add(), oofem::FloatMatrix::assemble(), oofem::FloatMatrix::beSubMatrixOf(), oofem::FloatMatrix::beTranspositionOf(), oofem::Element::boundaryLoadArray, computeCohesiveTangent(), computeEnrichedBmatrixAt(), computeOrderingArray(), computePressureTangentMatrixDis(), oofem::DISC_DOF_SCALE_FAC, discComputeBulkTangentMatrix(), oofem::FEMComponent::domain, oofem::Delamination::evaluateEnrFuncAt(), oofem::Delamination::giveDelamXiCoord(), giveNumberOfDofs(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::Element::integrationRulesArray, oofem::EnrichmentItem::isElementEnriched(), oofem::Shell7Base::layeredCS, orderingArrays, oofem::FloatMatrix::resize(), oofem::FloatMatrix::times(), xMan, and oofem::FloatMatrix::zero().
Referenced by computeStiffnessMatrix().
|
overrideprotectedvirtual |
Performs post initialization steps.
Reimplemented from oofem::Shell7Base.
Definition at line 76 of file shell7basexfem.C.
References activeDofsArrays, computeOrderingArray(), oofem::FEMComponent::giveDomain(), oofem::EnrichmentItem::isElementEnriched(), orderingArrays, and xMan.
|
overrideprotectedvirtual |
TODO generalise this
Reimplemented from oofem::Shell7Base.
Definition at line 2881 of file shell7basexfem.C.
References oofem::FloatMatrix::add(), oofem::FloatArray::at(), oofem::FloatMatrix::at(), oofem::IntArray::at(), oofem::FloatMatrix::beLocalCoordSys(), oofem::FloatArray::beProductOf(), oofem::IntArray::clear(), computeEnrichedBmatrixAt(), oofem::Shell7Base::computeFAt(), computeInterfaceJumpAt(), czIntegrationRulesArray, oofem::Shell7Base::evalCovarNormalAt(), oofem::Shell7Base::evalInitialCovarNormalAt(), oofem::Shell7Base::fitRecoveredStress2BC(), oofem::IntArray::followedBy(), oofem::Delamination::giveDelamInterfaceNum(), oofem::Delamination::giveDelamXiCoord(), oofem::StructuralInterfaceMaterialStatus::giveFirstPKTraction(), oofem::StructuralInterfaceMaterial::giveFirstPKTraction_3d(), oofem::Element::giveGlobalNumber(), oofem::Shell7Base::giveLayerContributionToSR(), oofem::IntArray::giveSize(), oofem::Material::giveStatus(), oofem::StructuralInterfaceMaterialStatus::giveTempFirstPKTraction(), oofem::Shell7Base::giveTractionBC(), oofem::Shell7Base::giveUpdatedSolutionVector(), hasCohesiveZone(), oofem::EnrichmentItem::isElementEnriched(), jump(), oofem::Shell7Base::layeredCS, oofem::Shell7Base::numInPlaneIP, OOFEM_ERROR, oofem::FloatArray::printYourself(), oofem::FloatMatrix::printYourself(), oofem::FloatMatrix::resize(), oofem::FloatArray::rotatedWith(), oofem::FloatMatrix::rotatedWith(), oofem::IntArray::sort(), oofem::Shell7Base::updateLayerTransvStressesSR(), xMan, oofem::FloatArray::zero(), and oofem::FloatMatrix::zero().
|
protected |
Definition at line 2813 of file shell7basexfem.C.
References oofem::IntArray::at(), oofem::FloatArray::beColumnOf(), oofem::Shell7Base::convV6ToV9Stress(), czIntegrationRulesArray, oofem::distance(), oofem::giveInternalStateTypeSize(), oofem::giveInternalStateValueType(), oofem::GaussPoint::giveNaturalCoordinates(), oofem::FloatMatrix::giveNumberOfColumns(), oofem::FloatArray::giveSize(), interpolationForCZExport, oofem::ISVT_TENSOR_S3, oofem::Shell7Base::layeredCS, and oofem::FloatArray::resize().
Referenced by giveCZExportData().
|
overrideprotectedvirtual |
Updates element state after equilibrium in time step has been reached. Default implementation updates all integration rules defined by integrationRulesArray member variable. Doing this, all integration points and their material statuses are updated also. All temporary history variables, which now describe equilibrium state are copied into equilibrium ones. The existing internal state is used for update.
| tStep | Time step for newly reached state. |
Reimplemented from oofem::Element.
Definition at line 663 of file shell7basexfem.C.
References czIntegrationRulesArray, hasCohesiveZone(), and oofem::Shell7Base::layeredCS.
|
overrideprotectedvirtual |
Reimplemented from oofem::Shell7Base.
Definition at line 2079 of file shell7basexfem.C.
References computeDiscSolutionVector(), giveDisUnknownsAt(), oofem::EnrichmentItem::giveEIDofIdArray(), oofem::Shell7Base::giveGlobalZcoord(), oofem::Shell7Base::giveUpdatedSolutionVector(), oofem::EnrichmentItem::isElementEnriched(), and xMan.
Referenced by computeInterfaceJumpAt(), giveFictiousUpdatedCZNodeCoordsForExport(), and giveFictiousUpdatedNodeCoordsForExport().
|
protected |
Definition at line 160 of file shell7basexfem.h.
Referenced by computeCohesiveTangent(), computeStiffnessMatrix(), giveInternalForcesVector(), OLDcomputeStiffnessMatrix(), and postInitialize().
|
protected |
Definition at line 142 of file shell7basexfem.h.
Referenced by giveCZExportData(), and giveLocalCZNodeCoordsForExport().
|
protected |
Definition at line 144 of file shell7basexfem.h.
Referenced by giveLocalNodeCoordsForExport(), and oofem::Tr2Shell7XFEM::updateIntegrationRuleMultiCrack().
| std :: vector< std :: unique_ptr< IntegrationRule > > oofem::Shell7BaseXFEM::czIntegrationRulesArray |
Definition at line 186 of file shell7basexfem.h.
Referenced by computeCohesiveForces(), computeCohesiveTangentAt(), oofem::Tr2Shell7XFEM::computeGaussPoints(), giveFailedInterfaceNumber(), giveMaxCZDamages(), giveRecoveredTransverseInterfaceStress(), recoverShearStress(), recoverValuesFromCZIP(), oofem::Tr2Shell7XFEM::updateIntegrationRuleMultiCrack(), and updateYourself().
|
protected |
Definition at line 137 of file shell7basexfem.h.
Referenced by giveFailedInterfaceNumber().
|
protected |
Definition at line 156 of file shell7basexfem.h.
Referenced by giveFictiousUpdatedCZNodeCoordsForExport(), and recoverValuesFromCZIP().
|
protected |
Definition at line 157 of file shell7basexfem.h.
Referenced by giveCZExportData(), giveFictiousUpdatedNodeCoordsForExport(), and giveShellExportData().
|
staticprotected |
Definition at line 66 of file shell7basexfem.h.
|
protected |
Definition at line 145 of file shell7basexfem.h.
Referenced by giveShellExportData(), and oofem::Tr2Shell7XFEM::updateIntegrationRuleMultiCrack().
|
protected |
Definition at line 159 of file shell7basexfem.h.
Referenced by computeCohesiveTangent(), computeStiffnessMatrix(), giveInternalForcesVector(), OLDcomputeStiffnessMatrix(), and postInitialize().
|
protected |
Definition at line 68 of file shell7basexfem.h.
Referenced by computeBoundaryEdgeLoadVector(), computeCohesiveTangent(), oofem::Tr2Shell7XFEM::computeGaussPoints(), computeStiffnessMatrix(), evalCovarBaseVectorsAt(), giveCZExportData(), giveDofManDofIDMask(), giveInternalForcesVector(), giveNumberOfDofs(), giveRecoveredTransverseInterfaceStress(), giveShellExportData(), OLDcomputeStiffnessMatrix(), postInitialize(), recoverShearStress(), oofem::Tr2Shell7XFEM::updateIntegrationRuleMultiCrack(), and vtkEvalUpdatedGlobalCoordinateAt().