38 #include "../sm/Elements/nlstructuralelement.h" 46 #define _IFT_MITC4Shell_Name "mitc4shell" 47 #define _IFT_MITC4Shell_nipZ "nipz" 48 #define _IFT_MITC4Shell_directorType "directortype" 124 double &y1,
double &y2,
double &y3,
double &y4,
125 double &z1,
double &z2,
double &z3,
double &z4);
128 void giveThickness(
double &a1,
double &a2,
double &a3,
double &a4);
void giveDirectorVectors(FloatArray &V1, FloatArray &V2, FloatArray &V3, FloatArray &V4)
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The element interface required by NodalAvergagingRecoveryModel.
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
void giveCharacteristicTensor(FloatMatrix &answer, CharTensor type, GaussPoint *gp, TimeStep *tStep)
virtual void setupIRForMassMtrxIntegration(IntegrationRule &iRule)
Setup Integration Rule Gauss Points for Mass Matrix integration.
virtual void giveEdgeDofMapping(IntArray &answer, int iEdge) const
Assembles edge dof mapping mask, which provides mapping between edge local DOFs and "global" element ...
integrationDomain
Used by integrator class to supply integration points for proper domain to be integrated (Area...
The element interface required by ZZNodalRecoveryModel.
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
virtual void giveSurfaceDofMapping(IntArray &answer, int iSurf) const
Assembles surface dof mapping mask, which provides mapping between surface local DOFs and "global" el...
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
virtual const char * giveClassName() const
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void giveLocalDirectorVectors(FloatArray &V1, FloatArray &V2, FloatArray &V3, FloatArray &V4)
The element interface required by ZZNodalRecoveryModel.
Abstract base class for "structural" finite elements with geometrical nonlinearities.
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
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.
virtual Interface * giveInterface(InterfaceType interface)
Interface requesting service.
const FloatMatrix * computeGtoLRotationMatrix()
void givedNdx(FloatArray &hkx, FloatArray &hky, FloatArray coords)
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
virtual void giveDofManDofIDMask(int inode, IntArray &) const
Returns dofmanager dof mask for node.
This class implements an quad element based on Mixed Interpolation of Tensorial Components (MITC)...
void computeLocalBaseVectors(FloatArray &e1, FloatArray &e2, FloatArray &e3)
MaterialMode
Type representing material mode of integration point.
#define _IFT_MITC4Shell_Name
static FEI2dQuadLin interp_lin
Element geometry approximation.
virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
Evaluates nodal representation of real internal forces.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
void giveNodeCoordinates(double &x1, double &x2, double &x3, double &x4, double &y1, double &y2, double &y3, double &y4, double &z1, double &z2, double &z3, double &z4)
virtual const char * giveInputRecordName() const
FloatMatrix GtoLRotationMatrix
Transformation Matrix form GtoL(3,3) is stored at the element level for computation efficiency...
Abstract base class representing integration rule.
virtual int testElementExtension(ElementExtension ext)
Tests if the element implements required extension.
Element extension for surface loads.
virtual double computeEdgeVolumeAround(GaussPoint *gp, int iEdge)
Computes volume related to integration point on local edge.
Class representing a general abstraction for finite element interpolation class.
virtual int computeNumberOfGlobalDofs()
Computes the total number of element's global dofs.
void computeLToDirectorRotationMatrix(FloatMatrix &answer1, FloatMatrix &answer2, FloatMatrix &answer3, FloatMatrix &answer4)
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes the stiffness matrix of receiver.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
virtual void computeEdgeNMatrix(FloatMatrix &answer, int boundaryID, const FloatArray &lcoords)
computes edge interpolation matrix
void giveLocalCoordinates(FloatArray &answer, FloatArray &global)
int computeLoadGToLRotationMtrx(FloatMatrix &answer)
Returns transformation matrix from global coordinate system to local element coordinate system for el...
ElementExtension
Type representing element extension.
DofIDItem
Type representing particular dof type.
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
virtual integrationDomain giveIntegrationDomain() const
Returns integration domain for receiver, used to initialize integration point over receiver volume...
void giveThickness(double &a1, double &a2, double &a3, double &a4)
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
virtual IntegrationRule * GetSurfaceIntegrationRule(int approxOrder)
void giveMidplaneIPValue(FloatArray &answer, int gpXY, InternalStateType type, TimeStep *tStep)
MITC4Shell(int n, Domain *d)
virtual int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords)
Computes the global coordinates from given element's local coordinates.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual int computeLoadLEToLRotationMatrix(FloatMatrix &answer, int iEdge, GaussPoint *gp)
Returns transformation matrix from local edge c.s to element local coordinate system of load vector c...
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
void giveJacobian(FloatArray lcoords, FloatMatrix &jacobianMatrix)
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer)
Computes interpolation matrix for element unknowns.
The spatial localizer element interface associated to spatial localizer.
InterfaceType
Enumerative type, used to identify interface type.
Class representing a 2d isoparametric linear interpolation based on natural coordinates for quadrilat...
virtual void computeSurfaceNMatrixAt(FloatMatrix &answer, int iSurf, GaussPoint *sgp)
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual bool computeLocalCoordinates(FloatArray &answer, const FloatArray &coords)
Computes the element local coordinates from given global coordinates.
Class representing integration point in finite element program.
Class representing solution step.
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
virtual double computeSurfaceVolumeAround(GaussPoint *gp, int iSurf)
Computes volume related to integration point on local surface.
virtual void computeSurfaceNMatrix(FloatMatrix &answer, int boundaryID, const FloatArray &lcoords)
Computes surface interpolation matrix.
virtual FEInterpolation * giveInterpolation() const
Element extension for edge loads.