35#ifndef quad1mindlinshell3d_h
36#define quad1mindlinshell3d_h
44#define _IFT_Quad1MindlinShell3D_Name "quad1mindlinshell3d"
45#define _IFT_Quad1MindlinShell3D_ReducedIntegration "reducedintegration"
104 const char *
giveClassName()
const override {
return "Quad1MindlinShell3D"; }
Quad1MindlinShell3D(int n, Domain *d)
void computeBodyLoadVectorAt(FloatArray &answer, Load *load, TimeStep *tStep, ValueModeType mode) override
virtual void computeLCS()
double computeEdgeVolumeAround(GaussPoint *gp, int iEdge) override
void computeVectorOfUnknowns(ValueModeType mode, TimeStep *tStep, FloatArray &shellUnknowns, FloatArray &drillUnknowns)
void initializeFrom(InputRecord &ir, int priority) override
int SPRNodalRecoveryMI_giveNumberOfIP() override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
void computeMidPlaneNormal(FloatArray &answer, const GaussPoint *gp) override
int computeLoadLEToLRotationMatrix(FloatMatrix &answer, int iEdge, GaussPoint *gp) override
void giveDofManDofIDMask(int inode, IntArray &) const override
Element_Geometry_Type giveGeometryType() const override
void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep) override
int testElementExtension(ElementExtension ext) override
void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0) override
void computeMassMatrix(FloatMatrix &answer, TimeStep *tStep) override
void computeStrainVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep) override
SPRPatchType SPRNodalRecoveryMI_givePatchType() override
double giveCharacteristicLength(const FloatArray &normalToCrackPlane) override
static IntArray drillOrdering
Ordering for the drilling dofs (the out-of-plane rotations).
void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap) override
const char * giveClassName() const override
void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap) override
bool computeGtoLRotationMatrix(FloatMatrix &answer) override
static IntArray shellOrdering
Ordering for the normal shell stiffness (everything but the out-of-plane rotations).
Interface * giveInterface(InterfaceType it) override
const char * giveInputRecordName() const override
static FEI2dQuadLin interp
FEInterpolation * giveInterpolation() const override
double computeVolumeAround(GaussPoint *gp) override
void computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep) override
static ParamKey IPK_Quad1MindlinShell3D_reducedIntegration
void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep) override
int computeNumberOfDofs() override
void giveEdgeDofMapping(IntArray &answer, int iEdge) const override
void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS) override
MaterialMode giveMaterialMode() override
void computeGaussPoints() override
int computeNumberOfGlobalDofs() override
std::vector< FloatArray > lnodes
Cached nodal coordinates in local c.s.,.
bool reducedIntegrationFlag
Flag controlling reduced (one - point) integration for shear.
FloatMatrix lcsMatrix
Cached coordinates in local c.s.,.
void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) override
SPRNodalRecoveryModelInterface()
Constructor.
StructuralElement(int n, Domain *d)
ZZNodalRecoveryModelInterface(Element *element)
Constructor.
@ Element_EdgeLoadSupport
Element extension for edge loads.
#define _IFT_Quad1MindlinShell3D_Name