QUGaR 0.0.4
Loading...
Searching...
No Matches
qugar::impl::UnfittedImplDomain< dim > Class Template Reference

#include <impl_unfitted_domain.hpp>

Inheritance diagram for qugar::impl::UnfittedImplDomain< dim >:
[legend]
Collaboration diagram for qugar::impl::UnfittedImplDomain< dim >:
[legend]

Public Types

using FuncSign = qugar::impl::FuncSign
 
using FacetsStatus = std::array<ImmersedFacetStatus, static_cast<std::size_t>(dim) * 2>
 
using GridPtr = std::shared_ptr<const CartGridTP<dim>>
 
using FuncPtr = std::shared_ptr<const ImplicitFunc<dim>>
 
- Public Types inherited from qugar::UnfittedDomain< dim >
using FacetsStatus = std::array<ImmersedFacetStatus, static_cast<std::size_t>(dim) * 2>
 
using GridPtr = std::shared_ptr<const CartGridTP<dim>>
 

Public Member Functions

 UnfittedImplDomain (const FuncPtr phi, GridPtr grid)
 
 UnfittedImplDomain (const FuncPtr phi, GridPtr grid, const std::vector< int > &cells)
 
FuncPtr get_impl_func () const
 
- Public Member Functions inherited from qugar::UnfittedDomain< dim >
virtual ~UnfittedDomain ()=default
 
GridPtr get_grid () const
 
const std::vector< int > & get_full_cells () const
 
const std::vector< int > & get_empty_cells () const
 
const std::vector< int > & get_cut_cells () const
 
FacetsStatus get_cell_facets_status (int cell_id) const
 
void get_empty_facets (std::vector< int > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_full_facets (std::vector< int > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_full_unfitted_facets (std::vector< int > &cell_ids, std::vector< int > &local_facets_ids) const
 
void get_cut_facets (std::vector< int > &cell_ids, std::vector< int > &local_facets_ids) const
 
bool is_full_cell (int cell_id) const
 
bool is_empty_cell (int cell_id) const
 
bool is_cut_cell (int cell_id) const
 
bool is_full_facet (int cell_id, int local_facet_id) const
 
bool is_empty_facet (int cell_id, int local_facet_id) const
 
bool is_cut_facet (int cell_id, int local_facet_id) const
 
bool is_full_unfitted_facet (int cell_id, int local_facet_id) const
 
bool has_unfitted_boundary (int cell_id, int local_facet_id) const
 
bool has_unfitted_boundary_on_domain_boundary (int cell_id, int local_facet_id) const
 
bool has_external_boundary (int cell_id, int local_facet_id) const
 

Private Member Functions

void create_decomposition (const SubCartGridTP< dim > &subgrid, const std::function< FuncSign(const BoundBox< dim > &)> &func_sign, const std::optional< std::vector< int > > &target_cells)
 

Private Attributes

FuncPtr phi_
 

Additional Inherited Members

- Protected Member Functions inherited from qugar::UnfittedDomain< dim >
 UnfittedDomain (const GridPtr &grid)
 
void sort ()
 
- Protected Attributes inherited from qugar::UnfittedDomain< dim >
GridPtr grid_
 
std::vector< int > full_cells_
 
std::vector< int > empty_cells_
 
std::vector< int > cut_cells_
 
std::unordered_map< int, FacetsStatusfacets_status_
 

Member Typedef Documentation

◆ FacetsStatus

template<int dim>
using qugar::impl::UnfittedImplDomain< dim >::FacetsStatus = std::array<ImmersedFacetStatus, static_cast<std::size_t>(dim) * 2>

◆ FuncPtr

template<int dim>
using qugar::impl::UnfittedImplDomain< dim >::FuncPtr = std::shared_ptr<const ImplicitFunc<dim>>

◆ FuncSign

template<int dim>
using qugar::impl::UnfittedImplDomain< dim >::FuncSign = qugar::impl::FuncSign

◆ GridPtr

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

Constructor & Destructor Documentation

◆ UnfittedImplDomain() [1/2]

template<int dim>
qugar::impl::UnfittedImplDomain< dim >::UnfittedImplDomain ( const FuncPtr phi,
GridPtr grid )
explicit

◆ UnfittedImplDomain() [2/2]

template<int dim>
qugar::impl::UnfittedImplDomain< dim >::UnfittedImplDomain ( const FuncPtr phi,
GridPtr grid,
const std::vector< int > & cells )
explicit

Member Function Documentation

◆ create_decomposition()

template<int dim>
void qugar::impl::UnfittedImplDomain< dim >::create_decomposition ( const SubCartGridTP< dim > & subgrid,
const std::function< FuncSign(const BoundBox< dim > &)> & func_sign,
const std::optional< std::vector< int > > & target_cells )
private

◆ get_impl_func()

template<int dim>
FuncPtr qugar::impl::UnfittedImplDomain< dim >::get_impl_func ( ) const
nodiscard

Member Data Documentation

◆ phi_

template<int dim>
FuncPtr qugar::impl::UnfittedImplDomain< dim >::phi_
private

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