6#include <deal.II/distributed/tria.h>
7#include <deal.II/grid/tria.h>
12#include <prismspf/config.h>
22template <
unsigned int dim>
52 [[nodiscard]]
unsigned int
65 [[nodiscard]]
const dealii::Triangulation<dim> &
71 [[nodiscard]]
const std::vector<dealii::GridTools::PeriodicFacePair<
72 typename dealii::Triangulation<dim>::cell_iterator>> &
135 std::vector<dealii::GridTools::PeriodicFacePair<
136 typename dealii::Triangulation<dim>::cell_iterator>>
145PRISMS_PF_END_NAMESPACE
Triangulation< dim > triangulation
Main triangulation.
Definition triangulation_manager.h:125
void clear_mg()
Remove the multigrid triangulations.
Definition triangulation_manager.cc:53
void init_mg()
Initialize the multigrid triangulations.
Definition triangulation_manager.cc:42
void generate_mesh(const SpatialDiscretization< dim > &discretization_params)
Generate mesh based on the inputs provided by the user.
Definition triangulation_manager.cc:115
double volume
Volume of the triangulation.
Definition triangulation_manager.h:142
std::vector< std::shared_ptr< const dealii::Triangulation< dim > > > coarsened_triangulations
Coarsened triangulations for multigrid.
Definition triangulation_manager.h:130
void execute_grid_refinement()
Execute grid refinement on the triangulation.
Definition triangulation_manager.h:107
bool has_mg() const
Check if the multigrid triangulations are initialized.
Definition triangulation_manager.cc:60
void export_triangulation_as_vtk(const std::string &filename) const
Export triangulation to vtk. This is done for debugging purposes when dealing with unusual meshes (e....
Definition triangulation_manager.cc:149
const std::vector< dealii::GridTools::PeriodicFacePair< typename dealii::Triangulation< dim >::cell_iterator > > & get_periodic_face_pairs() const
Get the vector of periodic face pairs.
Definition triangulation_manager.cc:101
void clear_user_flags()
Clear all user flags.
Definition triangulation_manager.h:116
void prepare_for_grid_refinement()
Prepare the triangulation for grid refinement.
Definition triangulation_manager.h:98
std::vector< dealii::GridTools::PeriodicFacePair< typename dealii::Triangulation< dim >::cell_iterator > > periodicity_vector
Periodic face pairs on the coarsest mesh if they exist.
Definition triangulation_manager.h:137
double get_volume() const
Get the volume of the triangulation.
Definition triangulation_manager.cc:108
const Triangulation< dim > & get_triangulation() const
Getter function for triangulation.
Definition triangulation_manager.cc:78
TriangulationManager()
Constructor.
Definition triangulation_manager.cc:34
unsigned int num_levels() const
Get the number of levels in the multigrid.
Definition triangulation_manager.cc:67
Definition conditional_ostreams.cc:20
std::conditional_t< dim==1, dealii::Triangulation< dim >, dealii::parallel::distributed::Triangulation< dim > > Triangulation
Definition spatial_discretization.h:34
Struct that holds spatial discretization parameters.
Definition spatial_discretization.h:231