48 #ifndef BrickSurfaceLoad_h 49 #define BrickSurfaceLoad_h 58 #include "domain/mesh/element/plane/surface_pressures/SurfaceLoadBase.h" 59 #include "utility/geom/d2/Polygon3d.h" 62 class ShellLinearCrdTransf3d;
65 const int SL_NUM_NODE= 4;
67 const int SL_NUM_NDF= 3;
69 const int SL_NUM_DOF(SL_NUM_NODE*SL_NUM_NDF);
71 const int SL_NUM_DDOF(SL_NUM_DOF);
77 int UpdateBase(
double Xi,
double Eta)
const;
79 mutable Vector internalForces;
93 const double oneOverRoot3= 1.0/sqrt(3.0);
94 static double GsPts[SL_NUM_NODE][2];
96 static Matrix tangentStiffness;
103 BrickSurfaceLoad(
int tag,
int Nd1,
int Nd2,
int Nd3,
int Nd4,
double pressure);
112 double getArea(
bool initialGeometry)
const;
122 const Matrix &getInitialStiff(
void)
const;
131 void Print(std::ostream &,
int flag =0);
BrickSurfaceLoad(int tag=0)
Default constructor.
Definition: BrickSurfaceLoad.cpp:92
Float vector abstraction.
Definition: Vector.h:94
Plane polygon in a 3D space.
Definition: Polygon3d.h:35
Definition: SurfaceLoadBase.h:65
double getArea(bool initialGeometry) const
Returns element area.
Definition: BrickSurfaceLoad.cpp:209
Communication parameters between processes.
Definition: Communicator.h:66
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: BrickSurfaceLoad.cpp:311
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: BrickSurfaceLoad.cpp:216
Vector that stores the dbTags of the class members.
Definition: DbTagData.h:44
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: BrickSurfaceLoad.cpp:295
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: BrickSurfaceLoad.cpp:223
Definition: BrickSurfaceLoad.h:73
void setDomain(Domain *theDomain)
Sets the domain for the element.
Definition: BrickSurfaceLoad.cpp:112
Base class for the finite elements.
Definition: Element.h:112
Element * getCopy(void) const
Virtual constructor.
Definition: BrickSurfaceLoad.cpp:109
int getVtkCellType(void) const
VTK interface.
Definition: BrickSurfaceLoad.cpp:213
size_t getDimension(void) const
Return the element dimension (0, 1, 2 or 3).
Definition: BrickSurfaceLoad.cpp:156
const Vector & getResistingForceIncInertia(void) const
Returns the resisting force vector including inertia forces.
Definition: BrickSurfaceLoad.cpp:247
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: BrickSurfaceLoad.cpp:259
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: BrickSurfaceLoad.cpp:277
DbTagData & getDbTagData(void) const
Returns a vector to store the dbTags of the class members.
Definition: BrickSurfaceLoad.cpp:252
Base class for small displacement 3D coordinate transformations.
Definition: ShellLinearCrdTransf3d.h:42
Polygon3d getPolygon(bool initialGeometry=true) const
Returns the element contour as a polygon.
Definition: BrickSurfaceLoad.cpp:199
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
std::deque< Pos3d > getNodePositions(bool initialGeometry=true) const
Returns the positions of the element nodes (without duplicates corresponding to degenerated elements)...
Definition: BrickSurfaceLoad.cpp:177
Matrix of floats.
Definition: Matrix.h:111
int getNumDOF(void) const
return number of dofs
Definition: BrickSurfaceLoad.cpp:125
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:117
ShellLinearCrdTransf3d * getCoordTransf(void)
Returns a pointer to the coordinate transformation.
Definition: BrickSurfaceLoad.cpp:160