Calculates GeomShapes using barycenters. More...
#include <arcane/geometry/BarycentricGeomShapeComputer.h>
Static Public Member Functions | |
| static void | computeAll (GeomShapeMutableView elem, const VariableNodeReal3 &coords, Cell cell) |
| Calculates the information for the cell cell. | |
| static void | computeAll (GeomShapeMng &shape_mng, VariableNodeReal3 &coords, const CellGroup &cells) |
| Calculates the information for the cells in the group cells. | |
| template<GeomType ItemType> | |
| static void | compute (GeomShapeMutableView elem) |
| Template method. | |
| static void | setNodes (GeomShapeMutableView elem, const VariableNodeReal3 &node_coord, Cell cell) |
| Fills the node information of the cell cell with the coordinates of node_coord. | |
Calculation of the center and face centers by cell type | |
The coordinates of the nodes of elem must already have been positioned. | |
| static void | computeTriangle3 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a triangular cell. | |
| static void | computeQuad4 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a quadrilateral cell. | |
| static void | computeTetraedron4 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a tetrahedral cell. | |
| static void | computePyramid5 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a pyramidal cell. | |
| static void | computePentaedron6 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a pentahedral cell. | |
| static void | computeHexaedron8 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a hexahedral cell. | |
| static void | computeHeptaedron10 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a prismatic cell with a pentagonal base. | |
| static void | computeOctaedron12 (GeomShapeMutableView elem) |
| Calculates the positions of the nodes of a prismatic cell with a hexagonal base. | |
Static Private Member Functions | |
| static void | _setFace3D (Integer fid, GeomShapeMutableView &elem, Integer id1, Integer id2, Integer id3, Integer id4) |
| static void | _setFace3D (Integer fid, GeomShapeMutableView &elem, Integer id1, Integer id2, Integer id3) |
| static void | _setFace2D (Integer fid, GeomShapeMutableView &elem, Integer id1, Integer id2) |
Calculates GeomShapes using barycenters.
This class allows updating the coordinates of the nodes of a GeomShape and calculating its center and the center of its faces using the barycenter formula. These coordinates must be updated as soon as one of the mesh nodes moves.
All methods of this class are static and it is therefore not useful to create instances.
There are several ways to update:
Definition at line 50 of file src/arcane/geometry/BarycentricGeomShapeComputer.h.
|
inlinestaticprivate |
Definition at line 120 of file src/arcane/geometry/BarycentricGeomShapeComputer.h.
|
inlinestaticprivate |
Definition at line 114 of file src/arcane/geometry/BarycentricGeomShapeComputer.h.
|
inlinestaticprivate |
Definition at line 108 of file src/arcane/geometry/BarycentricGeomShapeComputer.h.
|
static |
Template method.
The template parameter ItemType must correspond to one of the following types: GeomType::Triangle3, GeomType::Quad4, GeomType::Tetraedron4, GeomType::Pyramid5, GeomType::Pentaedron6, GeomType::Hexaedron8, GeomType::Heptaedron10, GeomType::Octaedron12.
The coordinates of the nodes of elem must already have been positioned, for example via the call to setNodes().
The call is made by specifying the cell type as defined in ArcaneTypes.h. For example, for a Quad4:
Referenced by computeHeptaedron10(), computeHexaedron8(), computeOctaedron12(), computePentaedron6(), computePyramid5(), computeQuad4(), computeTetraedron4(), and computeTriangle3().
|
static |
Calculates the information for the cells in the group cells.
Definition at line 454 of file BarycentricGeomShapeComputer.cc.
References Arcane::ItemGroup::applyOperation().
|
static |
Calculates the information for the cell cell.
Definition at line 327 of file BarycentricGeomShapeComputer.cc.
References computeHeptaedron10(), computeHexaedron8(), computeOctaedron12(), computePentaedron6(), computePyramid5(), computeQuad4(), computeTetraedron4(), computeTriangle3(), Arcane::geometric::GeomType::Heptaedron10, Arcane::geometric::GeomType::Hexaedron8, Arcane::geometric::GeomType::Octaedron12, Arcane::geometric::GeomType::Pentaedron6, Arcane::geometric::GeomType::Pyramid5, Arcane::geometric::GeomType::Quad4, setNodes(), Arcane::geometric::GeomType::Tetraedron4, Arcane::geometric::GeomType::Triangle3, and Arcane::Item::type().
|
static |
Calculates the positions of the nodes of a prismatic cell with a pentagonal base.
Definition at line 279 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a hexahedral cell.
Definition at line 133 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a prismatic cell with a hexagonal base.
Definition at line 318 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a pentahedral cell.
Definition at line 206 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a pyramidal cell.
Definition at line 171 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a quadrilateral cell.
Definition at line 56 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a tetrahedral cell.
Definition at line 241 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
static |
Calculates the positions of the nodes of a triangular cell.
It is considered a degenerate quadrangle.
Definition at line 96 of file BarycentricGeomShapeComputer.cc.
References compute().
Referenced by computeAll().
|
inlinestatic |
Fills the node information of the cell cell with the coordinates of node_coord.
Definition at line 97 of file src/arcane/geometry/BarycentricGeomShapeComputer.h.
References Arcane::ItemWithNodes::nbNode(), and Arcane::ItemWithNodes::node().
Referenced by computeAll().