XC Open source finite element analysis program
Public Member Functions | List of all members
XC::Spring Class Reference
Inheritance diagram for XC::Spring:
XC::ProtoTruss XC::Element1D XC::ElementBase< 2 > XC::Element XC::MeshComponent XC::ContinuaReprComponent XC::DomainComponent XC::TaggedObject XC::MovableObject XC::DistributedBase

Public Member Functions

 Spring (int tag, int dimension, int Nd1, int Nd2, UniaxialMaterial &theMaterial, double A)
 constructor: responsible for allocating the necessary space needed by each object and storing the tags of the Spring end nodes.
 
 Spring (int tag, int dimension, const Material *ptr_mat)
 constructor: responsible for allocating the necessary space needed by each object and storing the tags of the truss end nodes.
 
 Spring (void)
 
 Spring (const Spring &)
 Copy constructor.
 
Springoperator= (const Spring &)
 Assignment operator.
 
ElementgetCopy (void) const
 Virtual constructor.
 
 ~Spring (void)
 
void setDomain (Domain *theDomain)
 
int commitState (void)
 Commits its state.
 
int revertToLastCommit (void)
 Returns to the last commited state.
 
int revertToStart (void)
 Returns to the initial state.
 
int update (void)
 Computes current trial strain from trial displacements at the nodes.
 
const MaterialgetMaterial (void) const
 
MaterialgetMaterial (void)
 
virtual double getRho (void) const
 Returns the material density.
 
const MatrixgetKi (void)
 
const MatrixgetTangentStiff (void) const
 Returns the tangent stiffness matrix.
 
const MatrixgetInitialStiff (void) const
 Returns the initial tangent stiffness matrix.
 
const MatrixgetDamp (void) const
 Returns the matriz de amortiguamiento.
 
const MatrixgetMass (void) const
 Returns the mass matrix.
 
int addLoad (ElementalLoad *theLoad, double loadFactor)
 Adds a load.
 
int addInertiaLoadToUnbalance (const Vector &accel)
 Adds las fuerzas de inercia.
 
double getAxil (void) const
 
const VectorgetResistingForce (void) const
 Returns the reacción of the element.
 
const VectorgetResistingForceIncInertia (void) const
 Returns the reacción of the element incluyendo fuerzas de inercia.
 
int sendSelf (CommParameters &)
 
int recvSelf (const CommParameters &)
 
void Print (std::ostream &s, int flag=0)
 Imprime el objeto.
 
ResponsesetResponse (const std::vector< std::string > &argv, Information &eleInfo)
 
int getResponse (int responseID, Information &eleInformation)
 
- Public Member Functions inherited from XC::ProtoTruss
 ProtoTruss (int tag, int classTag, int Nd1, int Nd2, int ndof, int dimSpace)
 Default constructor.
 
 ProtoTruss (const ProtoTruss &)
 Copy constructor.
 
ProtoTrussoperator= (const ProtoTruss &)
 Assignment operator.
 
MaterialgetMaterialRef (void)
 Returns a reference to element's material.
 
int getNumDIM (void) const
 Return the dimension of the space on which the element is defined (2D or 3D).
 
int getNumDOF (void) const
 Returns the number of DOFs.
 
- Public Member Functions inherited from XC::Element1D
 Element1D (int tag, int classTag)
 Constructor.
 
 Element1D (int tag, int classTag, int Nd1, int Nd2)
 Constructor.
 
Matrix getLocalAxes (bool) const
 Returs a matrix with the axes of the element as matrix rows [[x1,y1,z1],[x2,y2,z2],...·].
 
virtual CrdTransfgetCoordTransf (void)
 Returns (if possible) a pointer to the coordinate transformation.
 
virtual const CrdTransfgetCoordTransf (void) const
 Returns (if possible) a const pointer to the coordinate transformation.
 
virtual CrdTransfcheckCoordTransf (void)
 Returns (and checks that it exists) a const pointer to the coordinate transformation.
 
