29 #ifndef ShellMITC4Base_h 30 #define ShellMITC4Base_h 32 #include "domain/mesh/element/plane/QuadBase4N.h" 33 #include "domain/mesh/element/utils/physical_properties/SectionFDPhysicalProperties.h" 34 #include "ShellCrdTransf3dBase.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" 44 class ShellUniformLoad;
53 mutable double xl[2][4];
74 void setupInicDisp(
void);
75 void capturaInicDisp(
void);
76 void zeroInicDisp(
void);
81 double *
computeBdrill(
int node,
const double shp[3][4])
const;
85 static void shape2d(
const double &,
const double &,
const double x[2][4],
double shp[3][4],
double &xsj);
124 void strainLoad(
const Matrix &);
129 int addInertiaLoadToUnbalance(
const Vector &accel);
138 double getMeanInternalForce(
const std::string &)
const;
139 double getMeanInternalDeformation(
const std::string &)
const;
149 void Print(std::ostream &s,
int flag );
void alive(void)
Reactivates the element.
Definition: ShellMITC4Base.cc:282
const ShellUniformLoad * vector3dUniformLoadGlobal(const Vector &)
Defines a load over the element from a vector in global coordinates.
Definition: ShellMITC4Base.cc:179
int revertToStart(void)
Return the initial state.
Definition: ShellMITC4Base.cc:757
~ShellMITC4Base(void)
Destructor.
Definition: ShellMITC4Base.cc:139
Float vector abstraction.
Definition: Vector.h:93
Natural coordinates of an element's particle.
Definition: ParticlePos3d.h:40
int recvCoordTransf(int posFlag, const int &posClassTag, const int &posDbTag, const CommParameters &)
Recibe la coordinate transformation through the channel being passed as parameter.
Definition: ShellMITC4Base.cc:1519
void computeBasis(void)
compute local coordinates and basis
Definition: ShellMITC4Base.cc:1231
double * computeBdrill(int node, const double shp[3][4]) const
compute Bdrill
Definition: ShellMITC4Base.cc:1238
const Vector & getResistingForceIncInertia(void) const
get residual with inertia terms
Definition: ShellMITC4Base.cc:720
int update(void)
Update state variables.
Definition: ShellMITC4Base.cc:344
void formInertiaTerms(int tangFlag) const
form inertia terms
Definition: ShellMITC4Base.cc:843
FVectorShell p0
Reactions in the basic system due to element loads.
Definition: ShellMITC4Base.h:57
const Matrix & getTangentStiff(void) const
return stiffness matrix
Definition: ShellMITC4Base.cc:351
static ShellBData BData
B-bar data.
Definition: ShellMITC4Base.h:69
Vector getInterpolatedDisplacements(const ParticlePos3d &) const
Returns interpolated displacements for a material point.
Definition: ShellMITC4Base.cc:802
int sendData(CommParameters &)
Send members through the channel being passed as parameter.
Definition: ShellMITC4Base.cc:1544
int revertToLastCommit(void)
Returns to the last commited state.
Definition: ShellMITC4Base.cc:749
ShellMITC4Base & operator=(const ShellMITC4Base &)
Assignment operator.
Definition: ShellMITC4Base.cc:129
ShellCrdTransf3dBase * theCoordTransf
Coordinate transformation.
Definition: ShellMITC4Base.h:55
const Matrix calculateG(void) const
Computes the matrix G.
Definition: ShellMITC4Base.cc:363
Base class for 4 node quads.
Definition: QuadBase4N.h:44
const GaussModel & getGaussModel(void) const
Return the element Gauss points.
Definition: ShellMITC4Base.cc:642
Base class for 3D coordinate transformations.
Definition: ShellCrdTransf3dBase.h:48
Vector getInterpolationFactors(const ParticlePos3d &) const
Returns interpolattion factors for a material point.
Definition: ShellMITC4Base.cc:766
void zeroLoad(void)
Zeroes the element load vector.
Definition: ShellMITC4Base.cc:646
Auxiliary data for shell elements.
Definition: ShellBData.h:42
double Ktt
drilling stiffness
Definition: ShellMITC4Base.h:52
Ingernal forces for a shell element.
Definition: FVectorShell.h:40
const Vector & getResistingForce(void) const
get residual
Definition: ShellMITC4Base.cc:703
void Print(std::ostream &s, int flag)
print out element data
Definition: ShellMITC4Base.cc:298
const Matrix & computeBmembrane(int node, const double shp[3][4]) const
compute Bmembrane matrix
Definition: ShellMITC4Base.cc:1286
const Matrix & getInitialStiff(void) const
return secant matrix
Definition: ShellMITC4Base.cc:408
std::vector< Vector > inicDisp
Initial displacements.
Definition: ShellMITC4Base.h:61
int commitState(void)
Consuma la coordinate transformation de acuerdo con el estado actual.
Definition: ShellMITC4Base.cc:741
void formResidAndTangent(int tang_flag) const
form residual and tangent
Definition: ShellMITC4Base.cc:927
ShellMITC4Base(int classTag, const ShellCrdTransf3dBase *)
Constructor.
Definition: ShellMITC4Base.cc:101
virtual ShellCrdTransf3dBase * getCoordTransf(void)
Returns a pointer to the coordinate transformation.
Definition: ShellMITC4Base.cc:1575
const Matrix & getMass(void) const
return mass matrix
Definition: ShellMITC4Base.cc:632
Base class for Gauss integration models.
Definition: GaussModel.h:40
void setDomain(Domain *theDomain)
set domain
Definition: ShellMITC4Base.cc:229
static void shape2d(const double &, const double &, const double x[2][4], double shp[3][4], double &xsj)
shape function routine for MITC4 elements.
Definition: ShellMITC4Base.cc:1452
int sendCoordTransf(int posFlag, const int &, const int &, CommParameters &)
Envía la coordinate transformation through the channel being passed as parameter. ...
Definition: ShellMITC4Base.cc:1503
const Matrix & assembleB(const Matrix &Bmembrane, const Matrix &Bbend, const Matrix &Bshear) const
assemble a B matrix
Definition: ShellMITC4Base.cc:1316
int recvData(const CommParameters &)
Receives members through the channel being passed as parameter.
Definition: ShellMITC4Base.cc:1557
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
double xl[2][4]
local nodal coordinates, two coordinates for each of four nodes
Definition: ShellMITC4Base.h:53
Communication parameters between processes.
Definition: CommParameters.h:65
Physical properties for shells.
Definition: SectionFDPhysicalProperties.h:40
Matrix of floats.
Definition: Matrix.h:108
Base class for loads over elements.
Definition: ElementalLoad.h:77
int addLoad(ElementalLoad *theLoad, double loadFactor)
Applies on the element the load being passed as parameter.
Definition: ShellMITC4Base.cc:653
int getNumDOF(void) const
return number of dofs
Definition: ShellMITC4Base.cc:278
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
const Matrix & computeBbend(int node, const double shp[3][4]) const
compute Bbend matrix
Definition: ShellMITC4Base.cc:1420
virtual Matrix getLocalAxes(bool initialGeometry=true) const
Returs a matrix with the axes of the element as matrix rows [[x1,y1,z1],[x2,y2,z2],...·].
Definition: ShellMITC4Base.cc:1571
const ShellUniformLoad * vector3dUniformLoadLocal(const Vector &)
Defines a load over the element from a vector in local coordinates.
Definition: ShellMITC4Base.cc:143
Base class for MIT C4 shell elements.
Definition: ShellMITC4Base.h:49