Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::LevelBld Class Referenceabstract

Builds problem-specific AmrLevels. More...

#include <AMReX_LevelBld.H>

Public Member Functions

virtual ~LevelBld ()=default
 Polymorphic base classes need virtual destructors.
 
 LevelBld () noexcept=default
 Defaulted special members keep the factory trivially constructible/copyable.
 
 LevelBld (LevelBld const &)=default
 
 LevelBld (LevelBld &&) noexcept=default
 
LevelBldoperator= (LevelBld const &)=default
 
LevelBldoperator= (LevelBld &&) noexcept=default
 
virtual void variableSetUp ()=0
 Perform any problem-dependent setup such as physical boundary condition and derived quantities. This is a pure virtual function and hence MUST be implemented by derived classes.
 
virtual void variableSetUpForNewCompProcs ()
 Optional hook invoked when new compute processes join (multi-job setups).
 
virtual void variableCleanUp ()=0
 Perform any problem-dependent cleanup. This is a pure virtual function and hence MUST be implemented by derived classes.
 
virtual AmrLeveloperator() ()=0
 This is a virtual constructor for types derived from AmrLevel. The derived type is initialized with the default constructor. This is a pure virtual function and hence MUST be implemented by derived classes.
 
virtual AmrLeveloperator() (Amr &papa, int lev, const Geometry &geom_lev, const BoxArray &ba, const DistributionMapping &dm, Real time)=0
 Create a new AmrLevel instance for level lev using the supplied metadata.
 

Detailed Description

Builds problem-specific AmrLevels.

Abstract base class specifying an interface for building problem-specific AmrLevels.

Constructor & Destructor Documentation

◆ ~LevelBld()

virtual amrex::LevelBld::~LevelBld ( )
virtualdefault

Polymorphic base classes need virtual destructors.

◆ LevelBld() [1/3]

amrex::LevelBld::LevelBld ( )
defaultnoexcept

Defaulted special members keep the factory trivially constructible/copyable.

◆ LevelBld() [2/3]

amrex::LevelBld::LevelBld ( LevelBld const &  )
default

◆ LevelBld() [3/3]

amrex::LevelBld::LevelBld ( LevelBld &&  )
defaultnoexcept

Member Function Documentation

◆ operator()() [1/2]

virtual AmrLevel * amrex::LevelBld::operator() ( )
pure virtual

This is a virtual constructor for types derived from AmrLevel. The derived type is initialized with the default constructor. This is a pure virtual function and hence MUST be implemented by derived classes.

◆ operator()() [2/2]

virtual AmrLevel * amrex::LevelBld::operator() ( Amr papa,
int  lev,
const Geometry geom_lev,
const BoxArray ba,
const DistributionMapping dm,
Real  time 
)
pure virtual

Create a new AmrLevel instance for level lev using the supplied metadata.

Parameters
papaOwning Amr object.
levLevel index being constructed.
geom_levGeometry describing the level.
baGrid layout for the level.
dmDistribution mapping for the level.
timeSimulation time at which the level is initialized.

◆ operator=() [1/2]

LevelBld & amrex::LevelBld::operator= ( LevelBld &&  )
defaultnoexcept

◆ operator=() [2/2]

LevelBld & amrex::LevelBld::operator= ( LevelBld const &  )
default

◆ variableCleanUp()

virtual void amrex::LevelBld::variableCleanUp ( )
pure virtual

Perform any problem-dependent cleanup. This is a pure virtual function and hence MUST be implemented by derived classes.

◆ variableSetUp()

virtual void amrex::LevelBld::variableSetUp ( )
pure virtual

Perform any problem-dependent setup such as physical boundary condition and derived quantities. This is a pure virtual function and hence MUST be implemented by derived classes.

◆ variableSetUpForNewCompProcs()

virtual void amrex::LevelBld::variableSetUpForNewCompProcs ( )
inlinevirtual

Optional hook invoked when new compute processes join (multi-job setups).


The documentation for this class was generated from the following file: