FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::VoxelAssembly Namespace Reference

Namespace for different voxel based assembly methods. More...

Namespaces

namespace  Arch
 Namespace for the kernel wrapper.
 
namespace  Kernel
 Namespace for the actual assembly kernels.
 

Classes

struct  AssemblyBurgersData
 Data for burgers assembler. More...
 
struct  AssemblyCubatureData
 A data field for a cubature rule. More...
 
struct  AssemblyMappingData
 A data field for all necessary values that define the dof mapping for assembly. More...
 
struct  AssemblyMaterialData
 Data for material burgers assembler. More...
 
struct  BurgersDefectSharedDataGlobalWrapper
 
struct  BurgersMatSharedDataKernelWrapper
 Helper struct wrapping the data required as shared data. More...
 
struct  BurgersMatSharedDataKernelWrapper< SpaceHelp_, false >
 
struct  BurgersSharedDataGlobalWrapper
 
struct  BurgersSharedDataKernelWrapper
 Helper struct wrapping the data required as shared data. More...
 
struct  CSRMatrixData
 CSR Matrix data. More...
 
class  IndexSetWrapper
 
class  LagrangeDataHandler
 Data handler for Lagrange based FE spaces. More...
 
class  SharedIndexSetWrapper
 
struct  SpaceHelper
 
struct  SpaceHelper< Q2StandardFE< Shape_ >, DT_, IT_ >
 
struct  UnitCubeColoring
 
class  VertexSetWrapper
 
class  VoxelBurgersAssembler
 Burgers Voxel Assembly template. More...
 
class  VoxelBurgersAssembler< Q2StandardHyperCube< dim_ >, DT_, IT_ >
 Q2Lagrange thread parallel assembly class for the burgers operator. More...
 
class  VoxelBurgersVeloMaterialAssembler
 Burgers Velocity Material Voxel Assembly template. More...
 
class  VoxelBurgersVeloMaterialAssembler< Q2StandardHyperCube< dim_ >, DT_, IT_ >
 Q2Lagrange thread parallel assembly class for the burgers velo material operator. More...
 
class  VoxelDefoAssembler
 Deformation Voxel Assembly template. More...
 
class  VoxelDefoAssembler< Q2StandardHyperCube< dim_ >, DT_, IT_ >
 
class  VoxelPoissonAssembler
 Poisson Voxel Assembly template. More...
 
class  VoxelPoissonAssembler< Q2StandardHyperCube< dim_ >, DT_, IT_ >
 

Typedefs

template<typename Shape_ >
using Q2StandardFE = Space::Lagrange2::Element< Trafo::Standard::Mapping< Geometry::ConformalMesh< Shape_ > > >
 we only use standard mappings for voxel assembly More...
 
typedef Space::Lagrange2::Element< Trafo::Standard::Mapping< Geometry::ConformalMesh< Shape::Hypercube< 3 > > > > Q2StandardHexa
 Q2 hexadron space. More...
 
template<int dim_>
using Q2StandardHyperCube = Space::Lagrange2::Element< Trafo::Standard::Mapping< Geometry::ConformalMesh< Shape::Hypercube< dim_ > > > >
 Templated hypercube definition for standard mapping. More...
 
typedef Space::Lagrange2::Element< Trafo::Standard::Mapping< Geometry::ConformalMesh< Shape::Hypercube< 2 > > > > Q2StandardQuad
 Q2 quadliteral space. More...
 

Enumerations

enum  MaterialType { carreau = 0 , carreauYasuda = 1 }
 Enum for different material types. More...
 

Functions

template<typename Space_ , typename IT_ , int tar_dim = 0, int prior_ents = 0>
void fill_cell_to_dof (IT_ *ctd, const Space_ &space, IT_ offset=0)
 Computes a sequentialized dof mapping for the given space. More...
 
template<typename Space_ , typename IT_ >
void fill_sorter (IT_ *sorter, const IT_ *mapping, const Space_ &space)
 
template<typename Mesh_ >
bool test_coloring (const Mesh_ &mesh, const std::vector< int > &coloring)
 

Detailed Description

Namespace for different voxel based assembly methods.

This namespace incoperates a number of function and classes handling thread parallel assembly of finite element matrices. Since the threading strategy is based on coloring of the elements, a good (i.e. balanced) coloring is required, which is for example given by a voxel based mesh.

Author
Maximilian Esser

Typedef Documentation

◆ Q2StandardFE

we only use standard mappings for voxel assembly

Definition at line 91 of file space_helper.hpp.

◆ Q2StandardHexa

◆ Q2StandardHyperCube

Templated hypercube definition for standard mapping.

Definition at line 48 of file voxel_assembly_common.hpp.

◆ Q2StandardQuad

Enumeration Type Documentation

◆ MaterialType

Enum for different material types.

Definition at line 272 of file voxel_assembly_common.hpp.

Function Documentation

◆ fill_cell_to_dof()

template<typename Space_ , typename IT_ , int tar_dim = 0, int prior_ents = 0>
void FEAT::VoxelAssembly::fill_cell_to_dof ( IT_ *  ctd,
const Space_ &  space,
IT_  offset = 0 
)

Computes a sequentialized dof mapping for the given space.

Warning
Should only be called with tar_dim = prior_ents = offset = 0

How many dofs do we have per target dim?

Definition at line 53 of file cell_to_dof_helper.hpp.

References XABORTM.

◆ fill_sorter()

template<typename Space_ , typename IT_ >
void FEAT::VoxelAssembly::fill_sorter ( IT_ *  sorter,
const IT_ *  mapping,
const Space_ &  space 
)

Definition at line 98 of file cell_to_dof_helper.hpp.

◆ test_coloring()

template<typename Mesh_ >
bool FEAT::VoxelAssembly::test_coloring ( const Mesh_ &  mesh,
const std::vector< int > &  coloring 
)

Definition at line 65 of file voxel_coloring.hpp.