Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Mesh

Mesh classes and algorithms provided by the library. More...

+ Collaboration diagram for Mesh:

Classes

class  Feel::Geo0D< Dim, T, IndexT >
 Zero dimensional entity. More...
 
class  Feel::GeoElement0D< Dim, SubFace, T, IndexT >
 Class for Points and Vertices. More...
 
class  Feel::GeoElement1D< Dim, GEOSHAPE, SubFace, T, IndexT, PointTypeIsSubFaceOf, UseMeasuresStorage >
 class for 1D elements More...
 
class  Feel::GeoElement2D< Dim, GEOSHAPE, SubFace, T, IndexT, UseMeasuresStorage >
 Class for 2D elements. More...
 
class  Feel::GeoElement3D< Dim, GEOSHAPE, T, IndexT, UseMeasuresStorage >
 Class for 3D elements. More...
 
class  Feel::GeoND< Dim, GEOSHAPE, T, IndexT, POINTTYPE, UseMeasuresStorage >
 Base class for Multi-dimensional basis Geometrical Entities. More...
 
class  Feel::GeoNDCommon< GeoNDType >
 Common data shared in a collection of multi-dimensional geometrical entity. More...
 
class  Feel::Mesh1D< Shape, T, IndexT >
 1D mesh class More...
 
class  Feel::Mesh2D< Shape, T, IndexT >
 2D mesh class More...
 
class  Feel::Mesh3D< Shape, T, IndexT >
 3D mesh class More...
 
class  Feel::MeshBase< IndexT >
 base mesh class More...
 
class  Feel::MeshTraits< MeshType >
 Traits for meshes. More...
 
class  Feel::SubFaceOf< ElementType >
 description of a subface or facet (topological d-1) of an element of topologicql dimension d More...
 
struct  Feel::SubFaceOfBase
 Tag base class. More...
 

Enumerations

enum  Feel::GeoEntityContext { Feel::MESH_ENTITY_INTERNAL = ( 1<<0 ) , Feel::MESH_ENTITY_BOUNDARY = ( 1<<1 ) }
 
enum  Feel::MeshComponents {
  MESH_UPDATE_EDGES = ( 1 << 0 ) , MESH_UPDATE_FACES = ( 1 << 1 ) , MESH_CHECK = ( 1 << 2 ) , MESH_PARTITION = ( 1 << 3 ) ,
  MESH_RENUMBER = ( 1 << 4 ) , MESH_ADD_ELEMENTS_INFO = ( 1 << 5 ) , MESH_PROPAGATE_MARKERS = ( 1 << 6 ) , MESH_REMOVE_PERIODIC_FACES_FROM_BOUNDARY = ( 1 << 7 ) ,
  MESH_NO_UPDATE_MEASURES = ( 1 << 8 ) , MESH_UPDATE_ELEMENTS_ADJACENCY = ( 1 << 9 ) , MESH_UPDATE_FACES_MINIMAL = ( 1 << 10 ) , MESH_GEOMAP_NOT_CACHED = ( 1 << 11 ) ,
  MESH_DO_NOT_UPDATE = (1 << 16 )
}
 Mesh components enum. More...
 
enum  Feel::ReferenceGeometry {
  Feel::GEOMETRY_POINT = ( 1<<0 ) , Feel::GEOMETRY_LINE = ( 1<<1 ) , Feel::GEOMETRY_SURFACE = ( 1<<2 ) , Feel::GEOMETRY_VOLUME = ( 1<<3 ) ,
  Feel::GEOMETRY_4 = ( 1<<4 ) , Feel::GEOMETRY_5 = ( 1<<5 )
}
 
