58 #ifndef FourNodeQuad_h 59 #define FourNodeQuad_h 61 #include "domain/mesh/element/plane/SolidMech4N.h" 62 #include "domain/mesh/element/utils/physical_properties/SolidMech2D.h" 63 #include "domain/mesh/element/utils/body_forces/BodyForces2D.h" 64 #include "domain/mesh/element/utils/fvectors/FVectorQuad.h" 84 mutable std::vector<Vector> eps;
85 std::vector<Vector> persistentInitialDeformation;
87 static double matrixData[64];
91 static double shp[3][4];
94 double shapeFunction(
const GaussPoint &gp)
const;
95 void setPressureLoadAtNodes(
void);
98 void formInertiaTerms(
int tangFlag)
const;
140 void Print(std::ostream &s,
int flag =0)
const;
149 double detJ(
const double &,
const double &)
const;
int addLoad(ElementalLoad *theLoad, double loadFactor)
Adds a load over element.
Definition: FourNodeQuad.cpp:353
void alive(void)
Reactivates the element.
Definition: FourNodeQuad.cpp:331
Body forces over an element.
Definition: BodyForces2D.h:40
Float vector abstraction.
Definition: Vector.h:94
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: FourNodeQuad.cpp:196
Communication parameters between processes.
Definition: Communicator.h:66
Element * getCopy(void) const
Virtual constructor.
Definition: FourNodeQuad.cpp:105
int getNumDOF(void) const
Return the number of element DOFs.
Definition: FourNodeQuad.cpp:131
int updateParameter(int parameterID, Information &info)
Updates the parameter identified by parameterID with info.
Definition: FourNodeQuad.cpp:737
const std::vector< Vector > & getPersistentInitialDeformation(void) const
Returns the value of the persistent (does not get wiped out by zeroLoad) initial deformation of the e...
Definition: FourNodeQuad.cpp:114
void incrementPersistentInitialDeformationWithCurrentDeformation(void)
Increments the persistent (does not get wiped out by zeroLoad) initial deformation of the section...
Definition: FourNodeQuad.cpp:121
Posición en dos dimensiones.
Definition: Pos2d.h:41
virtual ~FourNodeQuad(void)
Destructor.
Definition: FourNodeQuad.cpp:109
int setParameter(const std::vector< std::string > &argv, Parameter ¶m)
Sets the value param to the parameter argv.
Definition: FourNodeQuad.cpp:710
Uniaxial p-y material that incorporates liquefaction effects.
Definition: PyLiq1.h:61
3D position of Gauss points.
Definition: GaussPoint.h:38
FourNodeQuad(int tag=0, const NDMaterial *ptr_mat=nullptr)
Constructor.
Definition: FourNodeQuad.cpp:79
Base class for the finite elements.
Definition: Element.h:112
Ingernal forces for a quad element.
Definition: FVectorQuad.h:41
const GaussModel & getGaussModel(void) const
Return the Gauss points of the element.
Definition: FourNodeQuad.cpp:327
void setDomain(Domain *theDomain)
Sets domain pointer and computes the consistent load vector due to pressure.
Definition: FourNodeQuad.cpp:135
int addInertiaLoadToUnbalance(const Vector &accel)
Adds inertia loads.
Definition: FourNodeQuad.cpp:388
Uniaxial t-z material that incorporates liquefaction effects.
Definition: TzLiq1.h:61
Natural coordinates of an element's particle.
Definition: ParticlePos2d.h:40
Base class for Gauss integration models.
Definition: GaussModel.h:41
void Print(std::ostream &s, int flag=0) const
Prints element information.
Definition: FourNodeQuad.cpp:663
Base class for 2D and 3D materials.
Definition: NDMaterial.h:101
const Vector & getResistingForce(void) const
Return the element resisting force.
Definition: FourNodeQuad.cpp:430
const Vector & getResistingForceIncInertia(void) const
Return the resisting force of the element including inertia.
Definition: FourNodeQuad.cpp:484
const Matrix & getMass(void) const
Return the mass matrix.
Definition: FourNodeQuad.cpp:317
int update(void)
Update the values of the state variables.
Definition: FourNodeQuad.cpp:147
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Matrix of floats.
Definition: Matrix.h:111
Four node quadrilateral element for two-dimensional problems.
Definition: SolidMech4N.h:76
Four node quadrilateral element for two-dimensional problems.
Definition: FourNodeQuad.h:76
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: FourNodeQuad.cpp:643
Parameter.
Definition: Parameter.h:68
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: FourNodeQuad.cpp:608
Base class for loads over elements.
Definition: ElementalLoad.h:79
Pos2d getCartesianCoordinates(const ParticlePos2d &, bool initialGeometry=true) const
Return the cartesian coordinates corresponding to the given natural coordinates.
Definition: FourNodeQuad.cpp:842
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: FourNodeQuad.cpp:628
void zeroLoad(void)
Sets loads to zero.
Definition: FourNodeQuad.cpp:343
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:117
const Matrix & getInitialStiff(void) const
Return the initial tangent stiffness matrix.
Definition: FourNodeQuad.cpp:259
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: FourNodeQuad.cpp:618
virtual void createInertiaLoad(const Vector &)
Creates the inertia load that corresponds to the acceleration argument.
Definition: FourNodeQuad.cpp:573