XC Open source finite element analysis program
|
Hexaedro de ocho nodos. More...
#include <EightNodeBrick.h>
Public Member Functions | |
EightNodeBrick (int element_number, int node_numb_1, int node_numb_2, int node_numb_3, int node_numb_4, int node_numb_5, int node_numb_6, int node_numb_7, int node_numb_8, NDMaterial *Globalmmodel, const BodyForces3D &bForces, double r, double p) | |
Element * | getCopy (void) const |
Virtual constructor. | |
int | update (void) |
Actualiza el estado of the element. | |
int | getNumDOF (void) const |
void | setDomain (Domain *theDomain) |
Sets the domain for the element. | |
int | commitState () |
Consuma el estado of the element. | |
int | revertToLastCommit () |
int | revertToStart () |
const Matrix & | getTangentStiff (void) const |
const Matrix & | getInitialStiff (void) const |
const Matrix & | getMass (void) const |
Returns the mass matrix. | |
const Matrix & | getConsMass (void) |
int | addLoad (ElementalLoad *theLoad, double loadFactor) |
int | addInertiaLoadToUnbalance (const Vector &accel) |
const Vector | FormEquiBodyForce (void) |
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 &eleInformation) |
int | getResponse (int responseID, Information &eleInformation) |
void | incremental_Update (void) |
BJtensor | H_3D (double r1, double r2, double r3) const |
BJtensor | interp_poli_at (double r, double s, double t) |
BJtensor | dh_drst_at (double r, double s, double t) const |
EightNodeBrick & | operator[] (int subscript) |
BJtensor | getStiffnessTensor (void) const |
void | set_strain_stress_tensor (FILE *fp, double *u) |
BJtensor | getMassTensor (void) const |
Returns the tensor de masas. | |
BJtensor | Jacobian_3D (BJtensor dh) const |
BJtensor | Jacobian_3Dinv (BJtensor dh) const |
BJtensor | Nodal_Coordinates (void) const |
BJtensor | incr_disp (void) const |
BJtensor | total_disp (void) const |
BJtensor | total_disp (FILE *fp, double *u) |
BJtensor | stiffness_matrix (const BJtensor &K) |
BJtensor | mass_matrix (const BJtensor &M) |
int | get_global_number_of_node (int local_node_number) |
int | get_Brick_Number (void) |
int * | get_LM (void) |
double | get_Gauss_p_c (short order, short point_numb) const |
double | get_Gauss_p_w (short order, short point_numb) const |
BJtensor | nodal_forces (void) const |
BJtensor | iterative_nodal_forces (void) const |
BJtensor | nodal_forces_from_stress (stresstensor &) const |
BJtensor | linearized_nodal_forces (void) const |
BJtensor | update_stress_strain (BJtensor &disp) |
void | report (char *) |
void | reportshort (char *) |
void | reportPAK (char *) |
void | reportpqtheta (int) |
void | computeGaussPoint (void) |
void | reportCIPIC (char *) |
void | reportTensorF (FILE *) |
Public Member Functions inherited from XC::ElementBase< 8 > | |
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 size_t | getDimension (void) const |
Returns the element dimension (0, 1, 3 or 3). | |
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. | |
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],...·]. | |
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. | |
virtual double | getDist2 (const Pos2d &p, bool initialGeometry=true) const |
Returns the squared distance from the element to the point being passed as parameter. | |
virtual double | getDist (const Pos2d &p, bool initialGeometry=true) const |
Returns the the distance from the element to the point being passed as parameter. | |
virtual double | getDist2 (const Pos3d &p, bool initialGeometry=true) const |
Returns the squared distance from the element to the point being passed as parameter. | |
virtual double | getDist (const Pos3d &p, bool initialGeometry=true) const |
Returns the the distance from the element to the point being passed as parameter. | |
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 void | calculaLongsTributarias (bool initialGeometry=true) const |
Computes the tributary lengths that corresponds to each node of the element. | |
virtual double | getLongTributaria (const Node *) const |
Returns the tributary length corresponding to the node 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 int | getVtkCellType (void) const |
Interfaz con VTK. | |
virtual int | getMEDCellType (void) const |
Interfaz con el formato MED de Salome. | |
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< 8 > | |
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::ElementBase< 8 > | |
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 | |
virtual TritrizPtrElem | put_on_mesh (const TritrizPtrNod &, meshing_dir) const |
Places the element on the mesh. | |
virtual TritrizPtrElem | 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. | |
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::ElementBase< 8 > | |
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. | |
Hexaedro de ocho nodos.
XC::BJtensor XC::EightNodeBrick::dh_drst_at | ( | double | r, |
double | s, | ||
double | t | ||
) | const |
8.0;// - (dh.val(15,1)+dh.val(16,1)+dh.val(20,1))/2.0;
8.0;// - (dh.val(15,2)+dh.val(16,2)+dh.val(20,2))/2.0;
8.0;// - (dh.val(15,3)+dh.val(16,3)+dh.val(20,3))/2.0;
8.0;// - (dh.val(14,1)+dh.val(15,1)+dh.val(19,1))/2.0;
8.0;// - (dh.val(14,2)+dh.val(15,2)+dh.val(19,2))/2.0;
8.0;// - (dh.val(14,3)+dh.val(15,3)+dh.val(19,3))/2.0;
8.0;// - (dh.val(13,1)+dh.val(14,1)+dh.val(18,1))/2.0;
8.0;// - (dh.val(13,2)+dh.val(14,2)+dh.val(18,2))/2.0;
8.0;//- (dh.val(13,3)+dh.val(14,3)+dh.val(18,3))/2.0;
8.0;// - (dh.val(13,1)+dh.val(16,1)+dh.val(17,1))/2.0;
8.0;// - (dh.val(13,2)+dh.val(16,2)+dh.val(17,2))/2.0;
8.0;// - (dh.val(13,3)+dh.val(16,3)+dh.val(17,3))/2.0;
8.0;// - (dh.val(11,1)+dh.val(12,1)+dh.val(20,1))/2.0;
8.0;// - (dh.val(11,2)+dh.val(12,2)+dh.val(20,2))/2.0;
8.0;// - (dh.val(11,3)+dh.val(12,3)+dh.val(20,3))/2.0;
8.0;// - (dh.val(10,1)+dh.val(11,1)+dh.val(19,1))/2.0;
8.0;// - (dh.val(10,2)+dh.val(11,2)+dh.val(19,2))/2.0;
8.0;// - (dh.val(10,3)+dh.val(11,3)+dh.val(19,3))/2.0;
8.0;// - (dh.val(10,1)+dh.val(18,1)+dh.val(9,1))/2.0;
8.0;// - (dh.val(10,2)+dh.val(18,2)+dh.val(9,2))/2.0;
8.0;// - (dh.val(10,3)+dh.val(18,3)+dh.val(9,3))/2.0;
8.0;// - (dh.val(12,1)+dh.val(17,1)+dh.val(9,1))/2.0;
8.0;// - (dh.val(12,2)+dh.val(17,2)+dh.val(9,2))/2.0;
8.0;//- (dh.val(12,3)+dh.val(17,3)+dh.val(9,3))/2.0;
void XC::EightNodeBrick::incremental_Update | ( | void | ) |
stresstensor incremental_stress;