QUGaR 0.0.9
Loading...
Searching...
No Matches
qugar::UnfittedDomain< dim > Class Template Reference

#include <unfitted_domain.hpp>

Inheritance diagram for qugar::UnfittedDomain< dim >:
[legend]

Public Types

using FacetsStatus = std::array<ImmersedFacetStatus, n_facets_per_cell>
 
using GridPtr = std::shared_ptr<const CartGridTP<dim>>
 
using BinarySpacePartPtr = std::shared_ptr<UnfittedBinarySpacePart<dim>>
 

Public Member Functions

virtual ~UnfittedDomain ()=default
 
 UnfittedDomain (const UnfittedDomain &other)=default
 Copy constructor.
 
UnfittedDomainoperator= (const UnfittedDomain &other)=default
 Copy assignment operator.
 
 UnfittedDomain (UnfittedDomain &&other) noexcept=default
 Move constructor.
 
UnfittedDomainoperator= (UnfittedDomain &&other) noexcept=default
 Move assignment operator.
 
GridPtr get_grid () const
 
bool is_exterior_facet (std::int64_t cell_id, int local_facet_id) const
 
std::size_t get_num_total_cells () const
 
std::size_t get_num_full_cells () const
 
std::size_t get_num_empty_cells () const
 
std::size_t get_num_cut_cells () const
 
bool has_facets_with_unf_bdry () const
 
void get_full_cells (std::vector< std::int64_t > &cell_ids) const
 
void get_empty_cells (std::vector< std::int64_t > &cell_ids) const
 
void get_cut_cells (std::vector< std::int64_t > &cell_ids) const
 
void get_full_cells (const std::vector< std::int64_t > &target_cell_ids, std::vector< std::int64_t > &cell_ids) const
 
void get_empty_cells (const std::vector< std::int64_t > &target_cell_ids, std::vector< std::int64_t > &cell_ids) const
 
void get_cut_cells (const std::vector< std::int64_t > &target_cell_ids, std::vector< std::int64_t > &cell_ids) const
 
