Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::geometric::BarycentricGeomShapeComputer Class Reference

Calculates GeomShapes using barycenters. More...

#include <arcane/geometry/BarycentricGeomShapeComputer.h>

Collaboration diagram for Arcane::geometric::BarycentricGeomShapeComputer:

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)

Detailed Description

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.

Member Function Documentation

◆ _setFace2D()

void Arcane::geometric::BarycentricGeomShapeComputer::_setFace2D ( Integer fid,
GeomShapeMutableView & elem,
Integer id1,
Integer id2 )
inlinestaticprivate

◆ _setFace3D() [1/2]

void Arcane::geometric::BarycentricGeomShapeComputer::_setFace3D ( Integer fid,
GeomShapeMutableView & elem,
Integer id1,
Integer id2,
Integer id3 )
inlinestaticprivate

◆ _setFace3D() [2/2]

void Arcane::geometric::BarycentricGeomShapeComputer::_setFace3D ( Integer fid,
GeomShapeMutableView & elem,
Integer id1,
Integer id2,
Integer id3,
Integer id4 )
inlinestaticprivate

◆ compute()

template<GeomType ItemType>
void Arcane::geometric::BarycentricGeomShapeComputer::compute ( GeomShapeMutableView elem)
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:

Cell cell = ...;
GeomShapeMng shape_mng = ...;
GeomShapeMutableView shape_view(shape_mng.mutableShapeView(cell));
Cell of a mesh.
Definition Item.h:1300
static void compute(GeomShapeMutableView elem)
Template method.
Class managing the GeomShapes of a mesh.
GeomShapeMutableView mutableShapeView(Cell cell)
Returns a mutable view on the GeomShape of the cell cell.

Referenced by computeHeptaedron10(), computeHexaedron8(), computeOctaedron12(), computePentaedron6(), computePyramid5(), computeQuad4(), computeTetraedron4(), and computeTriangle3().

Here is the caller graph for this function:

◆ computeAll() [1/2]

void Arcane::geometric::BarycentricGeomShapeComputer::computeAll ( GeomShapeMng & shape_mng,
VariableNodeReal3 & coords,
const CellGroup & cells )
static

Calculates the information for the cells in the group cells.

Definition at line 454 of file BarycentricGeomShapeComputer.cc.

References Arcane::ItemGroup::applyOperation().

Here is the call graph for this function:

◆ computeAll() [2/2]

void Arcane::geometric::BarycentricGeomShapeComputer::computeAll ( GeomShapeMutableView elem,
const VariableNodeReal3 & coords,
Cell cell )
static

◆ computeHeptaedron10()

void Arcane::geometric::BarycentricGeomShapeComputer::computeHeptaedron10 ( GeomShapeMutableView elem)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeHexaedron8()

void Arcane::geometric::BarycentricGeomShapeComputer::computeHexaedron8 ( GeomShapeMutableView elem)
static

Calculates the positions of the nodes of a hexahedral cell.

Definition at line 133 of file BarycentricGeomShapeComputer.cc.

References compute().

Referenced by computeAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeOctaedron12()

void Arcane::geometric::BarycentricGeomShapeComputer::computeOctaedron12 ( GeomShapeMutableView elem)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computePentaedron6()

void Arcane::geometric::BarycentricGeomShapeComputer::computePentaedron6 ( GeomShapeMutableView elem)
static

Calculates the positions of the nodes of a pentahedral cell.

Definition at line 206 of file BarycentricGeomShapeComputer.cc.

References compute().

Referenced by computeAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computePyramid5()

void Arcane::geometric::BarycentricGeomShapeComputer::computePyramid5 ( GeomShapeMutableView elem)
static

Calculates the positions of the nodes of a pyramidal cell.

Definition at line 171 of file BarycentricGeomShapeComputer.cc.

References compute().

Referenced by computeAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeQuad4()

void Arcane::geometric::BarycentricGeomShapeComputer::computeQuad4 ( GeomShapeMutableView elem)
static

Calculates the positions of the nodes of a quadrilateral cell.

Definition at line 56 of file BarycentricGeomShapeComputer.cc.

References compute().

Referenced by computeAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeTetraedron4()

void Arcane::geometric::BarycentricGeomShapeComputer::computeTetraedron4 ( GeomShapeMutableView elem)
static

Calculates the positions of the nodes of a tetrahedral cell.

Definition at line 241 of file BarycentricGeomShapeComputer.cc.

References compute().

Referenced by computeAll().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeTriangle3()

void Arcane::geometric::BarycentricGeomShapeComputer::computeTriangle3 ( GeomShapeMutableView elem)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setNodes()

void Arcane::geometric::BarycentricGeomShapeComputer::setNodes ( GeomShapeMutableView elem,
const VariableNodeReal3 & node_coord,
Cell cell )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following files: