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