virtual const CrdTransfcheckCoordTransf (void) const
 Returns (and checks that it exists) a const pointer to the coordinate transformation.
 
virtual const MatrixgetCooPuntos (const size_t &ndiv) const
 Returns puntos distribuidos entre los nodos extremos.
 
virtual const VectorgetCooPunto (const double &xrel) const
 Returns the punto correspondiente a la coordenada 0<=xrel<=1.
 
Segmento3d getSegmento (bool initialGeometry=true) const
 Returns the segment defined by the element.
 
double getDist2 (const Pos2d &p, bool initialGeometry=true) const
 Returns the squared distance from the element to the point que is being passed as parameter.
 
double getDist (const Pos2d &p, bool initialGeometry=true) const
 Return the the distance from the element to punto que is being passed as parameter.
 
double getDist2 (const Pos3d &p, bool initialGeometry=true) const
 Returns the squared distance from the element to the point que is being passed as parameter.
 
double getDist (const Pos3d &p, bool initialGeometry=true) const
 Return the the distance from the element to punto que is being passed as parameter.
 
size_t getDimension (void) const
 Return the element dimension (0, 1, 2 or 3).
 
int getVtkCellType (void) const
 Interfaz con VTK.
 
int getMEDCellType (void) const
 Interfaz con el formato MED de Salome.
 
virtual void calculaLongsTributarias (bool initialGeometry=true) const
 Calcula the tributary lengths that corresponds to cada nodo of the element.
 
double getLongTributaria (const Node *) const
 Return the tributary length corresponding to the node being passed as parameter.
 
void vector2dUniformLoadGlobal (const Vector &)
 
void vector2dUniformLoadLocal (const Vector &)
 
void vector2dPointByRelDistLoadGlobal (const double &, const Vector &)
 
void vector2dPointByRelDistLoadLocal (const double &, const Vector &)
 
void vector2dPointLoadGlobal (const Vector &, const Vector &)
 
void vector2dPointLoadLocal (const Vector &, const Vector &)
 
void vector3dUniformLoadGlobal (const Vector &)
 
void vector3dUniformLoadLocal (const Vector &)
 
void vector3dPointByRelDistLoadGlobal (const double &, const Vector &)
 
void vector3dPointByRelDistLoadLocal (const double &, const Vector &)
 
void vector3dPointLoadGlobal (const Vector &, const Vector &)
 
void vector3dPointLoadLocal (const Vector &, const Vector &)
 
void strainLoad (const DeformationPlane &p1, const DeformationPlane &p2)
 
- Public Member Functions inherited from XC::ElementBase< 2 >
 ElementBase (int tag, int classTag)
 Default constructor.
 
 ElementBase (const ElementBase &otro)
 Constructor.
 
ElementBaseoperator= (const ElementBase &otro)
 Assignment operator.
 
int getNumExternalNodes (void) const
 Return the number of external nodes.
 
NodePtrsWithIDsgetNodePtrs (void)
 Returns a pointer to the vector de nodos.
 
const NodePtrsWithIDsgetNodePtrs (void) const
 Returns a pointer to the vector de nodos.
 
Pos3d getPosCdg (bool initialGeometry=true) const
 Return position of the element centroid.
 
- Public Member Functions inherited from XC::Element
 Element (int tag, int classTag)
 Constructor that takes the element's unique tag and the number of external nodes for the element.
 
