29 #include "ElemPlano.h" 34 #include "preprocessor/cad/matrices/TritrizPtrElem.h" 35 #include "preprocessor/cad/aux_meshing.h" 36 #include "preprocessor/loaders/LoadLoader.h" 37 #include "domain/load/plane/BidimStrainLoad.h" 39 #include "vtkCellType.h" 45 template <
class PhysProp>
53 TriBase3N(
int tag,
int classTag,
const PhysProp &);
54 TriBase3N(
int tag,
int classTag,
int node1,
int node2,
int node3,
const PhysProp &pp);
69 template <
class PhysProp>
74 template <
class PhysProp>
76 :
ElemPlano<3,PhysProp>(tag,classTag,physProp) {}
79 template <
class PhysProp>
87 template <
class PhysProp>
90 std::cerr <<
"TritrizPtrElem XC::TriBase3N<PhysProp>::put_on_mesh not implemented" << std::endl;
96 template <
class PhysProp>
101 const size_t sz= nodos.size();
106 retval[1]= nodos(i+1);
115 template <
class PhysProp>
120 const int i1= nodos.
find(n1);
121 const int i2= nodos.
find(n2);
122 if((i1>=0) && (i2>=0))
124 const int dif= i2-i1;
129 else if((i1==3) && (i2==0))
131 else if((i1==0) && (i2==3))
138 template <
class PhysProp>
143 const size_t sz= nodos.size();
156 template <
class PhysProp>
165 template <
class PhysProp>
169 std::cerr << this->nombre_clase()
170 <<
"; load over inactive element: " 171 << this->getTag() << std::endl;
174 if(
const BidimStrainLoad *strainLoad= dynamic_cast<const BidimStrainLoad *>(theLoad))
176 static std::vector<Vector> initStrains;
177 initStrains= strainLoad->getStrains();
178 for(std::vector<Vector>::iterator i= initStrains.begin();i!=initStrains.end();i++)
180 this->
physicalProperties.getMaterialsVector().addInitialGeneralizedStrains(initStrains);
184 std::cerr <<
"TriBase3N::addLoad -- load type unknown for element with tag: " <<
185 this->getTag() << std::endl;
193 template <
class PhysProp>
195 {
return VTK_TRIANGLE; }
198 template <
class PhysProp>
200 {
return MED_TRIA3; }
ID getLocalIndexNodesEdge(const size_t &i) const
Returns the local indexes of the nodes that lies on the i-th edge.
Definition: TriBase3N.h:139
void set_id_nodes(int Nd1, int Nd2)
Sets identifiers for nodes 1 and 2.
Definition: NodePtrsWithIDs.cc:97
"Tritriz" of pointers to elements.
Definition: TritrizPtrElem.h:43
std::vector< const Node * > NodesEdge
Definition: Element.h:108
"Tritriz" of pointers to elements.
Definition: TritrizPtrNod.h:51
NodePtrsWithIDs theNodes
pointers to node.
Definition: ElementBase.h:49
TritrizPtrElem put_on_mesh(const TritrizPtrNod &, meshing_dir dm) const
Put the element on the mesh being passed as parameter.
Definition: TriBase3N.h:88
Base class for 3 node triangles.
Definition: TriBase3N.h:46
int addLoad(ElementalLoad *theLoad, double loadFactor)
Adds to the element the load being passed as parameter.
Definition: TriBase3N.h:166
Mesh node.
Definition: Node.h:99
int getVtkCellType(void) const
Interfaz con VTK.
Definition: TriBase3N.h:194
int getMEDCellType(void) const
Interfaz con el formato MED de Salome.
Definition: TriBase3N.h:199
Load due to restricted material expansion or contraction on bidimensional elements.
Definition: BidimStrainLoad.h:38
Base class for loads over elements.
Definition: ElementalLoad.h:73
Base class for plane elements.
Definition: ElemPlano.h:48
virtual void zeroLoad(void)
Anula el load vector aplicadas of the element.
Definition: Element.cpp:185
Node pointer container for elements.
Definition: NodePtrsWithIDs.h:45
PhysProp physicalProperties
pointers to the material objects and physical properties.
Definition: ElemWithMaterial.h:43
iterator find(const int &)
Returns an iterator to the node identified by the tag being passed as parameter.
Definition: NodePtrs.cc:146
Element::NodesEdge getNodesEdge(const size_t &i) const
Returns the nodos de un lado of the element.
Definition: TriBase3N.h:97
NodePtrsWithIDs & getNodePtrs(void)
Returns a pointer to the vector de nodos.
Definition: ElementBase.h:107
================================================================================
Definition: ContinuaReprComponent.h:34
void zeroLoad(void)
Zeroes loads on element.
Definition: TriBase3N.h:157
int getEdgeNodes(const Node *, const Node *) const
Returns the borde of the element que tiene por extremos los nodos being passed as parameters...
Definition: TriBase3N.h:116
TriBase3N(int classTag, const PhysProp &)
Constructor.
Definition: TriBase3N.h:70