enum  ReferenceShapes {
  SHAPE_LINEAR = ( 1<<0 ) , SHAPE_BILINEAR = ( 1<<1 ) , SHAPE_QUADRATIC = ( 1<<2 ) , SHAPE_NONE = ( 1<<3 ) ,
  SHAPE_POINT = ( 1<<4 ) , SHAPE_LINE = ( 1<<5 ) , SHAPE_TRIANGLE = ( 1<<6 ) , SHAPE_QUAD = ( 1<<7 ) ,
  SHAPE_HEXA = ( 1<<8 ) , SHAPE_PRISM = ( 1<<9 ) , SHAPE_TETRA = ( 1<<10 ) , SHAPE_SP4 = ( 1<<11 ) ,
  SHAPE_SP5 = ( 1<<12 )
}
 

Functions

template<typename MeshType , typename IteratorType >
auto Feel::idelements (MeshType const &imesh, IteratorType begin, IteratorType end)
 
template<typename... Ts>
auto Feel::remesh (Ts &&... v)
 remesh with named arguments More...
 
template<typename RangeT , std::enable_if_t< is_range_v< RangeT >, int > = 0>
WorldComm const & Feel::worldComm (RangeT const &range)
 

Detailed Description

Mesh classes and algorithms provided by the library.

Enumeration Type Documentation

◆ GeoEntityContext

#include </data/cemosis/github-actions-runner/actions-runner-feelpp-1/_work/feelpp/feelpp/feelpp/feel/feelmesh/entities.hpp>

Enumerator
MESH_ENTITY_INTERNAL 

internal entity

MESH_ENTITY_BOUNDARY 

boundary entity

◆ MeshComponents

#include </data/cemosis/github-actions-runner/actions-runner-feelpp-1/_work/feelpp/feelpp/feelpp/feel/feelmesh/meshbase.hpp>

Mesh components enum.

Components of a mesh that can be enabled or disabled when calling updateForUse()

◆ ReferenceGeometry

#include </data/cemosis/github-actions-runner/actions-runner-feelpp-1/_work/feelpp/feelpp/feelpp/feel/feelmesh/entities.hpp>

Enumerator
GEOMETRY_POINT 

point entity

GEOMETRY_LINE 

line entity

GEOMETRY_SURFACE 

surface entity

GEOMETRY_VOLUME 

volume entity

GEOMETRY_4 

hypercube entity

GEOMETRY_5 

hypercube entity

Function Documentation

◆ idelements()

template<typename MeshType , typename IteratorType >
auto Feel::idelements ( MeshType const &  imesh,
IteratorType  begin,
IteratorType  end 
)

#include </data/cemosis/github-actions-runner/actions-runner-feelpp-1/_work/feelpp/feelpp/feelpp/feel/feelmesh/filters.hpp>

Returns
build a list of elements based on iterators [begin,end) from a mesh imesh

◆ remesh()

template<typename... Ts>
auto Feel::remesh ( Ts &&...  v)

#include </data/cemosis/github-actions-runner/actions-runner-feelpp-1/_work/feelpp/feelpp/feelpp/feel/feelmesh/remesh.hpp>

remesh with named arguments

Template Parameters
MeshType
Parameters
_meshmesh to be adapted
_required_eltslist of markers of required elements
_required_facetslist of markers of required facets
_parentparent mesh if relation is built
// adapt mesh with constant mesh size
auto adapted_mesh = remesh( _mesh=mesh, _metric="0.1" );
// adapt mesh with constant mesh size with required elements marked omega
auto adapted_mesh = remesh( _mesh=mesh, _metric="0.1", _required_elts=std::vector{{"omega"}} );
auto remesh(Ts &&... v)
remesh with named arguments
Definition: remesh.hpp:147
Returns
std::shared_ptr<MeshType>

◆ worldComm()

template<typename RangeT , std::enable_if_t< is_range_v< RangeT >, int > = 0>
WorldComm const & Feel::worldComm ( RangeT const &  range)

#include </data/cemosis/github-actions-runner/actions-runner-feelpp-1/_work/feelpp/feelpp/feelpp/feel/feelmesh/filters.hpp>

Returns
the worldcomm associated to the mesh stored in the range