xc
|
Zero length element. More...
#include <ZeroLength.h>
Public Member Functions | |
ZeroLength (int tag, int dimension, int Nd1, int Nd2, const Vector &, const Vector &, UniaxialMaterial &, int direction) | |
Constructor. More... | |
ZeroLength (int tag, int dimension, int Nd1, int Nd2, const Vector &, const Vector &, const DqUniaxialMaterial &, const ID &direction) | |
Construct element with multiple unidirectional materials. More... | |
ZeroLength (int tag, int dimension, const Material *ptr_mat, int direction) | |
Constructor. More... | |
ZeroLength (void) | |
Default constructor: | |
Element * | getCopy (void) const |
Virtual constructor. | |
~ZeroLength (void) | |
Destructor: delete must be invoked on any objects created by the object and on the matertial object. More... | |
void | setDomain (Domain *theDomain) |
Set the elemento domain. More... | |
void | clearMaterials (void) |
void | setMaterial (const int &, const std::string &) |
void | setMaterials (const std::deque< int > &, const std::vector< std::string > &) |
ZeroLengthMaterials & | getMaterials (void) |
int | commitState (void) |
Commit state of element. More... | |
int | revertToLastCommit (void) |
Revert state of element to last commit. More... | |
int | revertToStart (void) |
Revert state of element to initial. More... | |
int | update (void) |
Updates the element state. More... | |
std::string | getElementType (void) const |
const Matrix & | getTangentStiff (void) const |
Return tangent stiffness matrix for element. | |
const Matrix & | getInitialStiff (void) const |
Return initial stiffness matrix. | |
const Matrix & | getDamp (void) const |
Return the element damping matrix. | |
const Matrix & | getMass (void) const |
Return a zero mass matrix. | |
int | addLoad (ElementalLoad *theLoad, double loadFactor) |
The element has no loads, so this operation has no effect and returns 0. More... | |
int | addInertiaLoadToUnbalance (const Vector &accel) |
The element has no mass, so this operation has no effect and returns 0. More... | |
const Vector & | getResistingForce (void) const |
Return resisting force vector. | |
const Vector & | getResistingForceIncInertia (void) const |
Return resisting force vector with inertia included. | |
int | sendSelf (CommParameters &) |
Sends object through the channel being passed as parameter. | |
int | recvSelf (const CommParameters &) |
Receives object through the channel being passed as parameter. | |
void | Print (std::ostream &s, int flag=0) |
Print information about element. | |
Response * | setResponse (const std::vector< std::string > &argv, Information &eleInformation) |
Set response quantities as "force", "deformation", "material", or "stiff". More... | |
int | getResponse (int responseID, Information &eleInformation) |
Get response information for responseID . More... | |
void | updateDir (const Vector &x, const Vector &y) |
![]() | |
Element0D (int tag, int classTag, int Nd1, int Nd2) | |
Constructor. More... | |
Element0D (int tag, int classTag, int Nd1, int Nd2, int dim) | |
Constructor. More... | |
Element0D (int tag, int classTag, int Nd1, int Nd2, int dim, const Vector &, const Vector &) | |
Constructor. More... | |
int | getNumDOF (void) const |
Return the number of degrees of freedom. More... | |
size_t | getDimension (void) const |
Return the element dimension (0, 1, 2 o3 3). | |
int | getVtkCellType (void) const |
Interfaz con VTK. | |
const Vector & | getX (void) const |
Returns the direction vector of local X axis (first row of the transformation). | |
const Vector & | getY (void) const |
Returns the direction vector of local Y axis (second row of the transformation). | |
const Vector & | getZ (void) const |
Returns the direction vector of local Z axis (third row of the transformation). | |
Matrix | getLocalAxes (bool) const |
Returs a matrix with the axes of the element as matrix rows [[x1,y1,z1],[x2,y2,z2],...ยท]. | |
Rect3d3dCooSys | getCooSys (bool) const |
Returns the element coordinate system. | |
virtual const Matrix & | getTransformation (void) const |
virtual void | setUpVectors (const Vector &, const Vector &) |
Set up the transformation matrix for orientation. More... | |
![]() | |
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. | |
Pos3d | getCenterOfMassPosition (bool initialGeometry=true) const |
Return position of the element centroid. | |
![]() | |
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 void | zeroLoad (void) |
Zeroes the loads over the element. 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... | |
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 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... | |
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 |
virtual double | getDist2 (const Pos2d &p, bool initialGeometry=true) const |
Returns the squared distance from the element to the point being passed as parameter. More... | |
virtual double | getDist (const Pos2d &p, bool initialGeometry=true) const |
Returns the the distance from the element to the point being passed as parameter. More... | |
virtual double | getDist2 (const Pos3d &p, bool initialGeometry=true) const |
Returns the squared distance from the element to the point being passed as parameter. More... | |
virtual double | getDist (const Pos3d &p, bool initialGeometry=true) const |
Returns the the distance from the element to the point being passed as parameter. More... | |
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 void | computeTributaryAreas (bool initialGeometry=true) const |
Compute tributary areas for each element node. | |
virtual double | getTributaryArea (const Node *) const |
Returns the tributary area corresponding to the node. | |
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. | |
virtual NodesEdge | getNodesEdge (const size_t &) const |
Returns the nodes of the element edge. | |
virtual int | getEdgeNodes (const Node *, const Node *) const |
Returns the edge of the element that ends in the nodes being passed as parameters. More... | |
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... | |
virtual ID | getLocalIndexNodesEdge (const size_t &i) const |
Returns the local indexes of the element nodes that lie over the i-th edge. More... | |
virtual std::set< std::string > | getMaterialNames (void) const |
Return the names of the material(s) of the element. | |
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 | |
void | setUpType (const size_t &) |
Sets the element type and matrix dimensions from element dimension and the number of DOF of the connected nodes. More... | |
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 | cose (const SetEstruct &f1, const SetEstruct &f2) const |
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. | |
![]() | |
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 | put_on_mesh (const NodePtrArray3d &, meshing_dir) const |
Places the element on the mesh. | |
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. | |
![]() | |
int | dimension |
= 2 or 3 dimensions | |
int | numDOF |
number of dof for ZeroLengthSection | |
Matrix | transformation |
transformation matrix for orientation | |
![]() | |
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. | |
![]() | |
static const double | LenTol = 1.0e-6 |
Tolerance for zero length of element. | |
Zero length element.
The ZeroLength class represents an element defined by two nodes at the same geometric location, hence it has zero length. The nodes are connected by of uniaxial materials to represent the force-deformation relationship for the element. ZeroLength elements are constructed with a tag
in a domain of dimension
1, 2, or 3, connected by nodes {Nd1} and {Nd2}. The vector x
defines the local x-axis for the element and the vector yprime
lies in the local x-y plane for the element. The local z-axis is the cross product between x
and yprime
, and the local y-axis is the cross product between the local z-axis and x
.
XC::ZeroLength::ZeroLength | ( | int | tag, |
int | dim, | ||
int | Nd1, | ||
int | Nd2, | ||
const Vector & | x, | ||
const Vector & | yp, | ||
UniaxialMaterial & | theMat, | ||
int | direction | ||
) |
Constructor.
Construct element with one unidirectional material (numMaterials1d=1) The force-deformation relationship for the element is given by a pointer theMaterial
to a { UniaxialMaterial} model acting in local direction
. The local direction
is 1, 2, 3, for translation in the local x, y, z axes or 4, 5, 6 for rotation about the local x, y, z axes.
tag | element identifier. |
dim | space dimension (1, 2 or 3). |
Nd1 | identifier of the first node. |
Nd2 | identifier of the second node. |
x | Vector that defines the local x-axis. |
yp | Vector that defines the local x-y plane. |
theMat | uniaxial material for the element. |
direction | local direction on which the material works. |
XC::ZeroLength::ZeroLength | ( | int | tag, |
int | dim, | ||
int | Nd1, | ||
int | Nd2, | ||
const Vector & | x, | ||
const Vector & | yp, | ||
const DqUniaxialMaterial & | theMat, | ||
const ID & | direction | ||
) |
Construct element with multiple unidirectional materials.
Construct a ZeroLength element with tag
. The force-deformation relationship is given by the {n1dMat} pointers theMaterial
to { UniaxialMaterial} models. direction
is an { ID} of length {n1dMat} that gives the local direction for each corresponding entry in the array theMaterial
The local direction
is 1, 2, 3, for translation in the local x, y, z axes or 4, 5, 6 for rotation about the local x, y, z axes.
XC::ZeroLength::ZeroLength | ( | int | tag, |
int | dim, | ||
const Material * | ptr_mat, | ||
int | direction | ||
) |
Constructor.
Construct element with one unidirectional material (numMaterials1d=1) The force-deformation relationship for the element is given by a pointer theMaterial
to a { UniaxialMaterial} model acting in local direction
. The local direction
is 1, 2, 3, for translation in the local x, y, z axes or 4, 5, 6 for rotation about the local x, y, z axes.
tag | element identifier. |
dim | space dimension (1, 2 or 3). |
ptr_mat | uniaxial material for the element. |
direction | local direction on which the material works. |
XC::ZeroLength::~ZeroLength | ( | void | ) |
Destructor: delete must be invoked on any objects created by the object and on the matertial object.
|
virtual |
The element has no mass, so this operation has no effect and returns 0.
Implements XC::Element.
|
virtual |
The element has no loads, so this operation has no effect and returns 0.
Implements XC::Element.
|
virtual |
Commit state of element.
Commit state of element by commiting state of materials. Return 0 if successful, !0 otherwise.
Reimplemented from XC::Element.
|
virtual |
Get response information for responseID
.
Return 0 if successful, -1 otherwise.
Reimplemented from XC::Element.
|
virtual |
Revert state of element to last commit.
Revert state of element to last commit by reverting to last committed state of materials. Return 0 if successful, !0 otherwise.
Implements XC::Element.
|
virtual |
Revert state of element to initial.
Revert state of element to initial state by reverting to initial state its materials. Return 0 if successful, !0 otherwise.
Reimplemented from XC::Element.
|
virtual |
Set the elemento domain.
to set a link to the enclosing Domain and to set the node pointers. also determines the number of dof associated with the ZeroLength element, we set matrix and vector pointers, allocate space for t matrix and define it as the basic deformation- displacement transformation matrix.
Reimplemented from XC::Element.
|
virtual |
Set response quantities as "force", "deformation", "material", or "stiff".
Return response ID or -1 if error. Currently, only the one uniaxial material can be set.
Reimplemented from XC::Element.
|
protected |
Sets the element type and matrix dimensions from element dimension and the number of DOF of the connected nodes.
|
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.