30 #ifndef TRITRIZPTRNOD_H 31 #define TRITRIZPTRNOD_H 33 #include "xc_utils/src/nucleo/EntCmd.h" 34 #include "xc_basic/src/funciones/algebra/ExprAlgebra.h" 35 #include "MatrizPtrNod.h" 36 #include "TritrizPtrBase.h" 37 #include "utility/matrix/Vector.h" 67 std::deque<double> IntegSimpsonFila(
const F &,
const std::string &,
const size_t &,
const ExprAlgebra &,
const size_t &)
const;
68 Vector IntegSimpsonFilaI(
const size_t &,
const size_t &,
const ExprAlgebra &,
const size_t &n= 10)
const;
69 Vector IntegSimpsonFilaJ(
const size_t &,
const size_t &,
const ExprAlgebra &,
const size_t &n= 10)
const;
70 Vector IntegSimpsonFilaK(
const size_t &,
const size_t &,
const ExprAlgebra &,
const size_t &n= 10)
const;
74 std::vector<int> getTags(
void)
const;
77 void Print(std::ostream &os)
const;
81 std::ostream &operator<<(std::ostream &os,
const TritrizPtrNod &);
84 std::deque<double> TritrizPtrNod::IntegSimpsonFila(
const F &f,
const std::string &nmb_coo,
const size_t &num_coo,
const ExprAlgebra &e,
const size_t &n)
const 86 const size_t sz= f.Size();
87 std::deque<double> retval;
88 if(sz<2)
return retval;
89 const Vector *p0= &(f(1)->getCrds());
90 if(!p0)
return retval;
91 double s0= (*p0)(num_coo);
92 for(
size_t i=2;i<=sz;i++)
94 const Vector *p1= &(f(i)->getCrds());
95 if(!p1)
return retval;
96 double s1= ((*p0)(num_coo)+(*p1)(num_coo))/2.0;
97 Intervalo1D iv(nmb_coo,ExprAlgebra(s0),ExprAlgebra(s1),n);
98 retval.push_back(e.IntegSimpson(iv).ToNum());
102 const Vector *p1= &(f(sz)->getCrds());
103 if(!p1)
return retval;
104 double s1= (*p1)(num_coo);
105 Intervalo1D iv(nmb_coo,ExprAlgebra(s0),ExprAlgebra(s1),n);
106 retval.push_back(e.IntegSimpson(iv).ToNum());
114 std::vector<int>
getIdNodosQuad4N(
const TritrizPtrNod::const_ref_capa_i_cte &nodos,
const size_t &j,
const size_t &k);
115 std::vector<int>
getIdNodosQuad9N(
const TritrizPtrNod::const_ref_capa_i_cte &nodos,
const size_t &j,
const size_t &k);
"Tritriz" of pointers to elements.
Definition: TritrizPtrNod.h:51
std::vector< int > getIdNodosQuad9N(const TritrizPtrNod::const_ref_capa_i_cte &nodos, const size_t &j, const size_t &k)
Returns the indexes of the nodes (j,k),(j+1,k),(j+1,k+1),(j,k+1).
Definition: TritrizPtrNod.cc:350
Mesh node.
Definition: Node.h:99
ID getNodeIndices(const Node *) const
Returns the indexes of the node identified by the pointer being passed as parameter.
Definition: TritrizPtrNod.cc:105
std::vector< int > getIdNodosQuad4N(const TritrizPtrNod::const_ref_capa_i_cte &nodos, const size_t &j, const size_t &k)
Returns the indexes of the nodes (j,k),(j+1,k),(j+1,k+1),(j,k+1).
Definition: TritrizPtrNod.cc:256
Node * getNearestNode(const Pos3d &p)
Returns the node closest to the point being passed as parameter.
Definition: TritrizPtrNod.cc:78
Single freedom constraint.
Definition: SFreedom_Constraint.h:79
Node * buscaNodo(const int &tag)
Returns (if it exists) a pointer to the node cuyo tag is being passed as parameter.
Definition: TritrizPtrNod.cc:57
================================================================================
Definition: ContinuaReprComponent.h:34
"Tritriz" de pointers to objetos.
Definition: TritrizPtrBase.h:55
void fix(const SFreedom_Constraint &) const
Impone desplazamiento nulo en los nodos de this set.
Definition: TritrizPtrNod.cc:178
TritrizPtrNod(const size_t capas=0)
Default constructor.
Definition: TritrizPtrNod.cc:45