108 #include "utility/matrix/Vector.h" 109 #include "utility/matrix/Matrix.h" 110 #include "utility/matrix/ID.h" 111 #include "domain/mesh/element/plane/QuadBase4N.h" 112 #include "domain/mesh/element/utils/physical_properties/SectionFDPhysicalProperties.h" 113 #include "domain/mesh/element/utils/damping/DampingVector.h" 117 class SectionForceDeformation;
118 class ASDShellQ4Transformation;
119 class ASDShellQ4LocalCoordinateSystem;
126 DrillingDOF_Elastic = 0,
127 DrillingDOF_NonLinear = 1,
134 std::vector<double> damage = { 0.0, 0.0, 0.0, 0.0 };
135 std::vector<double> damage_comm = { 0.0, 0.0, 0.0, 0.0 };
158 mutable std::vector<double> m_drill_strain= { 0.0, 0.0, 0.0, 0.0 };
159 double m_drill_stiffness = 0.0;
163 double m_angle = 0.0;
166 bool m_initialized=
false;
176 DrillingDOFMode m_drill_mode = DrillingDOF_Elastic;
177 double m_drill_stab = 0.01;
183 void free_crd_transf(
void);
185 void free_nldrill(
void);
186 void alloc(
bool corotational);
188 void alloc_eas(
void);
189 void copy_eas(
const EASData &);
190 void alloc_nldrill(
void);
193 int calculateAll(
Matrix& LHS,
Vector& RHS,
int options)
const;
195 void AGQIinitialize(
void);
196 void AGQIupdate(
const Vector& UL)
const;
205 ASDShellQ4(
int tag= 0,
bool corotational=
true);
214 bool corotational=
true,
216 DrillingDOFMode drill_mode = DrillingDOF_Elastic,
217 double drilling_stab = 0.01,
230 void Print(std::ostream &,
int flag);
245 const Matrix &getInitialStiff(
void)
const;
254 int addInertiaLoadToUnbalance(
const Vector& accel);
270 #endif // ASDShellQ4_h int sendData(Communicator &)
Send members through the communicator argument.
Definition: ASDShellQ4.cpp:1192
Float vector abstraction.
Definition: Vector.h:94
void zeroLoad(void)
Zeroes the loads over the element.
Definition: ASDShellQ4.cpp:1120
int sendSelf(Communicator &)
Send the object.
Definition: ASDShellQ4.cpp:1278
const Vector & getResistingForceIncInertia(void) const
Returns the resisting force vector including inertia forces.
Definition: ASDShellQ4.cpp:1164
Communication parameters between processes.
Definition: Communicator.h:66
Base class response objects.
Definition: Response.h:81
int getNumDOF(void) const
return the number of DOF associated with the element.
Definition: ASDShellQ4.cpp:917
const Vector & getResistingForce(void) const
Returns the resisting force vector for the element.
Definition: ASDShellQ4.cpp:1155
ASDShellQ4 & operator=(const ASDShellQ4 &)
Assignment operator.
Definition: ASDShellQ4.cpp:748
const Matrix & getTangentStiff(void) const
Return the tangent stiffness matrix.
Definition: ASDShellQ4.cpp:1037
This class represent the local coordinate system of any element whose geometry is a 4-node Quadrilate...
Definition: ASDShellQ4LocalCoordinateSystem.h:41
int revertToStart(void)
Reverts the element to its initial state.
Definition: ASDShellQ4.cpp:1002
void alive(void)
Reactivates the element.
Definition: ASDShellQ4.cpp:1106
Base class for 4 node quads.
Definition: QuadBase4N.h:45
Base class for the finite elements.
Definition: Element.h:112
Damping pointer container.
Definition: DampingVector.h:44
Response * setResponse(const std::vector< std::string > &argv, Information &eleInformation)
setResponse() is a method invoked to determine if the element will respond to a request for a certain...
Definition: ASDShellQ4.cpp:1314
int recvData(const Communicator &)
Receives members through the communicator argument.
Definition: ASDShellQ4.cpp:1234
int update(void)
Updates the element state.
Definition: ASDShellQ4.cpp:1029
Definition: ASDShellQ4.h:129
int revertToLastCommit(void)
Revert to the last committed state.
Definition: ASDShellQ4.cpp:969
Element * getCopy(void) const
Virtual constructor.
Definition: ASDShellQ4.cpp:729
virtual const SectionForceDeformation * getSectionPtr(const size_t &) const
Return a pointer to the i-th section of the element.
Definition: ASDShellQ4.cpp:922
int resetNodalCoordinates(void)
Reinitialize values that depend on the nodal coordinates (for example after a "manual" change in the ...
Definition: ASDShellQ4.cpp:766
int commitState(void)
Commit the current element state.
Definition: ASDShellQ4.cpp:936
int getResponse(int responseID, Information &eleInformation)
Obtain information from an analysis.
Definition: ASDShellQ4.cpp:1455
Definition: ASDShellQ4.h:137
int setParameter(const std::vector< std::string > &argv, Parameter ¶m)
Sets the value param to the parameter argv.
Definition: ASDShellQ4.cpp:1522
double getCharacteristicLength(void) const
Return the characteristic length of this element.
Definition: ASDShellQ4.cpp:1550
Definition: ASDShellQ4.h:121
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
ASDShellQ4(int tag=0, bool corotational=true)
Constructor.
Definition: ASDShellQ4.cpp:683
Matrix of floats.
Definition: Matrix.h:111
Parameter.
Definition: Parameter.h:68
const Matrix & getMass(void) const
Returns the mass matrix.
Definition: ASDShellQ4.cpp:1055
void setDomain(Domain *theDomain)
Sets the domain for the element.
Definition: ASDShellQ4.cpp:818
Base class for loads over elements.
Definition: ElementalLoad.h:79
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:117
int recvSelf(const Communicator &)
Receive the object.
Definition: ASDShellQ4.cpp:1293