31 #ifndef NODEPTRARRAY3D_H 32 #define NODEPTRARRAY3D_H 34 #include "utility/kernel/CommandEntity.h" 35 #include "utility/functions/algebra/ExprAlgebra.h" 36 #include "NodePtrArray.h" 37 #include "PtrArray3dBase.h" 38 #include "utility/matrix/Vector.h" 68 std::deque<double> RowSimpsonIntegration(
const F &,
const std::string &,
const size_t &,
const ExprAlgebra &,
const size_t &)
const;
69 Vector IRowSimpsonIntegration(
const size_t &,
const size_t &,
const ExprAlgebra &,
const size_t &n= 10)
const;
70 Vector JRowSimpsonIntegration(
const size_t &,
const size_t &,
const ExprAlgebra &,
const size_t &n= 10)
const;
71 Vector KRowSimpsonIntegration(
const size_t &,
const size_t &,
const ExprAlgebra &,
const size_t &n= 10)
const;
75 std::vector<int> getTags(
void)
const;
78 void Print(std::ostream &os)
const;
85 std::deque<double> NodePtrArray3d::RowSimpsonIntegration(
const F &f,
const std::string &coo_name,
const size_t &num_coo,
const ExprAlgebra &e,
const size_t &n)
const 87 const size_t sz= f.Size();
88 std::deque<double> retval;
89 if(sz<2)
return retval;
90 const Vector *p0= &(f(1)->getCrds());
91 if(!p0)
return retval;
92 double s0= (*p0)(num_coo);
93 for(
size_t i=2;i<=sz;i++)
95 const Vector *p1= &(f(i)->getCrds());
96 if(!p1)
return retval;
97 double s1= ((*p0)(num_coo)+(*p1)(num_coo))/2.0;
103 const Vector *p1= &(f(sz)->getCrds());
104 if(!p1)
return retval;
105 double s1= (*p1)(num_coo);
Float vector abstraction.
Definition: Vector.h:94
ID getNodeIndices(const Node *) const
Returns the indexes of the node identified by the pointer being passed as parameter.
Definition: NodePtrArray3d.cc:107
ExprAlgebra IntegSimpson(const Intervalo1D &i) const
Integrates the expresion using the Simpson rule.
Definition: ExprAlgebra.cc:155
bool removeNode(Node *)
Remove the given node from the array.
Definition: NodePtrArray3d.cc:183
Vector of integers.
Definition: ID.h:95
Node * findNode(const int &tag)
Returns (if it exists) a pointer to the node which tag is being passed as parameter.
Definition: NodePtrArray3d.cc:58
Integration interval in one dimension.
Definition: num_integration.h:32
void fix(const SFreedom_Constraint &) const
Impone desplazamiento nulo en the nodes de this set.
Definition: NodePtrArray3d.cc:241
Node * getNearestNode(const Pos3d &p)
Returns the node closest to the point being passed as parameter.
Definition: NodePtrArray3d.cc:79
Single freedom constraint.
Definition: SFreedom_Constraint.h:85
Reference to a "sub-array".
Definition: Array3dBoxVarRef.h:33
std::deque< const Node * > getNodePtrs(void) const
Returns the pointers to the nodes of this array.
Definition: NodePtrArray3d.cc:154
Reference to a layer of the array which points have constant I index.
Definition: ConstantILayerConstRef.h:34
Posición en tres dimensiones.
Definition: Pos3d.h:44
Three-dimensional array of pointers to nodes.
Definition: NodePtrArray3d.h:51
Expresión algebraica.
Definition: ExprAlgebra.h:32
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Rangos de variación de tres índices, se emplea en BoxConstRef.
Definition: Array3dRange.h:32
boost::python::list getPyNodeList(void) const
Returns a Python list containing the nodes of this array.
Definition: NodePtrArray3d.cc:168
NodePtrArray3d(const size_t n_layers=0)
Default constructor.
Definition: NodePtrArray3d.cc:46
Mesh node.
Definition: Node.h:111
Rango de variación de un índice, se emplea en BoxConstRef.
Definition: RangoIndice.h:30
Three-dimensional array of object pointers.
Definition: PtrArray3dBase.h:43