XC Open source finite element analysis program
|
Quadrangle defined by its four vertices. More...
#include <QuadSurface.h>
Public Member Functions | |
QuadSurface (Preprocessor *m, const size_t &ndivI=4, const size_t &ndivJ=4) | |
Constructor. | |
virtual SetEstruct * | getCopy (void) const |
Virtual constructor. | |
virtual size_t | NumVertices (void) const |
Returns the number of vertices. | |
void | setPuntos (const ID &) |
Creates and inserts the lines from the points identified by the indexes being passed as parameter. | |
void | setPuntos (const MatrizPtrPnt &pntPtrs) |
Creates and inserts the lines from the points being passed as parameter. | |
void | setPuntos (const m_int &) |
Creates and inserts the lines from the points being passed as parameter. If some of the indices is negative it means that this position is not needed to define the surface. | |
void | defGridPoints (const boost::python::list &) |
Vector3d | getIVector (void) const |
Vector3d | getJVector (void) const |
Vector3d | getKVector (void) const |
void | SetNDiv (const Edge *l, const size_t &nd) |
virtual void | ConciliaNDivIJ (void) |
Conciliate lines division numbers with those of the surface. | |
virtual void | SetNDivI (const size_t &ndi) |
Asigna el number of divisions en el eje i. | |
virtual void | SetNDivJ (const size_t &ndi) |
Asigna el number of divisions en el eje j. | |
void | SetElemSizeI (const double &sz) |
Computes the number of divisions on the i axis for an element edge size equal or lesser than the size being passed as parameter. | |
void | SetElemSizeJ (const double &sz) |
Computes the number of divisions on the j axis for an element edge size equal or lesser than the size being passed as parameter. | |
void | SetElemSizeIJ (const double &, const double &) |
Computes the number of divisions on the i and j axis for an element edges sizes equal or lesser than the sizes being passed as parameter. | |
bool | checkNDivs (const size_t &i, const size_t &j) const |
Verifies that the number of divisions of the lines are compatible. | |
bool | checkNDivs (void) const |
Verifies that the number of divisions of the lines are compatible. | |
void | create_nodes (void) |
Creates surface nodes. | |
void | genMesh (meshing_dir dm) |
Triggers mesh creation. | |
Public Member Functions inherited from XC::Face | |
Face (void) | |
Constructor. | |
Face (Preprocessor *m, const size_t &ndivI=4, const size_t &ndivJ=4) | |
Constructor. | |
Face (const std::string &nombre, Preprocessor *m, const size_t &ndivI=4, const size_t &ndivJ=4) | |
Constructor. More... | |
virtual unsigned short int | GetDimension (void) const |
Returns the dimension of the object. | |
void | actualiza_topologia (void) |
Updates topology. | |
size_t | NDivI (void) const |
size_t | NDivJ (void) const |
virtual const Pnt * | GetVertice (const size_t &i) const |
Returns the i-th vertex. | |
Polilinea3d | getContour (void) const |
Returns the contour of the face as a 3D polyline. | |
const std::set< const Body * > & | CuerposTocan (void) const |
Return the bodies that touch this surface (neighbors). | |
size_t | BordeComun (const Face &otra) const |
Returns the index of the edge in common with the surface being passed as parameter (if it exists). | |
int | SentidoBorde (const Edge *l, const Face &otra) const |
bool | Toca (const Body &b) const |
Returns true if the lines touches the body (neighbor). | |
virtual Node * | GetNodo (const size_t &i1, const size_t &j, const size_t &k) |
Returns a pointer to node which indices are being passed as parameters. | |
virtual const Node * | GetNodo (const size_t &i, const size_t &j, const size_t &k) const |
Returns a pointer to node which indices are being passed as parameters. | |
virtual Node * | GetNodo (const size_t &i, const size_t &j) |
Returns a pointer to node which indices are is being passed as parameter. | |
virtual const Node * | GetNodo (const size_t &i, const size_t &j) const |
Returns a pointer to node which indices are is being passed as parameter. | |
std::set< SetBase * > | get_sets (void) const |
Returns the sets that contains this surface. | |
void | add_to_sets (std::set< SetBase * > &) |
Appends the surface to each of the sets being passed as parameter. | |
int | getVtkCellType (void) const |
Interfaz con VTK. | |
int | getMEDCellType (void) const |
Interfaz con el formato MED de Salome. | |
Public Member Functions inherited from XC::CmbEdge | |
CmbEdge (void) | |
Constructor. | |
CmbEdge (Preprocessor *m, const size_t &nd=4) | |
Constructor. | |
CmbEdge (const std::string &nombre, Preprocessor *m, const size_t &nd) | |
Constructor. More... | |
virtual void | inserta (Edge *l) |
Inserts the line which pointer is being passed as parameter. | |
void | inserta (const size_t &i) |
Inserts (if found) the line which index is being passed as parameter. | |
Edge * | NuevaLinea (Pnt *, Pnt *) |
Creates a new line between the points being passed as parameters and inserts it on the edge set set. | |
Edge * | NuevaLinea (Pnt *, Pnt *, Pnt *) |
Creates a new circle arc between the points being passed as parameters and put it in the edge set. | |
void | addPoints (const ID &) |
Creates and inserts the the edges that link the points from the indexes being passed as parameter. | |
void | addLines (const ID &) |
Creates and inserts the edges from the indexes being passed as parameter. | |
size_t | NDiv (void) const |
Returns the number of divisions total. | |
void | SetNDiv (const size_t &nd) |
Establece el number of divisions total. | |
size_t | NumEdges (void) const |
Return the number of edges. | |
std::deque< Lado > & | getLados (void) |
void | reverse (void) |
double | getLongitud (void) const |
Return the longitud of the line. | |
const Pnt * | P1 (void) const |
Returns a constant pointer to start point. | |
const Pnt * | P2 (void) const |
Returns a constant pointer to end point. | |
size_t | IndiceEdge (const Edge *l) const |
Searchs the line l from those of this compound line. | |
const Lado * | GetLado (const size_t &i) const |
Returns a lado of the line compuesta. | |
Lado * | GetLado (const size_t &i) |
Returns a lado of the line compuesta. | |
const Lado * | GetLadoPorPuntos (const Pnt *, const Pnt *) const |
Returns the lado que tiene por extremos los puntos being passed as parameters. | |
Lado * | GetLadoPorPuntos (const Pnt *, const Pnt *) |
Returns the lado que tiene por extremos los puntos being passed as parameters. | |
const Lado * | GetLadoPorPuntos (const size_t &, const size_t &) const |
Returns the lado que tiene por extremos los puntos being passed as parameters. | |
Lado * | GetLadoPorPuntos (const size_t &, const size_t &) |
Returns the lado que tiene por extremos los puntos being passed as parameters. | |
std::deque< Edge * > | GetEdges (void) |
Return the deque of lines that define the edges. | |
virtual void | SetVertice (const size_t &, Pnt *) |
Sets the i-th vertex. | |
virtual ID | getKPoints (void) const |
Returns object k-points. | |
Polilinea3d | getPolyline (void) const |
BND3d | Bnd (void) const |
Returns object BND. | |
Public Member Functions inherited from XC::Edge | |
Edge (Preprocessor *m, const size_t &nd=4) | |
Constructor. | |
Edge (const std::string &nombre="", Preprocessor *m=nullptr, const size_t &nd=4) | |
Constructor. More... | |
bool | ExtremosEn (const Pnt *, const Pnt *) const |
Returns true if the points passed as parameters are the ends of the edge. | |
std::vector< int > | getIndicesVertices (void) const |
Return indices of the vertices. | |
void | SetElemSize (const double &sz) |
Compute the number of divisions necessary to get the element size passed as parameter. | |
std::set< const XC::Edge * > | GetLadosHomologos (const std::set< const XC::Edge * > &) const |
Return the homologous sides to that passed as a parameter. | |
const std::set< const Face * > & | SupsTocan (void) const |
Return the surfaces that touch the line. | |
const std::string & | NombresSupsTocan (void) const |
Return the surface names that touch the line. More... | |
bool | Toca (const Face &s) const |
Return true if the line touches the surface (neighbor). | |
bool | Toca (const Body &b) const |
Return true if the line touches the body. | |
bool | Extremo (const Pnt &) const |
Return true if it is an end point of the line. | |
virtual MatrizPos3d | get_pos_nodes (void) const |
Return a matrix of positions along the line. | |
Node * | GetNodoDir (const size_t &i) |
Returns the node whose ordinal index is passed as parameter, starting from the beginning. | |
const Node * | GetNodoDir (const size_t &i) const |
Return the node whose ordinal index is passed as parameter, starting from the beginning. | |
Node * | GetNodoInv (const size_t &i) |
Return the node whose ordinal index is passed as parameter, starting from the end. | |
const Node * | GetNodoInv (const size_t &i) const |
Return the node whose ordinal index is passed as parameter, starting from the end. | |
Node * | GetPrimerNodo (void) |
Return the first node of the line. | |
const Node * | GetPrimerNodo (void) const |
Return the first node of the line. | |
Node * | GetUltimoNodo (void) |
Return the last node of the line. | |
const Node * | GetUltimoNodo (void) const |
Return the last node of the line. | |
std::vector< int > | GetTagsNodosDir (void) const |
Return the IDs of the nodes in forward order. | |
std::vector< int > | GetTagsNodosInv (void) const |
Return the IDs of the nodes in reverse order. | |
MatrizPos3d | GetPosNodosDir (void) const |
Return the positions of the nodes in forward order. | |
MatrizPos3d | GetPosNodosInv (void) const |
Return the positions of the nodes in reverse order. | |
void | add_to_sets (std::set< SetBase * > &) |
Add the «edge» to the sets passed as parameters. | |
virtual const Vector & | getTang (const double &) const |
Return a vector tangent to the line in point at parameter s. | |
void | divide (void) |
Create points along the line. | |
Public Member Functions inherited from XC::EntMdlr | |
EntMdlr (Preprocessor *m, const size_t &i=0) | |
Constructor. | |
EntMdlr (const std::string &nombre="", const size_t &i=0, Preprocessor *m=nullptr) | |
Constructor. More... | |
EntMdlr (const EntMdlr &otro) | |
Copy constructor. | |
EntMdlr & | operator= (const EntMdlr &otro) |
Assignment operator. | |
virtual void | set_indice (const size_t &i) |
Assigns the objects index for its use in VTK arrays(see numera in Set). | |
size_t | getIdx (void) const |
Returns the index of the object for it use in VTK arrays. | |
bool | TieneNodos (void) const |
virtual size_t | getNumNodeLayers (void) const |
virtual size_t | getNumNodeRows (void) const |
virtual size_t | getNumNodeColumns (void) const |
virtual size_t | getNumElementLayers (void) const |
virtual size_t | getNumElementRows (void) const |
virtual size_t | getNumElementColumns (void) const |
Node * | getNearestNode (const Pos3d &p) |
Returns the node closest to the point being passed as parameter. | |
const Node * | getNearestNode (const Pos3d &p) const |
Returns the node closest to the point being passed as parameter. | |
ID | getNodeIndices (const Node *) const |
Returns the indexes of the node being passed as parameter. | |
virtual Element * | getElement (const size_t &i=1, const size_t &j=1, const size_t &k=1) |
Returns a pointer to the element which indexes are being passed as paremeters. | |
virtual const Element * | getElement (const size_t &i=1, const size_t &j=1, const size_t &k=1) const |
Returns a pointer to the element which indices are being passed as paremeters. | |
Node * | buscaNodo (const int &tag) |
Returns a pointer to the node cuyo identificador is being passed as parameter. | |
const Node * | buscaNodo (const int &tag) const |
Returns a pointer to the node cuyo identificador is being passed as parameter. | |
std::vector< int > | getTagsNodos (void) const |
Returns the tags of the nodes. | |
Element * | findElement (const int &) |
Returns a pointer to the element identified by the tag being passed as parameter. | |
const Element * | findElement (const int &) const |
Returns a pointer to the element identified by the tag being passed as parameter. | |
Element * | getNearestElement (const Pos3d &p) |
Returns the element closest to the point being passed as parameter. | |
const Element * | getNearestElement (const Pos3d &p) const |
Returns the element closest to the point being passed as parameter. | |
TritrizPtrNod & | getTtzNodes (void) |
const TritrizPtrNod & | getTtzNodes (void) const |
TritrizPtrElem & | getTtzElements (void) |
const TritrizPtrElem & | getTtzElements (void) const |
SetFilaI | GetVarRefFilaI (size_t f=1, size_t c=1, const std::string &nmb="tmp") |
SetFilaI | GetVarRefFilaI (const RangoIndice &rango_capas, size_t f, size_t c, const std::string &nmb="tmp") |
SetFilaI | GetVarRefFilaI (const RangoTritriz &rango, const std::string &nmb="tmp") |
SetFilaJ | GetVarRefFilaJ (size_t capa=1, size_t c=1, const std::string &nmb="tmp") |
SetFilaJ | GetVarRefFilaJ (size_t capa, const RangoIndice &rango_filas, size_t c, const std::string &nmb="tmp") |
SetFilaJ | GetVarRefFilaJ (const RangoTritriz &rango, const std::string &nmb="tmp") |
SetFilaK | GetVarRefFilaK (size_t capa=1, size_t f=1, const std::string &nmb="tmp") |
SetFilaK | GetVarRefFilaK (size_t capa, size_t f, const RangoIndice &rango_cols, const std::string &nmb="tmp") |
SetFilaK | GetVarRefFilaK (const RangoTritriz &rango, const std::string &nmb="tmp") |
void | fix (const SFreedom_Constraint &) |
Fixes the nodes of the set. | |
void | setGenMesh (bool m) |
Returns true if the points begins or ends in the line. | |
const bool & | getGenMesh (void) const |
Returns true if the points begins or ends in the line. | |
virtual double | DistanciaA2 (const Pos3d &pt) const |
Returns the squared distance to the position being passed as parameter. | |
virtual double | DistanciaA (const Pos3d &pt) const |
Returns the distance to the position being passed as parameter. | |
Vector | getSimpsonWeights (const std::string &, const std::string &, const size_t &f=1, const size_t &c=1, const size_t &n=10) const |
Return Simpson's weights. | |
void | BorraPtrNodElem (void) |
Clears pointer to nodes and elements. | |
virtual | ~EntMdlr (void) |
Destructor. | |
Public Member Functions inherited from XC::SetEstruct | |
SetEstruct (const std::string &nmb="", Preprocessor *preprocessor=nullptr) | |
Constructor. | |
SetEstruct (const SetEstruct &otro) | |
Copy constructor. | |
SetEstruct & | operator= (const SetEstruct &otro) |
Assignment operator. | |
size_t | getNumberOfNodes (void) const |
size_t | getNumberOfElements (void) const |
bool | In (const Node *) const |
Returns true if the nodo belongs to the set. | |
bool | In (const Element *) const |
Returns true if the element belongs to the set. | |
bool | EsFilaI (void) const |
Returns true if only the I index varies. | |
bool | EsFilaJ (void) const |
Returns true if only the J index varies. | |
bool | EsFilaK (void) const |
Returns true if only the K index varies. | |
bool | EsCapaICte (void) const |
Returns true if only J and K indices varies. | |
bool | EsCapaJCte (void) const |
Returns true if only J and K indices varies. | |
bool | EsCapaKCte (void) const |
Returns true if only I and J indices varies. | |
size_t | Dimension (void) const |
Return the dimension of the range (0,1,2 or 3). Zero if the range is empty, 1 if there is more than one layer, 2 if there are more than one row and three if there are more than one column. | |
std::string | GetStrTipo (void) const |
Returns the set type filaI, filaJ, filaK, capaICte,... | |
Node * | getNodeI (const size_t &i) |
Node * | getNodeIJ (const size_t &i, const size_t &j) |
Node * | getNodeIJK (const size_t &i, const size_t &j, const size_t &k) |
Element * | getElementI (const size_t &i) |
Element * | getElementIJ (const size_t &i, const size_t &j) |
Element * | getElementIJK (const size_t &i, const size_t &j, const size_t &k) |
std::set< int > | getNodeTags (void) const |
Returns the tags of the nodes. | |
boost::python::list | getNodes (void) |
std::set< int > | getElementTags (void) const |
Returns the tags of the elements. | |
boost::python::list | getElements (void) |
ElementEdges | getElementEdges (void) |
Returns the element edges with both end nodes belong to the nodes of the set. | |
Public Member Functions inherited from XC::SetBase | |
SetBase (const std::string &nmb="", Preprocessor *preprocessor=nullptr) | |
Constructor. | |
const ID & | getIdNodeTags (void) const |
Returns the tags of the nodes en un vector de enteros. | |
const ID & | getIdElementTags (void) const |
Returns the tags of the elements en un vector de enteros. | |
virtual bool | In (const Pnt *) const |
Returns true if the point belongs to the set. | |
virtual bool | In (const Edge *) const |
Returns true if the edge belongs to the set. | |
virtual bool | In (const Face *) const |
Returns true if the surface belongs to the set. | |
virtual bool | In (const Body *) const |
Returns true if the body belongs to the set. | |
virtual bool | In (const UniformGrid *) const |
Returns true if the «uniform grid» belongs to the set. | |
void | resetTributarias (void) const |
Reset tributary areas (or lengths, or volumes) for the nodes that are connected to the set elements. | |
void | calculaLongsTributarias (bool initialGeometry=true) const |
Calcula las longitudes tributarias correspondientes a cada nodo of the elements of the set. | |
void | calculaAreasTributarias (bool initialGeometry=true) const |
Calcula las áreas tributarias correspondientes a cada nodo of the elements of the set. | |
void | calculaVolsTributarios (bool initialGeometry=true) const |
Calcula los volúmenes tributarios correspondientes a cada nodo of the elements of the set. | |
Public Member Functions inherited from XC::EntMdlrBase | |
EntMdlrBase (const std::string &nmb="", Preprocessor *preprocessor=nullptr) | |
Constructor. | |
EntMdlrBase (const EntMdlrBase &otro) | |
Copy constructor. | |
EntMdlrBase & | operator= (const EntMdlrBase &otro) |
Assignment operator. | |
const Preprocessor * | GetPreprocessor (void) const |
Preprocessor * | GetPreprocessor (void) |
size_t | GetTag (void) const |
Return the object identifier in the model (tag). | |
Pnt * | BuscaPnt (const size_t &) |
Return a pointer to the point identified by the tag being passed as parameter. | |
const Pnt * | BuscaPnt (const size_t &) const |
Return a const pointer to the point identified by the tag being passed as parameter. | |
Edge * | BuscaEdge (const size_t &) |
Return a pointer to the edge identified by the tag being passed as parameter. | |
const Edge * | BuscaEdge (const size_t &) const |
Return a pointer to the edge identified by the tag being passed as parameter. | |
Face * | BuscaFace (const size_t &) |
Return a pointer to the face identified by the tag being passed as parameter. | |
const Face * | BuscaFace (const size_t &) const |
Returns a pointer to the face identified by the tag being passed as parameter. | |
virtual int | sendSelf (CommParameters &) |
Send objects through the channel being passed as parameter. | |
virtual int | recvSelf (const CommParameters &) |
Receive objects through the channel being passed as parameter. | |
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 | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
virtual int | updateParameter (int parameterID, Information &info) |
virtual int | activateParameter (int parameterID) |
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. | |
Protected Member Functions | |
MatrizPos3d | get_posiciones (void) const |
Returns (ndivI+1)*(ndivJ+1) positions to place the nodes. | |
const Edge * | get_lado_homologo (const Edge *l) const |
Returns the lado homólogo al being passed as parameter. | |
Protected Member Functions inherited from XC::CmbEdge | |
Lado * | primera_linea (void) |
Returns a pointer to the first lado. | |
const Lado * | primera_linea (void) const |
Returns a pointer to the first lado. | |
Lado * | ultima_linea (void) |
Returns a pointer to the último lado. | |
const Lado * | ultima_linea (void) const |
Returns a pointer to the último lado. | |
const Pnt * | first_point (void) const |
Returns a pointer to the first punto. | |
const Pnt * | last_point (void) const |
Returns a pointer to the último punto. | |
void | create_nodes_lineas (void) |
Triggers node creation on the edges. | |
void | line_meshing (meshing_dir dm) |
Triggers meshing of lines. | |
Pnt * | P1 (void) |
Return a pointer to the edge's start point. | |
Pnt * | P2 (void) |
Return a pointer to the edge's start point. | |
void | cierra (void) |
Closes the line. | |
Protected Member Functions inherited from XC::Edge | |
void | inserta_surf (Face *s) |
Insert a surface in contact with the line (neighbour). | |
void | create_nodes_en_extremos (void) |
Create the nodes for both end points of the edge. | |
Protected Member Functions inherited from XC::EntMdlr | |
void | create_nodes (const TritrizPos3d &) |
Creates nodes at the positions being passed as parameters. | |
Node * | create_node (const Pos3d &pos, size_t i=1, size_t j=1, size_t k=1) |
Creates a node at the position being passed as parameter. | |
bool | create_elements (meshing_dir dm) |
Creates elements on the nodes created in create_nodes. | |
Pnt * | create_point (const Pos3d &) |
Creates a point at the position being passed as parameter. | |
void | create_points (const MatrizPos3d &) |
Creates points at the positions being passed as parameters. | |
SetEstruct * | create_set_fila (const RangoTritriz &, const std::string &) |
Creates a set that corresponds to a row of nodes and elements. | |
void | clearAll (void) |
Clears object contents. | |
Protected Member Functions inherited from XC::SetEstruct | |
void | add_elements (const TritrizPtrElem &) |
Adds to the model the elements being passed as parameters. | |
NodePtrSet | getNodePtrSet (void) |
Returns the pointers to the set nodes. | |
Protected Member Functions inherited from XC::EntMdlrBase | |
const Preprocessor * | get_preprocessor (void) const |
Return a pointer to the preprocessor. | |
Preprocessor * | get_preprocessor (void) |
Return a pointer to the preprocessor. | |
bool | check_preprocessor (void) const |
Check for preprocessor. | |
int | sendIdsEtiquetas (const int &, const int &, CommParameters &) |
Send labels through the channel being passed as parameter. | |
int | recvIdsEtiquetas (const int &, const int &, 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 &) |
Receive members through the channel being passed as parameter. | |
Additional Inherited Members | |
Protected Attributes inherited from XC::Face | |
size_t | ndivj |
Protected Attributes inherited from XC::CmbEdge | |
std::deque< Lado > | lineas |
Lines that compose the object. | |
Protected Attributes inherited from XC::EntMdlr | |
TritrizPtrNod | ttzNodes |
TritrizPtrElem | ttzElements |
Protected Attributes inherited from XC::EntMdlrBase | |
LabelContainer | labels |
Label container. | |
Quadrangle defined by its four vertices.