FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Geometry::BoundaryFactory< ParentMesh_ > Class Template Reference

BoundaryFactory implementation. More...

#include <boundary_factory.hpp>

Inheritance diagram for FEAT::Geometry::BoundaryFactory< ParentMesh_ >:
FEAT::Geometry::Factory< MeshPart< ParentMesh_ > >

Public Types

typedef Factory< MeshPart< ParentMesh_ > > BaseClass
 Our base class. More...
 
typedef MeshPart< ParentMeshTypeMeshType
 The MeshPart type. More...
 
typedef ParentMesh_ ParentMeshType
 the parent mesh type More...
 
typedef MeshType::ShapeType ShapeType
 the shape type More...
 
typedef MeshType::TargetSetHolderType TargetSetHolderType
 target set holder type More...
 

Public Member Functions

 BoundaryFactory (const ParentMeshType &mesh_in)
 Constructor. More...
 
virtual void fill_attribute_sets (typename BaseClass::AttributeSetContainer &) override
 Fills the MeshPart's target set, except that it doesn't. More...
 
virtual void fill_index_sets (std::unique_ptr< typename BaseClass::IndexSetHolderType > &) override
 Fills the MeshPart's index_set_holder, except that it doesn't as there is no topology. More...
 
virtual void fill_target_sets (TargetSetHolderType &target_set_holder) override
 Fills the MeshPart's target set. More...
 
virtual Index get_num_entities (int dim) override
 Returns the number of entities. More...
 

Static Public Attributes

static constexpr int shape_dim = ShapeType::dimension
 the facet dimension More...
 

Private Attributes

std::array< std::vector< int >, std::size_t(shape_dim)> _bnd_masks
 the face masks for each face dimensions More...
 
Intern::BoundaryFaceComputer< ShapeType_face_computer
 a boundary face computer object for the dirty work More...
 
std::array< std::vector< Index >, std::size_t(shape_dim)> _face_idx
 the (cell_dim_-1)-dimensional boundary face indices for each face dimension More...
 
const ParentMeshType_mesh_in
 a reference to the input mesh More...
 

Detailed Description

template<typename ParentMesh_>
class FEAT::Geometry::BoundaryFactory< ParentMesh_ >

BoundaryFactory implementation.

The boundary factory is a MeshPart factory, which creates a MeshPart without topology containing all boundary faces for a given conformal mesh.

Author
Peter Zajac

Definition at line 27 of file boundary_factory.hpp.

Member Typedef Documentation

◆ BaseClass

template<typename ParentMesh_ >
typedef Factory<MeshPart<ParentMesh_> > FEAT::Geometry::BoundaryFactory< ParentMesh_ >::BaseClass

Our base class.

Definition at line 32 of file boundary_factory.hpp.

◆ MeshType

template<typename ParentMesh_ >
typedef MeshPart<ParentMeshType> FEAT::Geometry::BoundaryFactory< ParentMesh_ >::MeshType

The MeshPart type.

Definition at line 36 of file boundary_factory.hpp.

◆ ParentMeshType

template<typename ParentMesh_ >
typedef ParentMesh_ FEAT::Geometry::BoundaryFactory< ParentMesh_ >::ParentMeshType

the parent mesh type

Definition at line 34 of file boundary_factory.hpp.

◆ ShapeType

template<typename ParentMesh_ >
typedef MeshType::ShapeType FEAT::Geometry::BoundaryFactory< ParentMesh_ >::ShapeType

the shape type

Definition at line 38 of file boundary_factory.hpp.

◆ TargetSetHolderType

template<typename ParentMesh_ >
typedef MeshType::TargetSetHolderType FEAT::Geometry::BoundaryFactory< ParentMesh_ >::TargetSetHolderType

target set holder type

Definition at line 40 of file boundary_factory.hpp.

Constructor & Destructor Documentation

◆ BoundaryFactory()

template<typename ParentMesh_ >
FEAT::Geometry::BoundaryFactory< ParentMesh_ >::BoundaryFactory ( const ParentMeshType mesh_in)
inlineexplicit

Constructor.

Parameters
[in]mesh_inA resident reference to mesh for which the boundary meshpart is to be computed.

Definition at line 61 of file boundary_factory.hpp.

References FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_bnd_masks, FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_face_computer, and FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_face_idx.

Member Function Documentation

◆ fill_attribute_sets()

template<typename ParentMesh_ >
virtual void FEAT::Geometry::BoundaryFactory< ParentMesh_ >::fill_attribute_sets ( typename BaseClass::AttributeSetContainer &  )
inlineoverridevirtual

Fills the MeshPart's target set, except that it doesn't.

Definition at line 77 of file boundary_factory.hpp.

◆ fill_index_sets()

template<typename ParentMesh_ >
virtual void FEAT::Geometry::BoundaryFactory< ParentMesh_ >::fill_index_sets ( std::unique_ptr< typename BaseClass::IndexSetHolderType > &  )
inlineoverridevirtual

Fills the MeshPart's index_set_holder, except that it doesn't as there is no topology.

Definition at line 82 of file boundary_factory.hpp.

◆ fill_target_sets()

template<typename ParentMesh_ >
virtual void FEAT::Geometry::BoundaryFactory< ParentMesh_ >::fill_target_sets ( TargetSetHolderType target_set_holder)
inlineoverridevirtual

◆ get_num_entities()

template<typename ParentMesh_ >
virtual Index FEAT::Geometry::BoundaryFactory< ParentMesh_ >::get_num_entities ( int  dim)
inlineoverridevirtual

Member Data Documentation

◆ _bnd_masks

template<typename ParentMesh_ >
std::array<std::vector<int>, std::size_t(shape_dim)> FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_bnd_masks
private

the face masks for each face dimensions

Definition at line 50 of file boundary_factory.hpp.

Referenced by FEAT::Geometry::BoundaryFactory< ParentMesh_ >::BoundaryFactory().

◆ _face_computer

template<typename ParentMesh_ >
Intern::BoundaryFaceComputer<ShapeType> FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_face_computer
private

a boundary face computer object for the dirty work

Definition at line 48 of file boundary_factory.hpp.

Referenced by FEAT::Geometry::BoundaryFactory< ParentMesh_ >::BoundaryFactory(), and FEAT::Geometry::BoundaryFactory< ParentMesh_ >::fill_target_sets().

◆ _face_idx

template<typename ParentMesh_ >
std::array<std::vector<Index>, std::size_t(shape_dim)> FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_face_idx
private

◆ _mesh_in

template<typename ParentMesh_ >
const ParentMeshType& FEAT::Geometry::BoundaryFactory< ParentMesh_ >::_mesh_in
private

a reference to the input mesh

Definition at line 46 of file boundary_factory.hpp.

◆ shape_dim

template<typename ParentMesh_ >
constexpr int FEAT::Geometry::BoundaryFactory< ParentMesh_ >::shape_dim = ShapeType::dimension
staticconstexpr

the facet dimension

Definition at line 42 of file boundary_factory.hpp.

Referenced by FEAT::Geometry::BoundaryFactory< ParentMesh_ >::get_num_entities().


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