![]() |
PRISMS-PF Manual
|
#include <refinement_manager.h>
Public Member Functions | |
| RefinementManager (SolveContext< dim, degree, number > &_solve_context) | |
| Constructor. Init the flags for refinement. | |
| ~RefinementManager ()=default | |
| Destructor. | |
| RefinementManager (const RefinementManager &grid_refiner)=delete | |
| Copy constructor. | |
| RefinementManager & | operator= (const RefinementManager &grid_refiner)=delete |
| Copy assignment. | |
| RefinementManager (RefinementManager &&grid_refiner) noexcept=delete | |
| Move constructor. | |
| RefinementManager & | operator= (RefinementManager &&grid_refiner) noexcept=delete |
| Move assignment. | |
| void | do_adaptive_refinement (std::vector< std::shared_ptr< SolverBase< dim, degree, number > > > &solvers) |
| Do the adaptive refinement. | |
| void | add_refinement_marker (std::shared_ptr< const CellMarkerBase< dim > > marker) |
| void | clear_refinement_markers () |
| const std::vector< std::shared_ptr< const CellMarkerBase< dim > > > & | get_refinement_markers () const |
| void | do_initial_refinement (std::vector< std::shared_ptr< SolverBase< dim, degree, number > > > &solvers) |
Similar to do_adaptive_refinement but loops coarsening. | |
Private Member Functions | |
| void | mark_cells_for_refinement_and_coarsening () |
| Mark cells for refinement and coarsening. | |
| bool | mark_cells_for_refinement () |
| Mark cells based on function. Note: cells are only marked for refinement but not coarsening. | |
| void | refine_grid (std::vector< std::shared_ptr< SolverBase< dim, degree, number > > > &solvers) |
| Refine the grid once. | |
Private Attributes | |
| SolveContext< dim, degree, number > * | solve_context |
| Grid refinement context. | |
| std::array< dealii::UpdateFlags, 2 > | fe_values_flags |
| Update flags for the FEValues determined by the grid refinement criterion. For now, we share one flag set for scalar fields and one for vector fields. | |
| unsigned int | num_quad_points = 0 |
| Number of quadrature points. | |
| unsigned int | max_refinement = 0 |
| Maximum global refinement level. | |
| unsigned int | min_refinement = 0 |
| Minimum global refinement level. | |
| std::list< std::shared_ptr< const CellMarkerBase< dim > > > | marker_functions |
| Marker functions. | |
|
inlineexplicit |
Constructor. Init the flags for refinement.
|
default |
Destructor.
|
delete |
Copy constructor.
Deleted so grid refiner instances aren't copied.
|
deletenoexcept |
Move constructor.
Deleted so grid refiner instances aren't moved.
|
inline |
|
inline |
|
inline |
Do the adaptive refinement.
Perform a loop of flagging cells for refinement/coarsening and refining until no more cells are flagged.
|
inline |
Similar to do_adaptive_refinement but loops coarsening.
Perform a loop of flagging cells for refinement/coarsening and refining until no more cells are flagged.
|
inline |
|
inlineprivate |
Mark cells based on function. Note: cells are only marked for refinement but not coarsening.
| refinement_function | A function that determines if a cell should be refined. |
|
inlineprivate |
Mark cells for refinement and coarsening.
|
delete |
Copy assignment.
Deleted so grid refiner instances aren't copied.
|
deletenoexcept |
Move assignment.
Deleted so grid refiner instances aren't moved.
|
inlineprivate |
Refine the grid once.
|
private |
Update flags for the FEValues determined by the grid refinement criterion. For now, we share one flag set for scalar fields and one for vector fields.
|
private |
Marker functions.
|
private |
Maximum global refinement level.
|
private |
Minimum global refinement level.
|
private |
Number of quadrature points.
|
private |
Grid refinement context.