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" 44 template <
class PhysProp>
52 QuadBase4N(
int tag,
int classTag,
const PhysProp &);
53 QuadBase4N(
int tag,
int classTag,
int node1,
int node2,
int node3,
int node4,
const PhysProp &pp);
68 template <
class PhysProp>
73 template <
class PhysProp>
75 :
ElemPlano<4,PhysProp>(tag,classTag,pp) {}
78 template <
class PhysProp>
87 template <
class PhysProp>
92 template <
class PhysProp>
97 const size_t sz= nodos.size();
102 retval[1]= nodos(i+1);
111 template <
class PhysProp>
116 const int i1= nodos.
find(n1);
117 const int i2= nodos.
find(n2);
118 if((i1>=0) && (i2>=0))
120 const int dif= i2-i1;
125 else if((i1==3) && (i2==0))
127 else if((i1==0) && (i2==3))
134 template <
class PhysProp>
139 const size_t sz= nodos.size();
152 template <
class PhysProp>
161 template <
class PhysProp>
165 std::cerr << this->nombre_clase()
166 <<
"; load over inactiva element: " 167 << this->getTag() << std::endl;
170 if(
const BidimStrainLoad *strainLoad= dynamic_cast<const BidimStrainLoad *>(theLoad))
172 static std::vector<Vector> initStrains;
173 initStrains= strainLoad->getStrains();
174 for(std::vector<Vector>::iterator i= initStrains.begin();i!=initStrains.end();i++)
176 this->
physicalProperties.getMaterialsVector().addInitialGeneralizedStrains(initStrains);
180 std::cerr <<
"QuadBase4N::addLoad -- load type unknown for element with tag: " <<
181 this->getTag() << std::endl;
189 template <
class PhysProp>
194 template <
class PhysProp>
196 {
return MED_QUAD4; }
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
int getEdgeNodes(const Node *, const Node *) const
Returns the borde of the element que tiene por extremos los nodos being passed as parameters...
Definition: QuadBase4N.h:112
"Tritriz" of pointers to elements.
Definition: TritrizPtrNod.h:51
Element::NodesEdge getNodesEdge(const size_t &i) const
Returns the nodos de un lado of the element.
Definition: QuadBase4N.h:93
NodePtrsWithIDs theNodes
pointers to node.
Definition: ElementBase.h:49
Mesh node.
Definition: Node.h:99
TritrizPtrElem put_on_mesh(const TritrizPtrNod &, meshing_dir dm) const
Put the element on the mesh being passed as parameter.
Definition: QuadBase4N.h:88
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
int getVtkCellType(void) const
Interfaz con VTK.
Definition: QuadBase4N.h:190
ID getLocalIndexNodesEdge(const size_t &i) const
Returns the local indexes of the nodes that lie on the i-th edge.
Definition: QuadBase4N.h:135
iterator find(const int &)
Returns an iterator to the node identified by the tag being passed as parameter.
Definition: NodePtrs.cc:146
Base class for 4 node quads.
Definition: QuadBase4N.h:45
int addLoad(ElementalLoad *theLoad, double loadFactor)
Adds to the element the load being passed as parameter.
Definition: QuadBase4N.h:162
int getMEDCellType(void) const
Interfaz con el formato MED de Salome.
Definition: QuadBase4N.h:195
NodePtrsWithIDs & getNodePtrs(void)
Returns a pointer to the vector de nodos.
Definition: ElementBase.h:107
void zeroLoad(void)
Zeroes loads on element.
Definition: QuadBase4N.h:153
================================================================================
Definition: ContinuaReprComponent.h:34
QuadBase4N(int classTag, const PhysProp &pp)
Constructor.
Definition: QuadBase4N.h:69
TritrizPtrElem put_quad4N_on_mesh(const Element &e, const TritrizPtrNod &, meshing_dir dm)
Place the elements on the mesh passed as parameter.
Definition: aux_meshing.cc:127