34 #include "preprocessor/set_mgmt/SetEstruct.h" 35 #include "preprocessor/multi_block_topology/matrices/NodePtrArray3d.h" 36 #include "preprocessor/multi_block_topology/matrices/ElemPtrArray3d.h" 37 #include "preprocessor/MeshingParams.h" 66 virtual void update_topology(
void)= 0;
89 virtual bool In(
const GeomObj3d &,
const double &tol= 0.0)
const;
90 virtual bool Out(
const GeomObj3d &,
const double &tol= 0.0)
const;
92 inline bool hasNodes(
void)
const 93 {
return !ttzNodes.empty(); }
94 virtual size_t getNumNodeLayers(
void)
const 95 {
return ttzNodes.getNumberOfLayers(); }
96 virtual size_t getNumNodeRows(
void)
const 97 {
return ttzNodes.getNumberOfRows(); }
98 virtual size_t getNumNodeColumns(
void)
const 99 {
return ttzNodes.getNumberOfColumns(); }
100 virtual size_t getNumElementLayers(
void)
const 101 {
return ttzElements.getNumberOfLayers(); }
102 virtual size_t getNumElementRows(
void)
const 103 {
return ttzElements.getNumberOfRows(); }
104 virtual size_t getNumElementColumns(
void)
const 105 {
return ttzElements.getNumberOfColumns(); }
107 virtual Node *
getNode(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1);
108 virtual const Node *
getNode(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
const;
114 virtual Element *
getElement(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1);
115 virtual const Element *
getElement(
const size_t &i=1,
const size_t &j=1,
const size_t &k=1)
const;
136 {
return ttzElements; }
138 {
return ttzElements; }
142 virtual BND3d Bnd(
void)
const= 0;
144 IRowSet getVarRefIRow(
size_t f=1,
size_t c=1,
const std::string &nmb=
"tmp");
145 IRowSet getVarRefIRow(
const RangoIndice &layer_range,
size_t f,
size_t c,
const std::string &nmb=
"tmp");
148 JRowSet getVarRefJRow(
size_t layer=1,
size_t c=1,
const std::string &nmb=
"tmp");
149 JRowSet getVarRefJRow(
size_t layer,
const RangoIndice &row_range,
size_t c,
const std::string &nmb=
"tmp");
152 KRowSet getVarRefKRow(
size_t layer=1,
size_t f=1,
const std::string &nmb=
"tmp");
153 KRowSet getVarRefKRow(
size_t layer,
size_t f,
const RangoIndice &column_range,
const std::string &nmb=
"tmp");
162 virtual std::set<SetBase *> get_sets(
void)
const= 0;
167 Vector getSimpsonWeights(
const std::string &,
const std::string &,
const size_t &f=1,
const size_t &c=1,
const size_t &n= 10)
const;
179 boost::python::dict
getPyDict(
void)
const;
180 void setPyDict(
const boost::python::dict &);
void create_points(const Pos3dArray &)
Creates points at the positions being passed as parameters.
Definition: EntMdlr.cc:512
Float vector abstraction.
Definition: Vector.h:94
ID getIndicesOfNearestNode(const Pos3d &) const
Return the indexes of the nearest node to the given position.
Definition: EntMdlr.cc:205
bool create_elements(meshing_dir dm)
Creates elements on the nodes created in create_nodes.
Definition: EntMdlr.cc:422
Pnt * create_point_if_needed(const Pos3d &, const double &tol=1e-6)
Creates a point if there is no other existing point at a distance less that tol.
Definition: EntMdlr.cc:494
Set of objects in a row.
Definition: KRowSet.h:51
virtual bool Out(const GeomObj3d &, const double &tol=0.0) const
Returns true if the object lies outside the geometric object.
Definition: EntMdlr.cc:136
virtual ~EntMdlr(void)
Destructor.
Definition: EntMdlr.cc:587
boost::python::dict getPyDict(void) const
Return a Python dictionary containing the object members values.
Definition: EntMdlr.cc:592
virtual bool In(const GeomObj3d &, const double &tol=0.0) const
Returns true if the object lies inside the geometric object.
Definition: EntMdlr.cc:123
Finite element model generation tools.
Definition: Preprocessor.h:59
virtual Pos3d getCentroid(void) const
Return the centroid of the object.
Definition: EntMdlr.cc:578
Array of positions in a three-dimensional space.
Definition: Pos3dArray.h:38
virtual Node * getNode(const size_t &i=1, const size_t &j=1, const size_t &k=1)
Returns a pointer to the node which indexes are being passed as parameters.
Definition: EntMdlr.cc:164
Model geometry manager.
Definition: MultiBlockTopology.h:68
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.
Definition: EntMdlr.cc:346
const bool & getGenMesh(void) const
Returns true if the points begins or ends in the line.
Definition: EntMdlr.cc:485
bool removeNode(const int &)
Remove the node identifie by the given tag from the array.
Definition: EntMdlr.cc:293
EntMdlr & operator=(const EntMdlr &)
Assignment operator.
Definition: EntMdlr.cc:63
Vector of integers.
Definition: ID.h:95
virtual unsigned short int GetDimension(void) const =0
Return the object dimension (0, 1, 2 or 3).
Pnt * create_point(const Pos3d &)
Creates a point at the position being passed as parameter.
Definition: EntMdlr.cc:489
Three-dimensional array of pointers to elements.
Definition: ElemPtrArray3d.h:47
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 parameters.
Definition: EntMdlr.cc:217
void create_nodes(const Pos3dArray3d &)
Creates nodes at the positions being passed as parameters.
Definition: EntMdlr.cc:367
const Node * set_node(size_t i, size_t j, size_t k, Node *)
Set the (i,j,k) node.
Definition: EntMdlr.cc:401
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.
Definition: EntMdlr.cc:332
Base class for the finite elements.
Definition: Element.h:112
Set of objecst in a row.
Definition: IRowSet.h:51
Set of mesh components (nodes, elements and constraints).
Definition: SetMeshComp.h:59
boost::python::list getConnectedElementsPy(const Node *)
Return the elements connected to the node being passed as parameter.
Definition: EntMdlr.cc:259
Node * findNode(const int &tag)
Returns a pointer to the node cuyo identifier is being passed as parameter.
Definition: EntMdlr.cc:263
Element * findElement(const int &)
Returns a pointer to the element identified by the tag being passed as parameter. ...
Definition: EntMdlr.cc:272
virtual int getVtkCellType(void) const
Interfaz con VTK.
Definition: EntMdlr.cc:110
virtual bool operator==(const EntMdlr &) const
Comparison operator.
Definition: EntMdlr.cc:74
Node * getNearestNode(const Pos3d &p)
Return the node closest to the point being passed as parameter.
Definition: EntMdlr.cc:190
Single freedom constraint.
Definition: SFreedom_Constraint.h:85
Object set.
Definition: Set.h:57
"boundary" en tres dimensiones.
Definition: BND3d.h:34
EntMdlr(Preprocessor *m, const size_t &i=0)
Constructor.
Definition: EntMdlr.cc:47
ID getNodeIndices(const Node *) const
Return the indexes of the given node.
Definition: EntMdlr.cc:201
Objects in a row.
Definition: JRowSet.h:51
void setPyDict(const boost::python::dict &)
Set the values of the object members from a Python dictionary.
Definition: EntMdlr.cc:601
Point (KPoint).
Definition: Pnt.h:50
std::string getDescription(void) const
Return a description of the object.
Definition: EntMdlr.cc:102
Multiblock topology object (point, line, face, block,...).
Definition: EntMdlr.h:55
bool removeElement(const int &)
Remove the element identifie by the given tag from the array.
Definition: EntMdlr.cc:285
structured set, i.
Definition: SetEstruct.h:47
Position array in a three-dimensional space.
Definition: Pos3dArray3d.h:37
std::set< const Element * > getConnectedElements(const Node *) const
Return the elements connected to the node being passed as parameter.
Definition: EntMdlr.cc:251
Posición en tres dimensiones.
Definition: Pos3d.h:44
Three-dimensional array of pointers to nodes.
Definition: NodePtrArray3d.h:51
virtual void set_index(const size_t &i)
Assigns the objects index for its use in VTK arrays (see numerate in Set).
Definition: EntMdlr.cc:96
void BorraPtrNodElem(void)
Clears pointer to nodes and elements.
Definition: EntMdlr.cc:152
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
std::deque< const Node * > getNodePtrs(void) const
Returns the pointers to the nodes of this array.
Definition: EntMdlr.cc:186
Rangos de variación de tres índices, se emplea en BoxConstRef.
Definition: Array3dRange.h:32
Element * getNearestElement(const Pos3d &p)
Return the element closest to the point being passed as parameter.
Definition: EntMdlr.cc:239
virtual double getDistanceTo(const Pos3d &pt) const
Return the distance to the position being passed as parameter.
Definition: EntMdlr.cc:569
Mesh node.
Definition: Node.h:111
void clearAll(void)
Clears object contents.
Definition: EntMdlr.cc:145
size_t getIdx(void) const
Returns the index of the object for it use in VTK arrays.
Definition: EntMdlr.h:176
void fix(const SFreedom_Constraint &)
Fixes the nodes of the set.
Definition: EntMdlr.cc:573
Rango de variación de un índice, se emplea en BoxConstRef.
Definition: RangoIndice.h:30
SetEstruct * create_row_set(const Array3dRange &, const std::string &)
Creates a set that corresponds to a row of nodes and elements.
Definition: EntMdlr.cc:297
void setGenMesh(bool m)
Returns true if the points begins or ends in the line.
Definition: EntMdlr.cc:481
virtual double getSquaredDistanceTo(const Pos3d &pt) const
Return the squared distance to the position being passed as parameter.
Definition: EntMdlr.cc:560
Clase base para los objetos en tres dimensiones.
Definition: GeomObj3d.h:43