virtual int getNumEdges (void) const
 Returns number of edges (it must be overloaded for elements that have nodes inside edges.
 
std::vector< int > getIdxNodes (void) const
 
virtual void setIdNodos (const std::vector< int > &inodos)
 Asigna los nodos.
 
virtual void setIdNodos (const ID &inodos)
 Asigna los nodos.
 
virtual bool isSubdomain (void)
 
virtual void zeroLoad (void)
 Anula el load vector aplicadas of the element.
 
virtual int setRayleighDampingFactors (const RayleighDampingFactors &rF) const
 Asigna valores a los coeficientes de amortiguamiento de Rayleigh.
 
const VectorgetNodeResistingComponents (const size_t &, const Vector &) const
 Returns the generalized force of the element over the iNod-th node.
 
const VectorgetNodeResistingForce (const size_t &iNod) const
 Returns the generalized force of the element over the iNod-th node.
 
const VectorgetNodeResistingForceIncInertia (const size_t &iNod) const
 Returns the fuerza generalizada (incluyendo fuerzas de inercia) of the element sobre el nodo which index is being passed as parameter.
 
const VectorgetNodeResistingForce (const Node *) const
 Returns the fuerza generalizada of the element sobre el nodo pointed by the parameter.
 
const VectorgetNodeResistingForceIncInertia (const Node *) const
 Returns the fuerza generalizada (incluyendo fuerzas de inercia) of the element over the node pointed by the parameter.
 
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.
 
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.
 
ResponsesetMaterialResponse (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 &param)
 
int setMaterialParameter (Material *, const std::vector< std::string > &, const size_t &, Parameter &)
 
virtual int updateParameter (int parameterID, Information &info)
 
virtual int activateParameter (int parameterID)
 
virtual const VectorgetResistingForceSensitivity (int gradNumber)
 
virtual const MatrixgetInitialStiffSensitivity (int gradNumber)
 
virtual const MatrixgetDampSensitivity (int gradNumber)
 
virtual const MatrixgetMassSensitivity (int gradNumber)
 
virtual int commitSensitivity (int gradNumber, int numGrads)
 
virtual int addResistingForceToNodalReaction (bool inclInertia)
 Adds nodal reactions.
 
double MaxCooNod (int i) const
 Returns the valor máximo de la coordenada i of the nodes of the element.
 
double MinCooNod (int i) const
 Returns the minimum value de la coordenada i of the nodes of the element.
 
const MatrixgetCooNodos (void) const
 Returns the coordinates of the nodes.
 
Pos3d getPosNodo (const size_t &i, bool initialGeometry=true) const
 Returns the position of the i-th node. More...
 
std::list< Pos3d > getPosNodos (bool initialGeometry=true) const
 Returns the coordinates of the nodes.
 
Vector getCooCdg (bool initialGeometry=true) const
 Returns the coordinates del centro de gravedad of the element.
 
TritrizPos3d getPuntos (const size_t &ni, const size_t &nj, const size_t &nk, bool initialGeometry=true)
 Returns a grid of points distributed along the line.
 
void resetTributarias (void) const
 Resets tributary areas of connected nodes.
 
void vuelcaTributarias (const std::vector< double > &) const
 Adds to the tributary magnitude of each node the vector being passed as parameter.
 
virtual double getLongTributariaByTag (const int &) const
 Returns the tributary length corresponding to the node cuyo tag se pasa as parameter.
 
virtual void calculaAreasTributarias (bool initialGeometry=true) const
 Calcula las áreas tributarias that corresponds to cada nodo of the element.
 
virtual double getAreaTributaria (const Node *) const
 Returns the área tributaria corresponding to the node being passed as parameter.
 
virtual double getAreaTributariaByTag (const int &) const
 Returns the área tributaria corresponding to the node cuyo tag se pasa as parameter.
 
virtual void calculaVolsTributarios (bool initialGeometry=true) const
 Calcula los volúmenes tributarios that corresponds to cada nodo of the element.
 
virtual double getVolTributario (const Node *) const
 Returns the tributary volume corresponding to the node being passed as parameter.
 
virtual double getVolTributarioByTag (const int &) const
 Returns the tributary volume corresponding to the node cuyo tag se pasa as parameter.
 
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 GaussModelgetGaussModel (void) const
 Returns the Gauss integration model of the element.
 
MEDGaussModel getMEDGaussModel (void) const
 Returns the Gauss integration model of the element for MED library.
 
virtual NodesEdge getNodesEdge (const size_t &) const
 Returns the nodos del borde (o arista) of the element which index is being passed as parameter.
 
virtual int getEdgeNodes (const Node *, const Node *) const
 Returns the borde (o arista) of the element que tiene por extremos los nodos being passed as parameters.
 
int getEdgeNodes (const int &, const int &) const
 Returns the borde of the element que tiene por extremos los nodos being passed as parameters.
 
virtual ID getEdgesNode (const Node *) const
 Returns the bordes of the element que tienen por extremo el nodo being passed as parameter.
 
std::set< int > getEdgesNodes (const NodePtrSet &) const
 Returns the bordes of the element que tienen ambos extremos en el node set being passed as parameter.
 
ID getEdgesNodeByTag (const int &) const
 Returns the bordes of the element que tienen por extremo el nodo cuyo tag is being passed as parameter.
 
virtual ID getLocalIndexNodesEdge (const size_t &i) const
 Returns the local indexes of the element nodes that lie over the i-th edge.
 
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.
 
- Public Member Functions inherited from XC::MeshComponent
 MeshComponent (int classTag)
 Constructor.
 
 MeshComponent (int tag, int classTag)
 Constructor.
 
- Public Member Functions inherited from XC::ContinuaReprComponent
 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)
 
