XC Open source finite element analysis program
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members

Surface. More...

#include <Face.h>

Inheritance diagram for XC::Face:
XC::CmbEdge XC::Edge XC::EntMdlr XC::SetEstruct XC::SetBase XC::EntMdlrBase XC::MovableObject XC::DistributedBase XC::QuadSurface

Public Member Functions

 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
 
virtual void SetNDivI (const size_t &ndi)
 Asigna el number of divisions en el eje i.
 
size_t NDivJ (void) const
 
virtual void SetNDivJ (const size_t &ndj)
 Asigna el number of divisions en el eje j.
 
virtual void ConciliaNDivIJ (void)=0
 
size_t NumVertices (void) const
 Returns the number of vertices.
 
virtual const PntGetVertice (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 bool checkNDivs (void) const =0
 
virtual NodeGetNodo (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 NodeGetNodo (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 NodeGetNodo (const size_t &i, const size_t &j)
 Returns a pointer to node which indices are is being passed as parameter.
 
virtual const NodeGetNodo (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 SetEstructgetCopy (void) const
 Virtual constructor.
 
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.
 
EdgeNuevaLinea (Pnt *, Pnt *)
 Creates a new line between the points being passed as parameters and inserts it on the edge set set.
 
EdgeNuevaLinea (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 PntP1 (void) const
 Returns a constant pointer to start point.
 
const PntP2 (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 LadoGetLado (const size_t &i) const
 Returns a lado of the line compuesta.
 
LadoGetLado (const size_t &i)
 Returns a lado of the line compuesta.
 
const LadoGetLadoPorPuntos (const Pnt *, const Pnt *) const
 Returns the lado que tiene por extremos los puntos being passed as parameters.
 
LadoGetLadoPorPuntos (const Pnt *, const Pnt *)
 Returns the lado que tiene por extremos los puntos being passed as parameters.
 
const LadoGetLadoPorPuntos (const size_t &, const size_t &) const
 Returns the lado que tiene por extremos los puntos being passed as parameters.
 
LadoGetLadoPorPuntos (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.
 
void genMesh (meshing_dir dm)
 Creates the mesh.
 
- 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 void create_nodes (void)
 Create nodes on objects.
 
virtual MatrizPos3d get_pos_nodes (void) const
 Return a matrix of positions along the line.
 
NodeGetNodoDir (const size_t &i)
 Returns the node whose ordinal index is passed as parameter, starting from the beginning.
 
const NodeGetNodoDir (const size_t &i) const
 Return the node whose ordinal index is passed as parameter, starting from the beginning.
 
NodeGetNodoInv (const size_t &i)
 Return the node whose ordinal index is passed as parameter, starting from the end.
 
const NodeGetNodoInv (const size_t &i) const
 Return the node whose ordinal index is passed as parameter, starting from the end.
 
NodeGetPrimerNodo (void)
 Return the first node of the line.
 
const NodeGetPrimerNodo (void) const
 Return the first node of the line.
 
NodeGetUltimoNodo (void)
 Return the last node of the line.
 
const NodeGetUltimoNodo (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 VectorgetTang (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.
 
EntMdlroperator= (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
 
NodegetNearestNode (const Pos3d &p)
 Returns the node closest to the point being passed as parameter.
 
const NodegetNearestNode (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 ElementgetElement (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 ElementgetElement (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.
 
NodebuscaNodo (const int &tag)
 Returns a pointer to the node cuyo identificador is being passed as parameter.
 
const NodebuscaNodo (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.
 
ElementfindElement (const int &)
 Returns a pointer to the element identified by the tag being passed as parameter.
 
const ElementfindElement (const int &) const
 Returns a pointer to the element identified by the tag being passed as parameter.
 
ElementgetNearestElement (const Pos3d &p)
 Returns the element closest to the point being passed as parameter.
 
const ElementgetNearestElement (const Pos3d &p) const
 Returns the element closest to the point being passed as parameter.
 
TritrizPtrNodgetTtzNodes (void)
 
const TritrizPtrNodgetTtzNodes (void) const
 
TritrizPtrElemgetTtzElements (void)
 
const TritrizPtrElemgetTtzElements (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.
 
SetEstructoperator= (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,...
 
NodegetNodeI (const size_t &i)
 
NodegetNodeIJ (const size_t &i, const size_t &j)
 
NodegetNodeIJK (const size_t &i, const size_t &j, const size_t &k)
 
ElementgetElementI (const size_t &i)
 
ElementgetElementIJ (const size_t &i, const size_t &j)
 
ElementgetElementIJK (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 IDgetIdNodeTags (void) const
 Returns the tags of the nodes en un vector de enteros.
 
const IDgetIdElementTags (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.
 
EntMdlrBaseoperator= (const EntMdlrBase &otro)
 Assignment operator.
 
const PreprocessorGetPreprocessor (void) const
 
PreprocessorGetPreprocessor (void)
 
size_t GetTag (void) const
 Return the object identifier in the model (tag).
 
PntBuscaPnt (const size_t &)
 Return a pointer to the point identified by the tag being passed as parameter.
 
const PntBuscaPnt (const size_t &) const
 Return a const pointer to the point identified by the tag being passed as parameter.
 
EdgeBuscaEdge (const size_t &)
 Return a pointer to the edge identified by the tag being passed as parameter.
 
const EdgeBuscaEdge (const size_t &) const
 Return a pointer to the edge identified by the tag being passed as parameter.
 
FaceBuscaFace (const size_t &)
 Return a pointer to the face identified by the tag being passed as parameter.
 
const FaceBuscaFace (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.
 
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 setParameter (const std::vector< std::string > &argv, Parameter &param)
 
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 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.
 

Protected Member Functions

virtual const Edgeget_lado_homologo (const Edge *l) const =0
 
- Protected Member Functions inherited from XC::CmbEdge
MatrizPos3d get_posiciones (void) const
 
Ladoprimera_linea (void)
 Returns a pointer to the first lado.
 
const Ladoprimera_linea (void) const
 Returns a pointer to the first lado.
 
Ladoultima_linea (void)
 Returns a pointer to the último lado.
 
const Ladoultima_linea (void) const
 Returns a pointer to the último lado.
 
const Pntfirst_point (void) const
 Returns a pointer to the first punto.
 
const Pntlast_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.
 
PntP1 (void)
 Return a pointer to the edge's start point.
 
PntP2 (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.
 
Nodecreate_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.
 
Pntcreate_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.
 
SetEstructcreate_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 Preprocessorget_preprocessor (void) const
 Return a pointer to the preprocessor.
 
Preprocessorget_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.
 

Protected Attributes

size_t ndivj
 
- Protected Attributes inherited from XC::CmbEdge
std::deque< Ladolineas
 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.
 

Friends

class Edge
 
class Body
 

Detailed Description

Surface.

Constructor & Destructor Documentation

XC::Face::Face ( const std::string &  nombre,
Preprocessor m,
const size_t &  ndivI = 4,
const size_t &  ndivJ = 4 
)

Constructor.

Parameters
nombreObject identifier.
mPointer to preprocessor.
ndnumber of divisions.

Member Function Documentation

int XC::Face::SentidoBorde ( const Edge l,
const Face otra 
) const

Returns:

  • 1 if the line belongs to both surfaces and the orientation is the same.
  • -1 if the line belongs to both surfaces and the orientation is the opposite.
  • 0 line doesn't belongs to both surfaces.

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