21 #ifndef FUB_AMREX_CUT_CELL_GRIDDING_ALGORITHM_HPP 
   22 #define FUB_AMREX_CUT_CELL_GRIDDING_ALGORITHM_HPP 
   30 #include <AMReX_AmrCore.H> 
  121   [[nodiscard]] std::ptrdiff_t 
GetCycles() const noexcept {
 
  159   [[nodiscard]] ::amrex::DistributionMapping
 
  161               const ::amrex::DistributionMapping& distribution_mapping) 
const;
 
  163   void ErrorEst(
int level, ::amrex::TagBoxArray& tags, 
double time_point,
 
  167       int level, 
double time_point, const ::amrex::BoxArray& box_array,
 
  168       const ::amrex::DistributionMapping& distribution_mapping) 
override;
 
  171       int level, 
double time_point, const ::amrex::BoxArray& box_array,
 
  172       const ::amrex::DistributionMapping& distribution_mapping) 
override;
 
  175       int level, 
double time_point, const ::amrex::BoxArray& box_array,
 
  176       const ::amrex::DistributionMapping& distribution_mapping) 
override;
 
This is a polymorphic value type that wraps any BoundaryCondition object.
Definition: AnyBoundaryCondition.hpp:55
 
This class is a polymoprhic value type which stores components to initialize a gridding algorithm dur...
Definition: AnyInitialData.hpp:53
 
This class is a polymorphic value type that stores objects which satisfies the TaggingMethod<Gridding...
Definition: AnyTaggingMethod.hpp:48
 
This class modifies and initializes a cutcell::PatchLevel in a cutcell::PatchHierarchy.
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:56
 
const AnyTaggingMethod & GetTagging() const noexcept
 
const AnyInitialData & GetInitialCondition() const noexcept
 
AnyTaggingMethod tagging_
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:184
 
void ErrorEst(int level, ::amrex::TagBoxArray &tags, double time_point, int) override
 
PatchHierarchy hierarchy_
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:182
 
::amrex::DistributionMapping LoadBalance(int level, const ::amrex::BoxArray &box_array, const ::amrex::DistributionMapping &distribution_mapping) const
 
GriddingAlgorithm(PatchHierarchy hier, AnyInitialData initial_data, AnyTaggingMethod tagging, AnyBoundaryCondition boundary)
Constructs a gridding algorithm and defines all customization points.
 
void MakeNewLevelFromScratch(int level, double time_point, const ::amrex::BoxArray &box_array, const ::amrex::DistributionMapping &distribution_mapping) override
 
void FillMultiFabFromLevel(::amrex::MultiFab &mf, int level_number)
Fill the ghost layer boundary specified of the specifed MultiFab mf.
 
void RemakeLevel(int level, double time_point, const ::amrex::BoxArray &box_array, const ::amrex::DistributionMapping &distribution_mapping) override
 
AnyBoundaryCondition boundary_condition_
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:185
 
void ClearLevel(int level) override
 
const AnyBoundaryCondition & GetBoundaryCondition() const noexcept
 
int RegridAllFinerlevels(int which_level)
Attempt to regrid all finer level than the specified which_level.
 
GriddingAlgorithm(GriddingAlgorithm &&) noexcept=default
The move constructor moves a gridding algorithm without allocating any memory.
 
void MakeNewLevelFromCoarse(int level, double time_point, const ::amrex::BoxArray &box_array, const ::amrex::DistributionMapping &distribution_mapping) override
 
Duration GetTimePoint() const noexcept
Returns the current time point on the coarsest refinement level.
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:126
 
const PatchHierarchy & GetPatchHierarchy() const noexcept
 
GriddingAlgorithm()
Constructs an empty and invalid GriddingAlgorithm.
 
GriddingAlgorithm(const GriddingAlgorithm &)
The copy constructor makes a deep copy of the all data for each MPI rank.
 
GriddingAlgorithm & operator=(const GriddingAlgorithm &)
The copy constructor makes a deep copy of the all data for each MPI rank.
 
std::ptrdiff_t GetCycles() const noexcept
Returns the number of time steps taken on the coarsest refinement level.
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:121
 
AnyInitialData initial_condition_
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:183
 
void PostProcessBaseGrids(::amrex::BoxArray &box_array) const override
 
void InitializeHierarchy(double level_time)
Initializes the underlying patch hierarchy using the stored initial data method.
 
Definition: AMReX/cutcell/PatchHierarchy.hpp:139
 
Duration GetTimePoint(int level=0) const
Returns the time point of a specified level number.
 
std::ptrdiff_t GetCycles(int level=0) const
Returns the number of cycles done for a specific level.
 
Definition: FillCutCellData.hpp:30
 
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
 
std::chrono::duration< double > Duration
Definition: Duration.hpp:31
 
::amrex::MultiFab & DataReference
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:43
 
::amrex::TagBoxArray & TagDataHandle
Definition: AMReX/cutcell/GriddingAlgorithm.hpp:42
 
This class holds state data arrays for each refinement level of a patch hierarchy.
Definition: AMReX/cutcell/PatchHierarchy.hpp:57