11#ifndef QUGAR_UNFITTED_DOMAIN_HPP
12#define QUGAR_UNFITTED_DOMAIN_HPP
29#include <unordered_map>
51 using FacetsStatus = std::array<ImmersedFacetStatus, static_cast<std::size_t>(dim) * 2>;
52 using GridPtr = std::shared_ptr<const CartGridTP<dim>>;
66 void get_empty_facets(std::vector<int> &cell_ids, std::vector<int> &local_facets_ids)
const;
67 void get_full_facets(std::vector<int> &cell_ids, std::vector<int> &local_facets_ids)
const;
69 void get_cut_facets(std::vector<int> &cell_ids, std::vector<int> &local_facets_ids)
const;
75 [[nodiscard]]
bool is_full_facet(
int cell_id,
int local_facet_id)
const;
77 [[nodiscard]]
bool is_cut_facet(
int cell_id,
int local_facet_id)
const;
Definition of Cartesian grid class.
Definition unfitted_domain.hpp:49
const std::vector< int > & get_full_cells() const
virtual ~UnfittedDomain()=default
bool has_external_boundary(int cell_id, int local_facet_id) const
bool is_cut_facet(int cell_id, int local_facet_id) const
GridPtr grid_
Definition unfitted_domain.hpp:85
FacetsStatus get_cell_facets_status(int cell_id) const
UnfittedDomain(const GridPtr &grid)
std::vector< int > full_cells_
Definition unfitted_domain.hpp:86
void get_empty_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_full_facets(std::vector< int > &cell_ids, std::vector< int > &local_facets_ids) const
bool is_full_cell(int cell_id) const
std::unordered_map< int, FacetsStatus > facets_status_
Definition unfitted_domain.hpp:89
const std::vector< int > & get_cut_cells() const
bool is_cut_cell(int cell_id) const
bool has_unfitted_boundary_on_domain_boundary(int cell_id, int local_facet_id) const
bool is_empty_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
void get_cut_facets(std::vector< int > &cell_ids, std::vector< int > &local_facets_ids) const
std::array< ImmersedFacetStatus, static_cast< std::size_t >(dim) *2 > FacetsStatus
Definition unfitted_domain.hpp:51
const std::vector< int > & get_empty_cells() const
bool has_unfitted_boundary(int cell_id, int local_facet_id) const
std::vector< int > empty_cells_
Definition unfitted_domain.hpp:87
bool is_full_unfitted_facet(int cell_id, int local_facet_id) const
std::shared_ptr< const CartGridTP< dim > > GridPtr
Definition unfitted_domain.hpp:52
std::vector< int > cut_cells_
Definition unfitted_domain.hpp:88
QUGaR's main namespace.
Definition affine_transf.hpp:28
ImmersedFacetStatus
Definition unfitted_domain.hpp:34
@ cut
Definition cut_quadrature.hpp:33
@ empty
Definition cut_quadrature.hpp:33
@ full
Definition cut_quadrature.hpp:33