29 #include "PlaneElement.h" 34 #include "preprocessor/multi_block_topology/matrices/ElemPtrArray3d.h" 35 #include "preprocessor/multi_block_topology/aux_meshing.h" 36 #include "preprocessor/prep_handlers/LoadHandler.h" 37 #include "domain/load/plane/BidimStrainLoad.h" 38 #include "vtkCellType.h" 43 template <
class PhysProp>
52 QuadBase9N(
int tag,
int classTag,
const PhysProp &);
57 Polygon3d
getPolygon(
bool initialGeometry=
true)
const;
58 Segment3d
getSide(
const size_t &i,
bool initialGeometry=
true)
const;
67 template <
class PhysProp>
72 template <
class PhysProp>
78 template <
class PhysProp>
83 template <
class PhysProp>
87 std::cerr << this->getClassName() <<
"::" << __FUNCTION__
88 <<
"; not implemented." << std::endl;
93 template <
class PhysProp>
97 std::cerr << this->getClassName() <<
"::" << __FUNCTION__
98 <<
"; not implemented." << std::endl;
103 template <
class PhysProp>
107 std::cerr << this->getClassName() <<
"::" << __FUNCTION__
108 <<
"; not implemented." << std::endl;
114 template <
class PhysProp>
118 std::cerr << this->getClassName() <<
"::" << __FUNCTION__
119 <<
"; not implemented." << std::endl;
124 template <
class PhysProp>
128 std::cerr << this->getClassName() <<
"::" << __FUNCTION__
129 <<
"; not implemented." << std::endl;
134 template <
class PhysProp>
138 this->physicalProperties.getMaterialsVector().zeroInitialGeneralizedStrains();
143 template <
class PhysProp>
147 std::cerr << this->getClassName()
148 <<
"; load over inactive elements: " 149 << this->getTag() << std::endl;
152 if(
const BidimStrainLoad *strainLoad= dynamic_cast<const BidimStrainLoad *>(theLoad))
154 static std::vector<Vector> initStrains;
155 initStrains= strainLoad->getStrains();
156 for(std::vector<Vector>::iterator i= initStrains.begin();i!=initStrains.end();i++)
158 this->physicalProperties.getMaterialsVector().addInitialGeneralizedStrains(initStrains);
162 std::cerr << this->getClassName() <<
"::" << __FUNCTION__
163 <<
"; load type unknown for element with tag: " <<
164 this->getTag() << std::endl;
172 template <
class PhysProp>
174 {
return VTK_QUADRATIC_QUAD; }
Element::NodesEdge getNodesEdge(const size_t &i) const
Returns the nodes of the element edge.
Definition: QuadBase9N.h:104
std::vector< const Node * > NodesEdge
Nodes on an element edge.
Definition: Element.h:113
ElemPtrArray3d put_on_mesh(const NodePtrArray3d &, meshing_dir dm) const
Put the element on the mesh being passed as parameter.
Definition: QuadBase9N.h:79
QuadBase9N(int classTag)
Constructor.
Definition: QuadBase9N.h:68
int getEdgeNodes(const Node *, const Node *) const
Returns the edge of the element that ends in the nodes being passed as parameters.
Definition: QuadBase9N.h:115
ID getLocalIndexNodesEdge(const size_t &i) const
Returns the local indexes of the nodes that lie on the i-th edge.
Definition: QuadBase9N.h:125
Vector of integers.
Definition: ID.h:93
int addLoad(ElementalLoad *theLoad, double loadFactor)
Adds to the element the load being passed as parameter.
Definition: QuadBase9N.h:144
Three-dimensional array of pointers to elements.
Definition: ElemPtrArray3d.h:43
Base class for nine node quads.
Definition: QuadBase9N.h:44
Polygon3d getPolygon(bool initialGeometry=true) const
Returns the element contour as a polygon.
Definition: QuadBase9N.h:84
int getVtkCellType(void) const
Interfaz con Vtk.
Definition: QuadBase9N.h:173
void zeroLoad(void)
Zeroes loads on element.
Definition: QuadBase9N.h:135
Three-dimensional array of pointers to nodes.
Definition: NodePtrArray3d.h:50
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Segment3d getSide(const size_t &i, bool initialGeometry=true) const
Returns the element edge.
Definition: QuadBase9N.h:94
Base class for loads over elements.
Definition: ElementalLoad.h:77
Load due to restricted material expansion or contraction on bidimensional elements.
Definition: BidimStrainLoad.h:38
Mesh node.
Definition: Node.h:110
Base class for plane elements.
Definition: PlaneElement.h:48
ElemPtrArray3d put_quad9N_on_mesh(const Element &e, const NodePtrArray3d &, meshing_dir dm)
Places the elements on the mesh passed as parameter.
Definition: aux_meshing.cc:252