33 #include "domain/mesh/element/plane/QuadBase4N.h" 34 #include "domain/mesh/element/utils/physical_properties/SectionFDPhysicalProperties.h" 35 #include "ShellBData.h" 36 #include <utility/matrix/Vector.h> 37 #include <utility/matrix/Matrix.h> 38 #include "domain/mesh/element/utils/fvectors/FVectorShell.h" 45 class ShellUniformLoad;
46 class ShellCrdTransf3dBase;
57 mutable double xl[2][4];
74 virtual void formResidAndTangent(
int tang_flag)
const= 0;
75 static void shape2d(
const double &,
const double &,
const double x[2][4],
double shp[3][4],
double &xsj,
double sx[2][2]);
84 typedef double (*pointer_to_xl)[4];
85 inline const pointer_to_xl get_xl(
void)
const 87 inline pointer_to_xl get_xl(
void)
132 double getMeanInternalForce(
const std::string &)
const;
133 double getMeanInternalDeformation(
const std::string &)
const;
151 void Print(std::ostream &s,
int flag )
const;
void formInertiaTerms(int tangFlag) const
Form inertia terms.
Definition: Shell4NBase.cc:679
const ShellUniformLoad * vector3dUniformLoadGlobal(const Vector &)
Defines a load over the element from a vector in global coordinates.
Definition: Shell4NBase.cc:287
void Print(std::ostream &s, int flag) const
print out element data
Definition: Shell4NBase.cc:960
Shell4NBase & operator=(const Shell4NBase &)
Assignment operator.
Definition: Shell4NBase.cc:158
Float vector abstraction.
Definition: Vector.h:94
Natural coordinates of an element's particle.
Definition: ParticlePos3d.h:41
Plane polygon in a 3D space.
Definition: Polygon3d.h:35
Shell 3D coordinate transformations that updates vector directions (needs debugging).
Definition: ShellUpBasisCrdTransf3d.h:43
const ShellUniformLoad * vector3dUniformLoadLocal(const Vector &)
Defines a load over the element from a vector in local coordinates.
Definition: Shell4NBase.cc:248
int recvCoordTransf(int posFlag, const int &posClassTag, const int &posDbTag, const Communicator &)
Receives the coordinate transformation through the communicator argument.
Definition: Shell4NBase.cc:840
Communication parameters between processes.
Definition: Communicator.h:66
Base class response objects.
Definition: Response.h:81
Vector getInterpolationFactors(const ParticlePos3d &) const
Returns interpolation factors for a material point.
Definition: Shell4NBase.cc:558
int recvData(const Communicator &)
Receives members through the communicator argument.
Definition: Shell4NBase.cc:880
int revertToStart(void)
Return the initial state.
Definition: Shell4NBase.cc:549
Vector getInterpolatedDisplacements(const ParticlePos3d &) const
Returns interpolated displacements for a material point.
Definition: Shell4NBase.cc:638
Uniform load over shell elements.
Definition: ShellRawLoad.h:40
int sendCoordTransf(int posFlag, const int &, const int &, Communicator &)
Send the coordinate transformation through the communicator argument.
Definition: Shell4NBase.cc:824
double xl[2][4]
local nodal coordinates, two coordinates for each of four nodes
Definition: Shell4NBase.h:57
Shell4NBase(int classTag, const ShellCrdTransf3dBase *)
Constructor.
Definition: Shell4NBase.cc:108
ParticlePos3d getLocalCoordinatesOfNode(const int &) const
Return the local coordinates that correspond to the i-th node.
Definition: Shell4NBase.cc:630
Base class for 4 node quads.
Definition: QuadBase4N.h:45
Base class for four node shell elements.
Definition: Shell4NBase.h:52
int addLoad(ElementalLoad *, double)
Applies on the element the load being passed as parameter.
Definition: Shell4NBase.cc:391
Base class for 3D coordinate transformations.
Definition: ShellCrdTransf3dBase.h:49
int update(void)
Update state variables.
Definition: Shell4NBase.cc:346
Ingernal forces for a shell element.
Definition: FVectorShell.h:41
static void shape2d(const double &, const double &, const double x[2][4], double shp[3][4], double &xsj, double sx[2][2])
shape function routine for MITC4 elements.
Definition: Shell4NBase.cc:774
const ShellRawLoad * vector3dRawLoadGlobal(const std::vector< Vector > &)
Defines a load over the element from a vector of nodal loads in global coordinates.
Definition: Shell4NBase.cc:220
double appliedB[3]
Body forces applied with load.
Definition: Shell4NBase.h:61
Natural coordinates of an element's particle.
Definition: ParticlePos2d.h:40
const Vector & getResistingForce(void) const
get residual
Definition: Shell4NBase.cc:465
virtual void createInertiaLoad(const Vector &)
Creates the inertia load that corresponds to the acceleration argument.
Definition: Shell4NBase.cc:424
Base class for Gauss integration models.
Definition: GaussModel.h:41
int sendData(Communicator &)
Send members through the communicator argument.
Definition: Shell4NBase.cc:867
void zeroLoad(void)
Sets loads to zero.
Definition: Shell4NBase.cc:380
virtual ShellCrdTransf3dBase * getCoordTransf(void)
Returns a pointer to the coordinate transformation.
Definition: Shell4NBase.cc:898
ParticlePos3d getNaturalCoordinates(const Pos3d &, bool initialGeometry=true) const
Return the natural coordinates that correspond to the argument.
Definition: Shell4NBase.cc:634
Base class for small displacement 3D coordinate transformations.
Definition: ShellLinearCrdTransf3d.h:42
const ShellRawLoad * vector3dRawLoadLocal(const std::vector< Vector > &)
Defines a load over the element from a vector of nodal loads in local coordinates.
Definition: Shell4NBase.cc:178
Response * setResponse(const std::vector< std::string > &argv, Information &eleInformation)
Element response.
Definition: Shell4NBase.cc:906
Posición en tres dimensiones.
Definition: Pos3d.h:44
~Shell4NBase(void)
Destructor.
Definition: Shell4NBase.cc:171
const Matrix & getMass(void) const
return mass matrix
Definition: Shell4NBase.cc:365
int addInertiaLoadToUnbalance(const Vector &accel)
Add to the unbalance vector the inertial load corresponding to the acceleration argument.
Definition: Shell4NBase.cc:500
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
void strainLoad(const Matrix &)
Defines a strain load on this element.
Definition: Shell4NBase.cc:305
virtual Matrix getLocalAxes(bool initialGeometry=true) const
Returns a matrix with the axes of the element as matrix rows [[x1,y1,z1],[x2,y2,z2],...·].
Definition: Shell4NBase.cc:894
ShellCrdTransf3dBase * theCoordTransf
Coordinate transformation.
Definition: Shell4NBase.h:59
Physical properties for shells.
Definition: SectionFDPhysicalProperties.h:41
Matrix of floats.
Definition: Matrix.h:111
const Matrix & getTangentStiff(void) const
return stiffness matrix
Definition: Shell4NBase.cc:353
int commitState(void)
Consuma la coordinate transformation de acuerdo con el estado actual.
Definition: Shell4NBase.cc:533
Base class for loads over elements.
Definition: ElementalLoad.h:79
FVectorShell p0
Reactions in the basic system due to element loads.
Definition: Shell4NBase.h:64
int revertToLastCommit(void)
Returns to the last committed state.
Definition: Shell4NBase.cc:541
const Vector & getResistingForceIncInertia(void) const
get residual with inertia terms
Definition: Shell4NBase.cc:482
int getNumDOF(void) const
return number of dofs
Definition: Shell4NBase.cc:340
const GaussModel & getGaussModel(void) const
Return the element Gauss points.
Definition: Shell4NBase.cc:375
int getResponse(int responseID, Information &eleInformation)
Obtain information from an analysis.
Definition: Shell4NBase.cc:941
void computeBasis(void)
compute local coordinates and basis
Definition: Shell4NBase.cc:761
Pos3d getCartesianCoordinates(const ParticlePos2d &, bool initialGeometry=true) const
Return the cartesian coordinates of the argument.
Definition: Shell4NBase.cc:587