51 #include "domain/mesh/element/plane/QuadBase4N.h" 52 #include "domain/mesh/element/utils/physical_properties/NDMaterialPhysicalProperties.h" 53 #include <utility/matrix/Vector.h> 54 #include <utility/matrix/Matrix.h> 75 static const double sg[4];
76 static const double tg[4];
77 static const double wg[4];
80 static double stressData[][4];
81 static double tangentData[][3][4];
86 static double xl[][4];
89 static void saveData(
int gp,
const Vector &stress,
const Matrix &tangent);
92 void getData(
int gp,
Vector &stress,
Matrix &tangent)
const;
95 const Matrix& computeBenhanced(
int node,
double L1,
double L2,
double j,
const Matrix &Jinv)
const;
99 void computeBasis(
void)
const;
102 void formResidAndTangent(
int tang_flag)
const;
105 void formInertiaTerms(
int tangFlag)
const;
109 static void computeJacobian(
double L1,
double L2,
const double x[2][4],
Matrix &JJ,
Matrix &JJinv );
112 const Matrix& computeB(
int node,
const double shp[3][4])
const;
118 static void shape2d(
double ss,
double tt,
const double x[2][4],
double shp[3][4],
double &xsj );
121 bool check_material_type(
const std::string &type)
const;
146 void Print(std::ostream &s,
int flag);
154 int addInertiaLoadToUnbalance(
const Vector &accel);
const Matrix & getMass(void) const
Returns the mass matrix.
Definition: EnhancedQuad.cpp:447
void setDomain(Domain *)
Sets the domain for the element.
Definition: EnhancedQuad.cpp:128
int update(void)
Updates the element state.
Definition: EnhancedQuad.cpp:1034
Float vector abstraction.
Definition: Vector.h:93
int getNumDOF(void) const
return number of dofs
Definition: EnhancedQuad.cpp:135
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: EnhancedQuad.cpp:157
virtual int sendSelf(CommParameters &)
Sends object through the channel being passed as parameter.
Definition: EnhancedQuad.cpp:1327
Element * getCopy(void) const
Virtual constructor.
Definition: EnhancedQuad.cpp:115
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: EnhancedQuad.cpp:500
Four-node quadrilateral element, which uses a bilinear isoparametric formulation with enhanced strain...
Definition: EnhancedQuad.h:61
void Print(std::ostream &s, int flag)
Print stuff.
Definition: EnhancedQuad.cpp:140
Base class for 4 node quads.
Definition: QuadBase4N.h:44
Base class for the finite elements.
Definition: Element.h:109
virtual int recvSelf(const CommParameters &)
Receives object through the channel being passed as parameter.
Definition: EnhancedQuad.cpp:1341
Base class for 2D and 3D materials.
Definition: NDMaterial.h:97
int recvData(const CommParameters &)
Receives members through the channel being passed as parameter.
Definition: EnhancedQuad.cpp:1318
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Communication parameters between processes.
Definition: CommParameters.h:65
Matrix of floats.
Definition: Matrix.h:108
const Matrix & getInitialStiff(void) const
Definition: EnhancedQuad.cpp:169
int sendData(CommParameters &)
Send members through the channel being passed as parameter.
Definition: EnhancedQuad.cpp:1309
Base class for loads over elements.
Definition: ElementalLoad.h:77
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
const Vector & getResistingForceIncInertia(void) const
Returns the resisting force vector including inertia forces.
Definition: EnhancedQuad.cpp:514