XC Open source finite element analysis program
|
Truss element with corotatinal formulation and material of type SectionForceDeformation. Small strain, large displacement corotational space truss element, as described by Crisfield in "Nonlinear Finite Element Analysis of Solids and Structures", Vol. 1, 1991, J.T. Wiley. More...
#include <CorotTrussSection.h>
Public Member Functions | |
CorotTrussSection (int tag, int dim, int Nd1, int Nd2, SectionForceDeformation &theMaterial) | |
CorotTrussSection (int tag, int dimension, const Material *ptr_mat) | |
Constructor. | |
CorotTrussSection (const CorotTrussSection &) | |
Copy constructor. | |
CorotTrussSection & | operator= (const CorotTrussSection &) |
Assignment operator. | |
Element * | getCopy (void) const |
Virtual constructor. | |
void | setDomain (Domain *theDomain) |
Sets the domain for the element. | |
int | commitState (void) |
Consuma el estado of the element. | |
int | revertToLastCommit (void) |
int | revertToStart (void) |
int | update (void) |
Actualiza el estado of the element. | |
const Material * | getMaterial (void) const |
Material * | getMaterial (void) |
virtual double | getRho (void) const |
Return the densidad of the section. | |
const Matrix & | getTangentStiff (void) const |
const Matrix & | getInitialStiff (void) const |
const Matrix & | getMass (void) const |
Returns the mass matrix. | |
int | addLoad (ElementalLoad *theLoad, double loadFactor) |
int | addInertiaLoadToUnbalance (const Vector &accel) |
const Vector & | getResistingForce (void) const |
const Vector & | getResistingForceIncInertia (void) const |
Returns the action of the element over its attached nodes. Computes damping matrix. | |
int | sendSelf (CommParameters &) |
int | recvSelf (const CommParameters &) |
void | Print (std::ostream &s, int flag=0) |
Imprime el objeto. | |
Response * | setResponse (const std::vector< std::string > &argv, Information &eleInfo) |
int | getResponse (int responseID, Information &eleInformation) |
Public Member Functions inherited from XC::CorotTrussBase | |
CorotTrussBase (int tag, int classTag, int dim, int Nd1, int Nd2) | |
CorotTrussBase (int tag, int classTag, int dimension) | |
Constructor. | |
CorotTrussBase (const CorotTrussBase &) | |
Copy constructor. | |
CorotTrussBase & | operator= (const CorotTrussBase &) |
Operador de asignación. | |
const double & | getLo (void) const |
Return the longitud inicial of the element. | |
const double & | getLn (void) const |
Return the longitud actual of the element. | |
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. | |
ProtoTruss & | operator= (const ProtoTruss &) |
Assignment operator. | |
Material & | getMaterialRef (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 CrdTransf * | getCoordTransf (void) |
Returns (if possible) a pointer to the coordinate transformation. | |
virtual const CrdTransf * | getCoordTransf (void) const |
Returns (if possible) a const pointer to the coordinate transformation. | |
virtual CrdTransf * | checkCoordTransf (void) |
Returns (and checks that it exists) a const pointer to the coordinate transformation. | |
virtual const CrdTransf * | checkCoordTransf (void) const |
Returns (and checks that it exists) a const pointer to the coordinate transformation. | |
virtual const Matrix & | getCooPuntos (const size_t &ndiv) const |
Returns puntos distribuidos entre los nodos extremos. | |
virtual const Vector & | getCooPunto (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. | |
ElementBase & | operator= (const ElementBase &otro) |
Assignment operator. | |
int | getNumExternalNodes (void) const |
Return the number of external nodes. | |
NodePtrsWithIDs & | getNodePtrs (void) |
Returns a pointer to the vector de nodos. | |
const NodePtrsWithIDs & | getNodePtrs (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 const Matrix & | getDamp (void) const |
Returns the matriz de amortiguamiento. | |
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 Vector & | getNodeResistingComponents (const size_t &, const Vector &) const |
Returns the generalized force of the element over the iNod-th node. | |
const Vector & | getNodeResistingForce (const size_t &iNod) const |
Returns the generalized force of the element over the iNod-th node. | |
const Vector & | getNodeResistingForceIncInertia (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 Vector & | getNodeResistingForce (const Node *) const |
Returns the fuerza generalizada of the element sobre el nodo pointed by the parameter. | |
const Vector & | getNodeResistingForceIncInertia (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. | |
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) |
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 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 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 Matrix & | getCooNodos (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 GaussModel & | getGaussModel (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 Domain * | getDomain (void) const |
Returns a pointer to the domain. | |
const Preprocessor * | GetPreprocessor (void) const |
Returns (if possible) a pointer to the preprocessor. | |
Preprocessor * | GetPreprocessor (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. | |
MovableObject & | operator= (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 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. | |
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 DefaultTag & | getDefaultTag (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::CorotTrussBase | |
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::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. | |
CrdTransf * | recvCoordTransf (int posFlag, const int &, const int &, const CommParameters &) |
Recibe la coordinate transformation through the channel being passed as parameter. | |
CrdTransf2d * | recvCoordTransf2d (int posFlag, const int &, const int &, const CommParameters &) |
Recibe una coordinate transformation 2d through the channel being passed as parameter. | |
CrdTransf3d * | recvCoordTransf3d (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 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. | |
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::CorotTrussBase | |
double | Lo |
initial length of truss | |
double | Ln |
current length of truss | |
double | d21 [3] |
current displacement offsets in basic system | |
Matrix | R |
Rotation matrix. | |
Protected Attributes inherited from XC::ProtoTruss | |
int | numDOF |
number of dof for truss | |
int | dimSpace |
truss in 2 or 3d domain | |
Matrix * | theMatrix |
pointer to objects matrix (a class wide Matrix) | |
Vector * | theVector |
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 |
Truss element with corotatinal formulation and material of type SectionForceDeformation. Small strain, large displacement corotational space truss element, as described by Crisfield in "Nonlinear Finite Element Analysis of Solids and Structures", Vol. 1, 1991, J.T. Wiley.