Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::MeshStructuredSetup< Dim, RealDim, T, IndexT > Class Template Referenceabstract

MeshStructuredSetup class define : More...

+ Collaboration diagram for Feel::MeshStructuredSetup< Dim, RealDim, T, IndexT >:

Public Types

enum class  DivisionEdgeType { Equidistributed }
 
using index_type = IndexT
 
using node_eigen_type = eigen_vector_type< nRealDim, value_type >
 
using value_type = T
 

Public Member Functions

index_type cellId (std::array< index_type, nDim > const &indexes) const
 
virtual bool isCartesian () const
 
 MeshStructuredSetup (std::string const &shape)
 
std::vector< index_type > const & nPointByAxis () const
 
virtual node_type pointCoordinates (std::array< index_type, nDim > const &indexes) const =0
 
index_type pointId (std::array< index_type, nDim > const &indexes) const
 
std::array< index_type, nPointInCell > pointIdsFromCellId (std::array< index_type, nDim > const &indexes) const
 

Static Public Member Functions

static std::shared_ptr< self_type > New (nl::json const &jDesc)
 

Static Public Attributes

static constexpr uint16_type nDim = Dim
 
static constexpr int nPointInCell = Dim==1? 2 : ( Dim==2? 4 : 8 )
 
static constexpr uint16_type nRealDim = RealDim
 

Protected Member Functions

void updateDiscretisation (nl::json const &jDesc={})
 

Protected Attributes

std::vector< std::tuple< DivisionEdgeType, value_type > > M_discretisationEdges
 
std::vector< std::tuple< int, int, int > > M_geometricEdges
 
std::vector< node_eigen_type > M_geometricPoints
 
std::vector< index_type > M_nPointByAxis
 
std::string M_shape
 

Detailed Description

template<int Dim, int RealDim = Dim, typename T = double, typename IndexT = uint32_type>
class Feel::MeshStructuredSetup< Dim, RealDim, T, IndexT >

MeshStructuredSetup class define :

  • the geometry of structured mesh
  • the discretisation with points and cells (segement,quad or hexa with respect to the dim)
  • the partitioning strategy