xc
|
Four-node quadrilateral element, which uses a bilinear isoparametric formulation with enhanced strain modes. More...
#include <EnhancedQuad.h>
Public Member Functions | |
EnhancedQuad (int tag, int nd1, int nd2, int nd3, int nd4, NDMaterial &, const std::string &) | |
Element * | getCopy (void) const |
Virtual constructor. | |
void | setDomain (Domain *) |
Sets the domain for the element. | |
int | getNumDOF (void) const |
return number of dofs | |
int | update (void) |
Updates the element state. More... | |
void | Print (std::ostream &s, int flag) |
Print stuff. | |
const Matrix & | getTangentStiff (void) const |
Return the tangent stiffness matrix. More... | |
const Matrix & | getInitialStiff (void) const |
const Matrix & | getMass (void) const |
Returns the mass matrix. More... | |
int | addLoad (ElementalLoad *theLoad, double loadFactor) |
int | addInertiaLoadToUnbalance (const Vector &accel) |
const Vector & | getResistingForce (void) const |
Returns the resisting force vector for the element. More... | |
const Vector & | getResistingForceIncInertia (void) const |
Returns the resisting force vector including inertia forces. More... | |
virtual int | sendSelf (CommParameters &) |
Sends object through the channel being passed as parameter. | |
virtual int | recvSelf (const CommParameters &) |
Receives object through the channel being passed as parameter. | |
![]() | |
QuadBase4N (int classTag, const NDMaterialPhysicalProperties &pp) | |
Constructor. | |
QuadBase4N (int tag, int classTag, const NDMaterialPhysicalProperties &) | |
Constructor. | |
QuadBase4N (int tag, int classTag, int node1, int node2, int node3, int node4, const NDMaterialPhysicalProperties &pp) | |
Constructor. | |
Element::NodesEdge | getNodesEdge (const size_t &i) const |
Returns the nodes de un lado of the element. | |
ID | getLocalIndexNodesEdge (const size_t &i) const |
Returns the local indexes of the nodes that lie on the i-th edge. | |
int | getEdgeNodes (const Node *, const Node *) const |
Returns the edge of the element that ends in the nodes being passed as parameters. More... | |
int | getVtkCellType (void) const |
Interfaz con VTK. | |
void | zeroLoad (void) |
Zeroes loads on element. | |
int | addLoad (ElementalLoad *theLoad, double loadFactor) |
Adds to the element the load being passed as parameter. | |
![]() | |
PlaneElement (int tag, int classTag, const NDMaterialPhysicalProperties &) | |
Constructor. | |
void | checkElem (void) |
Sets nodes and checks the element. | |
void | setDomain (Domain *theDomain) |
Sets the element domain. | |
virtual Polygon3d | getPolygon (bool initialGeometry=true) const |
Returns the element contour as a polygon. | |
virtual Segment3d | getSide (const size_t &i, bool initialGeometry=true) const |
Returns a lado of the element. | |
Pos3d | getCenterOfMassPosition (bool initialGeometry=true) const |
Return the position of the element centroid. | |
double | getPerimeter (bool initialGeometry=true) const |
Returns the perimeter of the element. | |
double | getArea (bool initialGeometry=true) const |
Returns element area. More... | |
virtual void | computeTributaryAreas (bool initialGeometry=true) const |
Computes tributary areas that correspond to each node. | |
double | getTributaryArea (const Node *) const |
Returns tributary area for the node being passed as parameter. | |
double | getDist2 (const Pos2d &p, bool initialGeometry=true) const |
Returns the squared distance from the element to the point being passed as parameter. More... | |
double | getDist2 (const Pos3d &p, bool initialGeometry=true) const |
Returns the squared distance from the element to the point being passed as parameter. More... | |
double | getDist (const Pos2d &p, bool initialGeometry=true) const |
Return the distance from the element to the point being passed as parameter. More... | |
double | getDist (const Pos3d &p, bool initialGeometry=true) const |
Return the distance from the element to the point being passed as parameter. More... | |
size_t | getDimension (void) const |
Return the element dimension (0, 1, 2 o3 3). | |
![]() | |
ElemWithMaterial (int tag, int classTag) | |
ElemWithMaterial (int tag, int classTag, const NDMaterialPhysicalProperties &) | |
int | commitState (void) |
Commit the current element state. More... | |
int | revertToLastCommit (void) |
Revert to the last commited state. More... | |
int | revertToStart (void) |
Reverts the element to its initial state. More... | |
virtual void | zeroInitialGeneralizedStrains (void) |
NDMaterialPhysicalProperties & | getPhysicalProperties (void) |
const NDMaterialPhysicalProperties & | getPhysicalProperties (void) const |
void | setPhysicalProperties (const NDMaterialPhysicalProperties &) |
virtual std::set< std::string > | getMaterialNames (void) const |
Return the names of the material(s) of the element. | |
![]() | |
ElementBase (int tag, int classTag) | |
Default constructor. | |
ElementBase (const ElementBase &) | |
Copy constructor. | |
ElementBase & | operator= (const ElementBase &) |
Assignment operator. | |
int | getNumExternalNodes (void) const |
Return the number of external nodes. | |
NodePtrsWithIDs & | getNodePtrs (void) |
Returns a pointer to the node vector. | |
const NodePtrsWithIDs & | getNodePtrs (void) const |
Returns a pointer to the node vector. | |
![]() | |
Element (int tag, int classTag) | |
Constructor that takes the element's unique tag and the number of external nodes for the element. More... | |
virtual int | getNumEdges (void) const |
Returns number of edges (it must be overloaded for elements that have nodes inside edges. More... | |
std::vector< int > | getIdxNodes (void) const |
virtual void | setIdNodes (const std::vector< int > &inodes) |
Set the nodes. | |
virtual void | setIdNodes (const ID &inodes) |
Set the nodes. | |
virtual bool | isSubdomain (void) |
Returns true if the element is a subdomain. | |
virtual const Matrix & | getDamp (void) const |
Returns the damping matrix. More... | |
virtual int | setRayleighDampingFactors (const RayleighDampingFactors &rF) const |
Set Rayleigh damping factors. | |
const Vector & | getNodeResistingComponents (const size_t &, const Vector &) const |
Returns the generalized force of the element over the iNod-th node. More... | |
const Vector & | getNodeResistingForce (const size_t &iNod) const |
Returns the generalized force of the element over the iNod-th node. More... | |
const Vector & | getNodeResistingForceIncInertia (const size_t &iNod) const |
Returns the generalized force (including inertia forces) of the element over the node identified by the argument. More... | |
const Vector & | getNodeResistingForce (const Node *) const |
Returns the generalized force (including inertia forces) of the element over the node identified by the argument. More... | |
const Vector & | getNodeResistingForceIncInertia (const Node *) const |
Returns the generalized force (including inertia forces) of the element over the node identified by the argument. More... | |
Vector | getEquivalentStaticLoad (int mode, const double &) const |
Returns the equivalent static load for the mode being passed as parameter and the acceleration that corresponding that mode. More... | |
Matrix | getEquivalentStaticNodalLoads (int mode, const double &) const |
Returns the equivalent static load on each node for the mode being passed as parameter and the corresponding acceleration to the mode. More... | |
virtual 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 of information. More... | |
virtual int | getResponse (int responseID, Information &eleInformation) |
Obtain information from an analysis. More... | |
Response * | setMaterialResponse (Material *, const std::vector< std::string > &, const size_t &, Information &) |
virtual int | addInertiaLoadSensitivityToUnbalance (const Vector &accel, bool tag) |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
int | setMaterialParameter (Material *, const std::vector< std::string > &, const size_t &, Parameter &) |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual const Vector & | getResistingForceSensitivity (int gradNumber) |
virtual const Matrix & | getInitialStiffSensitivity (int gradNumber) |
virtual const Matrix & | getDampSensitivity (int gradNumber) |
virtual const Matrix & | getMassSensitivity (int gradNumber) |
virtual int | commitSensitivity (int gradNumber, int numGrads) |
virtual int | addResistingForceToNodalReaction (bool inclInertia) |
Adds nodal reactions. | |
double | MaxCooNod (int i) const |
Returns the maximum value of the i coordinate of the element nodes. | |
double | MinCooNod (int i) const |
Returns the minimum value of the i coordinate of the element nodes. | |
const Matrix & | getCooNodes (void) const |
Returns the coordinates of the nodes. | |
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],...·]. | |
virtual Vector | getBaseVector (size_t i, bool initialGeometry=true) const |
Returns a base vector in the direction of the local i-th axis from the i-th row of the matrix returned by getLocalAxes. More... | |
virtual Vector3d | getBaseVector3d (size_t i, bool initialGeometry=true) const |
Returns a base vector in the direction of the local i-th axis from the i-th row of the matrix returned by getLocalAxes. More... | |
virtual Vector3d | getIVector3d (bool initialGeometry=true) const |
Returns a vector in the direction of the local x axis from the first row of the matrix returned by getLocalAxes. More... | |
virtual Vector3d | getJVector3d (bool initialGeometry=true) const |
Returns a vector in the direction of the local y axis from the second row of the matrix returned by getLocalAxes. More... | |
virtual Vector3d | getKVector3d (bool initialGeometry=true) const |
Returns a vector in the direction of the local z axis from the third row of the matrix returned by getLocalAxes. More... | |
virtual Rect3d3dCooSys | getCooSys (bool) const |
Returns the element coordinate system from the matrix returned by getLocalAxes. More... | |
Pos3d | getPosNode (const size_t &i, bool initialGeometry=true) const |
Returns the position of the i-th node. More... | |
std::list< Pos3d > | getPosNodes (bool initialGeometry=true) const |
Returns the coordinates of the nodes. | |
Vector | getCenterOfMassCoordinates (bool initialGeometry=true) const |
Returns the coordinates del centro de gravedad of the element. | |
Pos3dArray3d | getPoints (const size_t &ni, const size_t &nj, const size_t &nk, bool initialGeometry=true) |
Returns a grid of points distributed along the line. | |
bool | In (const GeomObj3d &, const double &factor=1.0, const double &tol=0.0) const |
bool | Out (const GeomObj3d &, const double &factor=1.0, const double &tol=0.0) const |
bool | In (const GeomObj2d &, const double &factor=1.0, const double &tol=0.0) const |
bool | Out (const GeomObj2d &, const double &factor=1.0, const double &tol=0.0) const |
void | resetTributaries (void) const |
Resets tributary areas of connected nodes. | |
void | dumpTributaries (const std::vector< double > &) const |
Adds to the tributary magnitude of each node the vector being passed as parameter. More... | |
virtual void | computeTributaryLengths (bool initialGeometry=true) const |
Computes the tributary lengths that corresponds to each node of the element. | |
virtual double | getTributaryLength (const Node *) const |
Returns the tributary length corresponding to the node being passed as parameter. More... | |
virtual double | getTributaryLengthByTag (const int &) const |
Returns the tributary length corresponding to the node which tag se pasa as parameter. More... | |
virtual double | getTributaryAreaByTag (const int &) const |
Returns the tributary area corresponding to the node. | |
virtual void | computeTributaryVolumes (bool initialGeometry=true) const |
Computes the tributary volumes that corresponds to each node of the element. | |
virtual double | getTributaryVolume (const Node *) const |
Returns the tributary volume corresponding to the node being passed as parameter. More... | |
virtual double | getTributaryVolumeByTag (const int &) const |
Returns the tributary volume corresponding to the node which tag se pasa as parameter. More... | |
virtual Vector | getInterpolationFactors (const ParticlePos3d &) const |
Returns interpolattion factors for a material point. | |
virtual Vector | getInterpolationFactors (const Pos3d &) const |
Returns interpolattion factors for a material point. | |
virtual const GaussModel & | getGaussModel (void) const |
Returns the Gauss integration model of the element. | |
int | getEdgeNodes (const int &, const int &) const |
Returns the edge of the element that ends in the nodes with the tags being passed as parameters. More... | |
virtual ID | getEdgesNode (const Node *) const |
Returns the edges of the element that ends in the node being passed as parameter. More... | |
std::set< int > | getEdgesNodes (const NodePtrSet &) const |
Returns the element edges that have both ends in the node set being passed as parameter. More... | |
ID | getEdgesNodeByTag (const int &) const |
Returns the edges of the element that have an en in the node with the tag being passed as parameter. More... | |
boost::python::list | getMaterialNamesPy (void) const |
Return the names of the material(s) of the element in a Python list. | |
std::set< SetBase * > | get_sets (void) const |
Returns the sets to which the element belongs. | |
void | add_to_sets (std::set< SetBase *> &) |
Adds the element to the sets being passed as parameters. | |
![]() | |
MeshComponent (int classTag) | |
Constructor. | |
MeshComponent (int tag, int classTag) | |
Constructor. | |
![]() | |
ContinuaReprComponent (int classTag) | |
ContinuaReprComponent (int tag, int classTag) | |
virtual const bool | isDead (void) const |
virtual const bool | isAlive (void) const |
virtual void | kill (void) |
virtual void | alive (void) |
![]() | |
~DomainComponent (void) | |
Destructor. | |
size_t | getIdx (void) const |
Returns the index of the object (to be used in VTK arrays). | |
virtual Domain * | getDomain (void) const |
Returns a pointer to the enclosing domain. More... | |
const Preprocessor * | getPreprocessor (void) const |
Returns (if possible) a pointer to the preprocessor. | |
Preprocessor * | getPreprocessor (void) |
Return (if possible) a pointer to the preprocessor. | |
void | set_index (const size_t &i) |
Set the index for the object (see numera in Set). More... | |
![]() | |
TaggedObject (int tag, CommandEntity *owr=nullptr) | |
Constructor. More... | |
void | assignTag (int newTag) |
Set tag (to be called from Python interface). | |
int | getTag (void) const |
Returns the tag associated with the object. | |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (CommParameters &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (CommParameters &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Protected Member Functions | |
int | sendData (CommParameters &) |
Send members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives members through the channel being passed as parameter. | |
![]() | |
ElemPtrArray3d | put_on_mesh (const NodePtrArray3d &, meshing_dir dm) const |
Put the element on the mesh being passed as parameter. | |
![]() | |
int | sendData (CommParameters &) |
Send members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives members through the channel being passed as parameter. | |
![]() | |
TIPOMAT * | cast_material (const Material *ptr_mat) |
Casts the material pointer to a suitable type. | |
int | sendData (CommParameters &cp) |
Send members through the channel being passed as parameter. | |
int | recvData (const CommParameters &cp) |
Receives members through the channel being passed as parameter. | |
![]() | |
virtual ElemPtrArray3d | cose (const SetEstruct &f1, const SetEstruct &f2) const |
const Vector & | getRayleighDampingForces (void) const |
Returns element Rayleigh damping forces. | |
int | sendData (CommParameters &cp) |
Sends object members through the channel being passed as parameter. | |
int | recvData (const CommParameters &cp) |
Receives object members through the channel being passed as parameter. | |
![]() | |
void | setup_matrices (std::deque< Matrix > &, const int &) const |
Initializes the matrix container. | |
int | sendIdsEtiquetas (int posDbTag, CommParameters &) |
Send labelsthrough the channel being passed as parameter. | |
int | recvIdsEtiquetas (int posDbTag, const CommParameters &) |
Receive labels through the channel being passed as parameter. | |
int | sendData (CommParameters &) |
Send members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives members through the channel being passed as parameter. | |
![]() | |
int | sendData (CommParameters &) |
Send members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives members through the channel being passed as parameter. | |
![]() | |
DomainComponent (int tag, int classTag) | |
Constructor. More... | |
int | sendData (CommParameters &) |
Send object members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receive object members through the channel being passed as parameter. | |
![]() | |
void | setTag (int newTag) |
Set tag. More... | |
Additional Inherited Members | |
![]() | |
typedef std::vector< const Node * > | NodesEdge |
Nodes on an element edge. More... | |
![]() | |
static const int | numNodes (void) |
Returns the element number of nodes. | |
![]() | |
static void | setDeadSRF (const double &d) |
Assigns Stress Reduction Factor for element deactivation. | |
static DefaultTag & | getDefaultTag (void) |
Returns next element's tag value by default. | |
![]() | |
static double | dead_srf = 1e-6 |
Stress reduction factor for foozen elements. | |
![]() | |
std::vector< double > | tributaryAreas |
![]() | |
NDMaterialPhysicalProperties | physicalProperties |
pointers to the material objects and physical properties. | |
![]() | |
NodePtrsWithIDs | theNodes |
pointers to node. | |
![]() | |
Vector | load |
vector for applying loads | |
RayleighDampingFactors | rayFactors |
Rayleigh damping factors. | |
Matrix | Kc |
pointer to hold last committed matrix if needed for rayleigh damping | |
![]() | |
int | index |
Index for VTK arrays. | |
LabelContainer | labels |
Label container. | |
Four-node quadrilateral element, which uses a bilinear isoparametric formulation with enhanced strain modes.
|
virtual |
HERE
Implements XC::Element.
|
virtual |
Returns the mass matrix.
Returns the mass matrix. The element is to compute its mass matrix based on the original location of the nodes and the current trial response quantities at the nodes.
\[ //! M_e= {\frac{\partial I_i}{\partial \ddot U} \vert}_{U_{trial}} //! \]
Reimplemented from XC::Element.
|
virtual |
Returns the resisting force vector for the element.
This is equal to the applied load due to element loads minus the loads at the nodes due to internal stresses in the element due to the current trial displacement, i.e.
\[ R_e= P_{e} - {R_e}(U_{trial}) \]
Implements XC::Element.
|
virtual |
Returns the resisting force vector including inertia forces.
Returns the action of the element over its attached nodes.
Returns the resisting force vector for the element with inertia forces included. This is equal to the applied load due to element loads (loads set using addLoad(), minus the loads at the nodes due to internal stresses in the element due to the current trial response quantities, i.e.
\[ R_e = P_e - I_e (\ddot U_{trial}) - R_e(\dot U_{trial}, U_{trial}) \]
Computes damping matrix.
Reimplemented from XC::Element.
|
virtual |
Return the tangent stiffness matrix.
To return the tangent stiffness matrix. The element is to compute its stiffness matrix based on the original location of the nodes and the current trial displacement at the nodes.
\[ K_e = {\frac{\partial f_{R_i}}{\partial U} \vert}_{U_{trial}} \]
Implements XC::Element.
|
virtual |
Updates the element state.
This method is invoked after the response quantities have been updated in the Domain, but not necessarily committed, e.g. during a non-linear Newton-Raphson solution algorithm. To return \(0\) if successful, a negative number if not. This base class implementation returns 0.
Reimplemented from XC::Element.