38 #include "../sm/Elements/nlstructuralelement.h" 39 #include "../sm/CrossSections/layeredcrosssection.h" 40 #include "../sm/ErrorEstimators/zzerrorestimator.h" 46 #define _IFT_DKTPlate_Name "dktplate" 49 #define DKT_EnableVertexMomentsCache 76 #ifdef DKT_EnableVertexMomentsCache 105 double &y1,
double &y2,
double &y3,
106 double &z1,
double &z2,
double &z3);
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
This class implements an triangular Discrete Kirchhoff Theory (DKT) element.
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The element interface required by NodalAvergagingRecoveryModel.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
The element interface required by ZZNodalRecoveryModel.
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
virtual void computeBodyLoadVectorAt(FloatArray &answer, Load *load, TimeStep *tStep, ValueModeType mode)
Computes the load vector due to body load acting on receiver, at given time step. ...
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
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 double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
virtual void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes lumped mass matrix of receiver.
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
long StateCounterType
StateCounterType type used to indicate solution state.
virtual double giveCharacteristicLength(const FloatArray &normalToCrackPlane)
Returns the size of element in the given direction, in some cases adjusted (e.g.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual void computeMassMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes mass matrix of receiver.
virtual double computeSurfaceVolumeAround(GaussPoint *gp, int iSurf)
Computes volume related to integration point on local surface.
DKTPlate(int n, Domain *d)
virtual void computeEdgeNMatrix(FloatMatrix &answer, int boundaryID, const FloatArray &lcoords)
computes edge interpolation matrix
MaterialMode
Type representing material mode of integration point.
virtual const char * giveClassName() const
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
Abstract base class representing 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.
Element extension for surface loads.
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
Class representing a general abstraction for finite element interpolation class.
Class representing a 2d triangular linear interpolation based on area coordinates.
FloatMatrix vertexMoments
The element interface corresponding to ZZErrorEstimator.
virtual void computeMidPlaneNormal(FloatArray &answer, const GaussPoint *gp)
Computes mid-plane normal of receiver at integration point.
ElementExtension
Type representing element extension.
DofIDItem
Type representing particular dof type.
virtual int testElementExtension(ElementExtension ext)
Tests if the element implements required extension.
StateCounterType stateCounter
UnknownType
Type representing particular unknown (its physical meaning).
virtual int computeLoadLSToLRotationMatrix(FloatMatrix &answer, int iSurf, GaussPoint *gp)
Returns transformation matrix from local surface c.s to element local coordinate system of load vecto...
virtual FEInterpolation * giveInterpolation() const
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType type)
virtual void computeStrainVectorInLayer(FloatArray &answer, const FloatArray &masterGpStrain, GaussPoint *masterGp, GaussPoint *slaveGp, TimeStep *tStep)
Computes full 3D strain vector in element layer.
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer)
Computes interpolation matrix for element unknowns.
virtual void giveSurfaceDofMapping(IntArray &answer, int iSurf) const
Assembles surface dof mapping mask, which provides mapping between surface local DOFs and "global" el...
int numberOfGaussPoints
Number of integration points as specified by nip.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
#define _IFT_DKTPlate_Name
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void computeVertexBendingMoments(FloatMatrix &answer, TimeStep *tStep)
virtual bool computeLocalCoordinates(FloatArray &answer, const FloatArray &gcoords)
Computes the element local coordinates from given global coordinates.
static FEI2dTrLin interp_lin
Element geometry approximation.
virtual const char * giveInputRecordName() const
virtual void giveDofManDofIDMask(int inode, IntArray &) const
Returns dofmanager dof mask for node.
InterfaceType
Enumerative type, used to identify interface type.
Load is base abstract class for all loads.
The element interface required by LayeredCrossSection.
virtual void giveNodeCoordinates(double &x1, double &x2, double &x3, double &y1, double &y2, double &y3, double &z1, double &z2, double &z3)
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
virtual IntegrationRule * GetSurfaceIntegrationRule(int iSurf)
virtual void computeSurfaceNMatrixAt(FloatMatrix &answer, int iSurf, GaussPoint *gp)
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 void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
virtual void giveEdgeDofMapping(IntArray &answer, int iEdge) const
Assembles edge dof mapping mask, which provides mapping between edge local DOFs and "global" element ...
Class representing integration point in finite element program.
virtual double computeEdgeVolumeAround(GaussPoint *gp, int iEdge)
Computes volume related to integration point on local edge.
Class representing solution step.
Element extension for edge loads.
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
void computeShearForces(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.