34 #include "domain/mesh/element/utils/NodePtrsWithIDs.h" 35 #include "material/Material.h" 36 #include "domain/domain/Domain.h" 37 #include "utility/geom/pos_vec/Pos3d.h" 52 template <
class TIPOMAT>
72 boost::python::dict
getPyDict(
void)
const;
73 void setPyDict(
const boost::python::dict &);
86 :
Element(other), theNodes(other.theNodes)
93 Element::operator=(other);
100 template <
int NNODES>
102 {
return theNodes.size(); }
105 template <
int NNODES>
110 template <
int NNODES>
115 template <
int NNODES>
template <
class TIPOMAT>
118 TIPOMAT *retval=
nullptr;
119 const TIPOMAT *tmp =
dynamic_cast<const TIPOMAT *
>(ptr_mat);
121 retval= tmp->getCopy();
124 std::cerr << getClassName() <<
"::" << __FUNCTION__
125 <<
"; on element: " << getTag()
126 <<
" the material " << ptr_mat->
getTag()
127 <<
" with name: " << ptr_mat->
getName()
129 <<
" has not a suitable type." << std::endl;
134 std::cerr << getClassName() <<
"::" << __FUNCTION__
135 <<
"; on element: " << getTag()
136 <<
"can't get a copy of the material with tag: " 137 << ptr_mat->
getTag() << std::endl;
144 template <
int NNODES>
147 int res= Element::sendData(comm);
153 template <
int NNODES>
156 int res= Element::recvData(comm);
162 template <
int NNODES>
165 boost::python::dict retval= Element::getPyDict();
166 retval[
"nodes"]= theNodes.getPyDict();
170 template <
int NNODES>
173 Element::setPyDict(d);
174 theNodes.setPyDict(boost::python::extract<boost::python::dict>(d[
"nodes"]));
178 template <
int NNODES>
180 {
return theNodes.getCenterOfMassPosition(initialGeometry); }
int sendMovable(MovableObject &, DbTagData &, const CommMetaData &)
Sends a movable object through the communicator argument.
Definition: Communicator.cc:1163
NodePtrsWithIDs theNodes
pointers to node.
Definition: ElementBase.h:50
boost::python::dict getPyDict(void) const
Return a Python dictionary with the object members values.
Definition: ElementBase.h:163
int getNumExternalNodes(void) const
Return the number of external nodes.
Definition: ElementBase.h:101
Communication parameters between processes.
Definition: Communicator.h:66
std::string getName(void) const
Returns the name of the material.
Definition: Material.cpp:167
int receiveMovable(MovableObject &, DbTagData &, const CommMetaData &) const
Receives a movable object trhrough the communicator argument.
Definition: Communicator.cc:1174
Base class for materials.
Definition: Material.h:93
Pos3d getCenterOfMassPosition(bool initialGeometry=true) const
Return position of the element centroid.
Definition: ElementBase.h:179
Base class for the finite elements.
Definition: Element.h:112
virtual std::string getClassName(void) const
Returns demangled class name.
Definition: EntityWithOwner.cc:90
TIPOMAT * cast_material(const Material *ptr_mat)
Casts the material pointer to a suitable type.
Definition: ElementBase.h:116
ElementBase & operator=(const ElementBase &)
Assignment operator.
Definition: ElementBase.h:91
ElementBase(int tag, int classTag)
Default constructor.
Definition: ElementBase.h:80
Node pointer container for elements.
Definition: NodePtrsWithIDs.h:46
Posición en tres dimensiones.
Definition: Pos3d.h:44
NodePtrsWithIDs & getNodePtrs(void)
Returns a pointer to the node vector.
Definition: ElementBase.h:111
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
int sendData(Communicator &comm)
Send members through the communicator argument.
Definition: ElementBase.h:145
int getTag(void) const
Returns the tag associated with the object.
Definition: TaggedObject.h:119
Base class for finite element with pointer to nodes container.
Definition: ElementBase.h:47
void set_owner(EntityWithOwner *owr)
Assigns the owner of the object.
Definition: EntityWithOwner.cc:111
void setPyDict(const boost::python::dict &)
Set the values of the object members from a Python dictionary.
Definition: ElementBase.h:171
static const int numNodes(void)
Returns the element number of nodes.
Definition: ElementBase.h:64
int recvData(const Communicator &comm)
Receives members through the communicator argument.
Definition: ElementBase.h:154