- Public Member Functions inherited from XC::DomainComponent
 ~DomainComponent (void)
 Destructor.
 
size_t getIdx (void) const
 Returns the index of the object (to be used in VTK arrays).
 
virtual DomaingetDomain (void) const
 Returns a pointer to the domain.
 
const PreprocessorGetPreprocessor (void) const
 Returns (if possible) a pointer to the preprocessor.
 
PreprocessorGetPreprocessor (void)
 Returns (if possible) a pointer to the preprocessor.
 
void set_indice (const size_t &i)
 Set the index for the object (see numera in Set). This index is used on VTK arrays.
 
- Public Member Functions inherited from XC::TaggedObject
 TaggedObject (int tag, EntCmd *owr=nullptr)
 Constructor.
 
void assignTag (int newTag)
 Establece el valor del tag.
 
int getTag (void) const
 
- Public Member Functions inherited from XC::MovableObject
 MovableObject (int classTag, int dbTag)
 Constructor.
 
 MovableObject (int classTag)
 Constructor.
 
 MovableObject (const MovableObject &otro)
 Copy constructor.
 
MovableObjectoperator= (const MovableObject &otro)
 Operacdor asignación.
 
int getClassTag (void) const
 Returns the tag de la clase.
 
int getDbTag (void) const
 Returns the tag para la database.
 
int getDbTag (CommParameters &)
 Returns the tag para la database.
 
void setDbTag (int dbTag)
 Asigna el tag para la database.
 
void setDbTag (CommParameters &)
 Asigna, sólo si es preciso, el tag para la database.
 
virtual int setVariable (const std::string &variable, Information &)
 Returns the identificador de la variable cuyo nombre being passed as parameter.
 
virtual int getVariable (const std::string &variable, Information &)
 
- Public Member Functions inherited from XC::DistributedBase
 DistributedBase (void)
 Constructor.
 
