38 #include "../sm/Elements/structuralelement.h" 40 #include "../sm/ErrorEstimators/zzerrorestimator.h" 41 #include "../sm/Elements/Shells/cct3d.h" 42 #include "../sm/Elements/PlaneStress/trplanrot3d.h" 47 #define _IFT_TR_SHELL01_Name "tr_shell01" 61 std :: unique_ptr< CCTPlate3d >
plate;
84 { plate->giveDofManDofIDMask(inode, answer); }
129 return this->plate->computeGlobalCoordinates(answer, lcoords);
133 return this->plate->computeLocalCoordinates(answer, gcoords);
138 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
140 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
146 this->membrane->computeGaussPoints();
147 this->plate->computeGaussPoints();
150 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
152 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
157 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
159 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
161 {
OOFEM_ERROR(
"calling of this function is not allowed"); }
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The element interface required by NodalAvergagingRecoveryModel.
virtual const char * giveInputRecordName() const
integrationDomain
Used by integrator class to supply integration points for proper domain to be integrated (Area...
virtual void giveCharacteristicMatrix(FloatMatrix &answer, CharType mtrx, TimeStep *tStep)
Computes characteristic matrix of receiver of requested type in given time step.
Element_Geometry_Type
Enumerative type used to classify element geometry Possible values are: EGT_point - point in space EG...
virtual contextIOResultType restoreContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Restores the receiver state previously written in stream.
virtual FEInterpolation * giveInterpolation() const
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &)
Computes interpolation matrix for element unknowns.
The element interface required by ZZNodalRecoveryModel.
virtual int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords)
Computes the global coordinates from given element's local coordinates.
The purpose of DataStream abstract class is to allow to store/restore context to different streams...
virtual void updateYourself(TimeStep *tStep)
Updates element state after equilibrium in time step has been reached.
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
This class implements an triangular three-node shell finite element, composed of cct3d and trplanrot3...
virtual void computeMassMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes mass matrix of receiver.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual bool giveRotationMatrix(FloatMatrix &answer)
Transformation matrices updates rotation matrix between element-local and primary DOFs...
#define _IFT_TR_SHELL01_Name
virtual bool computeLocalCoordinates(FloatArray &answer, const FloatArray &gcoords)
Computes the element local coordinates from given global coordinates.
virtual void computeGaussPoints()
MaterialMode
Type representing material mode of integration point.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
Returns equivalent nodal forces vectors.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
virtual ~TR_SHELL01()
Destructor.
virtual void SpatialLocalizerI_giveBBox(FloatArray &bb0, FloatArray &bb1)
Creates a bounding box of the nodes and checks if it includes the given coordinate.
static IntArray loc_plate
Abstract base class representing integration rule.
virtual void giveDofManDofIDMask(int inode, IntArray &answer) const
Returns dofmanager dof mask for node.
virtual void updateInternalState(TimeStep *tStep)
Updates element state after equilibrium in time step has been reached.
Class representing a general abstraction for finite element interpolation class.
Abstract base class for all "structural" finite elements.
std::unique_ptr< IntegrationRule > compositeIR
Element integraton rule (plate and membrane parts have their own integration rules) this one used to ...
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
virtual integrationDomain giveIntegrationDomain() const
Returns integration domain for receiver, used to initialize integration point over receiver volume...
The element interface corresponding to ZZErrorEstimator.
virtual void computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep)
Computes the stress vector of receiver at given integration point, at time step tStep.
static IntArray loc_membrane
UnknownType
Type representing particular unknown (its physical meaning).
virtual void ZZErrorEstimatorI_computeLocalStress(FloatArray &answer, FloatArray &sig)
Returns stress vector in global c.s.
void updateLocalNumbering(EntityRenumberingFunctor &f)
Local renumbering support.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
TR_SHELL01(int n, Domain *d)
Constructor.
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
virtual Element_Geometry_Type giveGeometryType() const
Returns the element geometry type.
virtual IntegrationRule * ZZErrorEstimatorI_giveIntegrationRule()
Returns element integration rule used to evaluate error.
virtual void giveCharacteristicVector(FloatArray &answer, CharType mtrx, ValueModeType mode, TimeStep *tStep)
Computes characteristic vector of receiver of requested type in given time step.
Class representing vector of real numbers.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void computeBmatrixAt(GaussPoint *, FloatMatrix &, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes numerically stiffness matrix of receiver.
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType type)
std::unique_ptr< CCTPlate3d > plate
Pointer to plate element.
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
virtual void postInitialize()
Performs post initialization steps.
virtual void computeBodyLoadVectorAt(FloatArray &answer, Load *forLoad, TimeStep *tStep, ValueModeType mode)
Computes the load vector due to body load acting on receiver, at given time step. ...
The spatial localizer element interface associated to spatial localizer.
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
long ContextMode
Context mode (mask), defining the type of information written/read to/from context.
virtual const char * giveClassName() const
virtual contextIOResultType saveContext(DataStream &stream, ContextMode mode, void *obj=NULL)
Stores receiver state to output stream.
InterfaceType
Enumerative type, used to identify interface type.
Load is base abstract class for all loads.
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
virtual IntegrationRule * giveDefaultIntegrationRulePtr()
Access method for default integration rule.
std::unique_ptr< TrPlaneStrRot3d > membrane
Pointer to membrane (plane stress) element.
virtual int giveDefaultIntegrationRule() const
Returns id of default integration rule.
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class representing integration point in finite element program.
Class representing solution step.
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
void setCrossSection(int csIndx)
Sets the cross section model of receiver.