void get_empty_facets (std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_full_facets (std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_unfitted_facets (std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_full_unfitted_facets (std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_cut_facets (std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_empty_facets (const std::vector< std::int64_t > &target_cell_ids, const std::vector< int > &target_local_facets_ids, std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_full_facets (const std::vector< std::int64_t > &target_cell_ids, const std::vector< int > &target_local_facets_ids, std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_unfitted_facets (const std::vector< std::int64_t > &target_cell_ids, const std::vector< int > &target_local_facets_ids, std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_full_unfitted_facets (const std::vector< std::int64_t > &target_cell_ids, const std::vector< int > &target_local_facets_ids, std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_cut_facets (const std::vector< std::int64_t > &target_cell_ids, const std::vector< int > &target_local_facets_ids, std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids) const
 
bool is_full_cell (std::int64_t cell_id) const
 
bool is_empty_cell (std::int64_t cell_id) const
 
bool is_cut_cell (std::int64_t cell_id) const
 
bool is_full_with_unf_bdry_cell (std::int64_t cell_id) const
 
bool is_full_facet (std::int64_t cell_id, int local_facet_id) const
 
bool is_empty_facet (std::int64_t cell_id, int local_facet_id) const
 
bool is_cut_facet (std::int64_t cell_id, int local_facet_id) const
 
bool is_full_unfitted_facet (std::int64_t cell_id, int local_facet_id) const
 
bool is_cell_with_unf_bdry (std::int64_t cell_id) const
 
bool has_unfitted_boundary (std::int64_t cell_id, int local_facet_id) const
 
bool has_external_boundary (std::int64_t cell_id, int local_facet_id) const
 

Static Public Member Functions

static bool is_full_facet (ImmersedFacetStatus status)
 
static bool is_empty_facet (ImmersedFacetStatus status)
 
static bool is_cut_facet (ImmersedFacetStatus status)
 
static bool is_full_unfitted_facet (ImmersedFacetStatus status)
 
static bool has_unfitted_boundary (ImmersedFacetStatus status)
 
static bool has_external_boundary (ImmersedFacetStatus status)
 

Static Public Attributes

static const int n_facets_per_cell = dim * 2
 

Protected Member Functions

 UnfittedDomain (const GridPtr &grid)
 
void init_full_cells_with_unf_bdry ()
 

Protected Attributes

GridPtr grid_
 
BinarySpacePartPtr binary_sp_part_
 
std::unordered_map< std::int64_t, FacetsStatusfacets_status_
 
std::vector< std::int64_t > full_cells_with_unf_bdry_
 

Static Private Member Functions

static void get_facets_target (const std::vector< std::int64_t > &target_cell_ids, const std::vector< int > &target_local_facets_ids, std::vector< std::int64_t > &cell_ids, std::vector< int > &local_facets_ids, const std::function< bool(std::int64_t, int)> &func)
 

Member Typedef Documentation

◆ BinarySpacePartPtr

template<int dim>
using qugar::UnfittedDomain< dim >::BinarySpacePartPtr = std::shared_ptr<UnfittedBinarySpacePart<dim>>

◆ FacetsStatus

template<int dim>
using qugar::UnfittedDomain< dim >::FacetsStatus = std::array<ImmersedFacetStatus, n_facets_per_cell>

◆ GridPtr

template<int dim>
using qugar::UnfittedDomain< dim >::GridPtr = std::shared_ptr<const CartGridTP<dim>>

Constructor & Destructor Documentation

◆ UnfittedDomain() [1/3]

template<int dim>
qugar::UnfittedDomain< dim >::UnfittedDomain ( const GridPtr & grid)
explicitprotected

◆ ~UnfittedDomain()

template<int dim>
virtual qugar::UnfittedDomain< dim >::~UnfittedDomain ( )
virtualdefault

◆ UnfittedDomain() [2/3]

template<int dim>
qugar::UnfittedDomain< dim >::UnfittedDomain ( const UnfittedDomain< dim > & other)
default

Copy constructor.

◆ UnfittedDomain() [3/3]

template<int dim>
qugar::UnfittedDomain< dim >::UnfittedDomain ( UnfittedDomain< dim > && other)
defaultnoexcept

Move constructor.

Member Function Documentation

◆ get_cut_cells() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_cut_cells ( const std::vector< std::int64_t > & target_cell_ids,
std::vector< std::int64_t > & cell_ids ) const

◆ get_cut_cells() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_cut_cells ( std::vector< std::int64_t > & cell_ids) const
Here is the caller graph for this function:

◆ get_cut_facets() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_cut_facets ( const std::vector< std::int64_t > & target_cell_ids,
const std::vector< int > & target_local_facets_ids,
std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_cut_facets() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_cut_facets ( std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_empty_cells() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_empty_cells ( const std::vector< std::int64_t > & target_cell_ids,
std::vector< std::int64_t > & cell_ids ) const

◆ get_empty_cells() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_empty_cells ( std::vector< std::int64_t > & cell_ids) const

◆ get_empty_facets() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_empty_facets ( const std::vector< std::int64_t > & target_cell_ids,
const std::vector< int > & target_local_facets_ids,
std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_empty_facets() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_empty_facets ( std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_facets_target()

template<int dim>
static void qugar::UnfittedDomain< dim >::get_facets_target ( const std::vector< std::int64_t > & target_cell_ids,
const std::vector< int > & target_local_facets_ids,
std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids,
const std::function< bool(std::int64_t, int)> & func )
staticprivate

◆ get_full_cells() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_full_cells ( const std::vector< std::int64_t > & target_cell_ids,
std::vector< std::int64_t > & cell_ids ) const

◆ get_full_cells() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_full_cells ( std::vector< std::int64_t > & cell_ids) const

◆ get_full_facets() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_full_facets ( const std::vector< std::int64_t > & target_cell_ids,
const std::vector< int > & target_local_facets_ids,
std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_full_facets() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_full_facets ( std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_full_unfitted_facets() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_full_unfitted_facets ( const std::vector< std::int64_t > & target_cell_ids,
const std::vector< int > & target_local_facets_ids,
std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_full_unfitted_facets() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_full_unfitted_facets ( std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_grid()

template<int dim>
GridPtr qugar::UnfittedDomain< dim >::get_grid ( ) const
nodiscard

◆ get_num_cut_cells()

template<int dim>
std::size_t qugar::UnfittedDomain< dim >::get_num_cut_cells ( ) const
nodiscard

◆ get_num_empty_cells()

template<int dim>
std::size_t qugar::UnfittedDomain< dim >::get_num_empty_cells ( ) const
nodiscard

◆ get_num_full_cells()

template<int dim>
std::size_t qugar::UnfittedDomain< dim >::get_num_full_cells ( ) const
nodiscard

◆ get_num_total_cells()

template<int dim>
std::size_t qugar::UnfittedDomain< dim >::get_num_total_cells ( ) const
nodiscard

◆ get_unfitted_facets() [1/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_unfitted_facets ( const std::vector< std::int64_t > & target_cell_ids,
const std::vector< int > & target_local_facets_ids,
std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ get_unfitted_facets() [2/2]

template<int dim>
void qugar::UnfittedDomain< dim >::get_unfitted_facets ( std::vector< std::int64_t > & cell_ids,
std::vector< int > & local_facets_ids ) const

◆ has_external_boundary() [1/2]

template<int dim>
static bool qugar::UnfittedDomain< dim >::has_external_boundary ( ImmersedFacetStatus status)
staticnodiscard

◆ has_external_boundary() [2/2]

template<int dim>
bool qugar::UnfittedDomain< dim >::has_external_boundary ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ has_facets_with_unf_bdry()

template<int dim>
bool qugar::UnfittedDomain< dim >::has_facets_with_unf_bdry ( ) const
nodiscard

◆ has_unfitted_boundary() [1/2]

template<int dim>
static bool qugar::UnfittedDomain< dim >::has_unfitted_boundary ( ImmersedFacetStatus status)
staticnodiscard

◆ has_unfitted_boundary() [2/2]

template<int dim>
bool qugar::UnfittedDomain< dim >::has_unfitted_boundary ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ init_full_cells_with_unf_bdry()

template<int dim>
void qugar::UnfittedDomain< dim >::init_full_cells_with_unf_bdry ( )
protected

◆ is_cell_with_unf_bdry()

template<int dim>
bool qugar::UnfittedDomain< dim >::is_cell_with_unf_bdry ( std::int64_t cell_id) const
nodiscard

◆ is_cut_cell()

template<int dim>
bool qugar::UnfittedDomain< dim >::is_cut_cell ( std::int64_t cell_id) const
nodiscard

◆ is_cut_facet() [1/2]

template<int dim>
static bool qugar::UnfittedDomain< dim >::is_cut_facet ( ImmersedFacetStatus status)
staticnodiscard

◆ is_cut_facet() [2/2]

template<int dim>
bool qugar::UnfittedDomain< dim >::is_cut_facet ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ is_empty_cell()

template<int dim>
bool qugar::UnfittedDomain< dim >::is_empty_cell ( std::int64_t cell_id) const
nodiscard

◆ is_empty_facet() [1/2]

template<int dim>
static bool qugar::UnfittedDomain< dim >::is_empty_facet ( ImmersedFacetStatus status)
staticnodiscard

◆ is_empty_facet() [2/2]

template<int dim>
bool qugar::UnfittedDomain< dim >::is_empty_facet ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ is_exterior_facet()

template<int dim>
bool qugar::UnfittedDomain< dim >::is_exterior_facet ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ is_full_cell()

template<int dim>
bool qugar::UnfittedDomain< dim >::is_full_cell ( std::int64_t cell_id) const
nodiscard

◆ is_full_facet() [1/2]

template<int dim>
static bool qugar::UnfittedDomain< dim >::is_full_facet ( ImmersedFacetStatus status)
staticnodiscard

◆ is_full_facet() [2/2]

template<int dim>
bool qugar::UnfittedDomain< dim >::is_full_facet ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ is_full_unfitted_facet() [1/2]

template<int dim>
static bool qugar::UnfittedDomain< dim >::is_full_unfitted_facet ( ImmersedFacetStatus status)
staticnodiscard

◆ is_full_unfitted_facet() [2/2]

template<int dim>
bool qugar::UnfittedDomain< dim >::is_full_unfitted_facet ( std::int64_t cell_id,
int local_facet_id ) const
nodiscard

◆ is_full_with_unf_bdry_cell()

template<int dim>
bool qugar::UnfittedDomain< dim >::is_full_with_unf_bdry_cell ( std::int64_t cell_id) const
nodiscard

◆ operator=() [1/2]

template<int dim>
UnfittedDomain & qugar::UnfittedDomain< dim >::operator= ( const UnfittedDomain< dim > & other)
default

Copy assignment operator.

◆ operator=() [2/2]

template<int dim>
UnfittedDomain & qugar::UnfittedDomain< dim >::operator= ( UnfittedDomain< dim > && other)
defaultnoexcept

Move assignment operator.

Member Data Documentation

◆ binary_sp_part_

template<int dim>
BinarySpacePartPtr qugar::UnfittedDomain< dim >::binary_sp_part_
protected

◆ facets_status_

template<int dim>
std::unordered_map<std::int64_t, FacetsStatus> qugar::UnfittedDomain< dim >::facets_status_
protected

◆ full_cells_with_unf_bdry_

template<int dim>
std::vector<std::int64_t> qugar::UnfittedDomain< dim >::full_cells_with_unf_bdry_
protected

◆ grid_

template<int dim>
GridPtr qugar::UnfittedDomain< dim >::grid_
protected

◆ n_facets_per_cell

template<int dim>
const int qugar::UnfittedDomain< dim >::n_facets_per_cell = dim * 2
static

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