include/meltpooldg/utilities/amr_regions.hpp File Reference

Developer Documentation: include/meltpooldg/utilities/amr_regions.hpp File Reference
Developer Documentation
amr_regions.hpp File Reference

Utilities for region-based adaptive mesh refinement (AMR). More...

#include <deal.II/base/exceptions.h>
#include <deal.II/base/point.h>
#include <deal.II/base/tensor.h>
#include <deal.II/grid/tria.h>
#include <boost/serialization/access.hpp>
#include <cmath>
#include <memory>
#include <utility>
#include <vector>
Include dependency graph for amr_regions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MeltPoolDG::AMR::AMRRegion< dim, number >
 Type-erased wrapper representing a geometric region for adaptive mesh refinement. More...
 
struct  MeltPoolDG::AMR::AMRRegion< dim, number >::Concept
 Abstract base interface for all region types. More...
 
struct  MeltPoolDG::AMR::AMRRegion< dim, number >::Model< T >
 Concrete wrapper around a user-defined region type. More...
 
class  MeltPoolDG::AMR::SphereAMRRegion< dim, number >
 Represents a spherical region for adaptive mesh refinement. More...
 
class  MeltPoolDG::AMR::SphericalShellAMRRegion< dim, number >
 Represents a spherical shell region for adaptive mesh refinement (AMR). More...
 

Namespaces

namespace  MeltPoolDG
 Interface for a general preconditioner.
 
namespace  MeltPoolDG::AMR
 

Functions

template<int dim, typename number >
bool MeltPoolDG::AMR::set_refinement_flags_in_regions (dealii::Triangulation< dim > &tria, const std::vector< AMRRegion< dim, number > > &regions={}, bool do_coarsening=false)
 Marks cells in a triangulation for refinement if their centers fall inside specified regions.
 

Detailed Description

Utilities for region-based adaptive mesh refinement (AMR).

This file provides functions and classes that support region-based adaptive mesh refinement, where refinement is restricted to specific user-defined regions of the computational domain.

The refinement strategy within each region can be customized depending on the application. For instance, users may perform:

  • uniform refinement up to a specified refinement level, or
  • indicator-based refinement guided by error estimators, restricted to the selected regions.