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