virtual DbTagDatagetDbTagData (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.
 

Additional Inherited Members

- Public Types inherited from XC::Element
typedef std::vector< const Node * > NodesEdge
 
- Static Public Member Functions inherited from XC::ElementBase< 2 >
static const int numNodos (void)
 Returns the element number of nodes.
 
- Static Public Member Functions inherited from XC::Element
static void setDeadSRF (const double &d)
 Assigns Stress Reduction Factor for element deactivation.
 
static DefaultTaggetDefaultTag (void)
 Returns next element's tag value by default.
 
- Static Public Attributes inherited from XC::Element
static double dead_srf = 1e-6
 Stress reduction factor for foozen elements.
 
- Protected Member Functions inherited from XC::ProtoTruss
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.
 
void setup_matrix_vector_ptrs (int dofNd1)
 Set the number of dof for element and set matrix and vector pointers.
 
- Protected Member Functions inherited from XC::Element1D
TritrizPtrElem put_on_mesh (const TritrizPtrNod &, meshing_dir dm) const
 Places the element on the mesh.
 
TritrizPtrElem cose (const SetEstruct &f1, const SetEstruct &f2) const
 
int sendCoordTransf (int posFlag, const int &, const int &, CommParameters &)
 Envía la coordinate transformation through the channel being passed as parameter.
 
CrdTransfrecvCoordTransf (int posFlag, const int &, const int &, const CommParameters &)
 Recibe la coordinate transformation through the channel being passed as parameter.
 
CrdTransf2drecvCoordTransf2d (int posFlag, const int &, const int &, const CommParameters &)
 Recibe una coordinate transformation 2d through the channel being passed as parameter.
 
CrdTransf3drecvCoordTransf3d (int posFlag, const int &, const int &, const CommParameters &)
 Recibe una coordinate transformation 3d through the channel being passed as parameter.
 
- Protected Member Functions inherited from XC::ElementBase< 2 >
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.
 
- Protected Member Functions inherited from XC::Element
const VectorgetRayleighDampingForces (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.
 
- Protected Member Functions inherited from XC::MeshComponent
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.
 
- Protected Member Functions inherited from XC::ContinuaReprComponent
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.
 
- Protected Member Functions inherited from XC::DomainComponent
 DomainComponent (int tag, int classTag)
 Constructor.
 
int sendData (CommParameters &)
 Send object members through the channel being passed as parameter.
 
int recvData (const CommParameters &)
 Receives object members through the channel being passed as parameter.
 
- Protected Member Functions inherited from XC::TaggedObject
void setTag (int newTag)
 Establece el valor del tag.
 
- Protected Attributes inherited from XC::ProtoTruss
int numDOF
 number of dof for truss
 
int dimSpace
 truss in 2 or 3d domain
 
MatrixtheMatrix
 pointer to objects matrix (a class wide Matrix)
 
VectortheVector
 pointer to objects vector (a class wide Vector)
 
- Protected Attributes inherited from XC::Element1D
std::vector< double > longsTributarias
 
- Protected Attributes inherited from XC::ElementBase< 2 >
NodePtrsWithIDs theNodes
 pointers to node.
 
- Protected Attributes inherited from XC::Element
Vector load
 vector for applying loads
 
RayleighDampingFactors rayFactors
 Rayleigh damping factors.
 
Matrix Kc
 pointer to hold last committed matrix if needed for rayleigh damping
 
- Protected Attributes inherited from XC::MeshComponent
int index
 Index for VTK arrays.
 
LabelContainer labels
 Label container.
 
- Static Protected Attributes inherited from XC::ProtoTruss
static Matrix trussM2
 
static Matrix trussM3
 
static Matrix trussM4
 
static Matrix trussM6
 
static Matrix trussM12
 
static Vector trussV2
 
static Vector trussV3
 
static Vector trussV4
 
static Vector trussV6
 
static Vector trussV12
 

Constructor & Destructor Documentation

XC::Spring::Spring ( void  )

constructor: invoked by a FEM_ObjectBroker - blank object that recvSelf needs to be invoked upon

XC::Spring::~Spring ( void  )

destructor delete must be invoked on any objects created by the object and on the matertial object.

Member Function Documentation

void XC::Spring::setDomain ( Domain theDomain)
virtual

method: setDomain() to set a link to the enclosing XC::Domain and to set the node pointers. also determines the number of dof associated with the Spring element, we set matrix and vector pointers, allocate space for t matrix, determine the length and set the transformation matrix.

Reimplemented from XC::Element1D.


The documentation for this class was generated from the following files: