AMR integrator. More...
#include <AMRCore.h>
Public Member Functions | |
AMRCore (PDE *pde, InitCond &ini, bool constrforced, Integrator *gi, Regridder *rgdproto, const string &dtdx, int maxi, int npabovemax, int maxl, int r, AMError *amerr, double maxerr, int errchkf, int regridf, int bufzoner) throw (InitCond::Exception&, IllegalArgumentException&) | |
Creates a grid hierarchy. | |
virtual AMRCore * | cloneAMRCore () const =0 |
Clones this object. | |
bool | isRunning () const |
void | setRunning (bool r) |
Sets the running flag. | |
virtual void | output ()=0 |
Writes output. | |
int | getRefinementRatio () const |
int | getMaxAllowedLevel () const |
bool | getDebug () const |
void | setDebug (bool v) |
bool | isPhysicalFieldUsed () const |
void | setPhysicalFieldUsed (bool v) |
PDE & | getPDE () const |
Gets the PDE. | |
double | getErrorTolerance () const |
double | getErrorToleranceDt (int l) const |
int | getErrorCheckFreq () const |
int | getRegridFreq () const |
int | getBufferZoneSize () const |
int | getCurrentLevel () const |
Gets the current level. | |
Grid & | getBaseGrid () const |
Gets the base grid. | |
GReal_t | getDeltaT0 () const |
Gets the default time step on the base grid. | |
GReal_t | getDeltaT () const |
Gets the current time step on the base grid. | |
bool | isCurrentDeltaT0Computed () const |
Is the current time step explicitly set? | |
GReal_t | getDeltaT (GReal_t dt, int l) const |
Gets the time step on the most refined grids. | |
bool | isConstraintForced () const |
void | setConstraintForced (bool v) |
bool | isEnergyWritten () const |
void | setEnergyWritten (bool v) |
GridBDataWriter * | createBDataWriter () const |
void | integrate () |
void writeData(Writer w, String format, String energyfmt, PrecalculatedSolution xsol) throws IOException not implemented in C++ | |
Protected Member Functions | |
AMRCore (const AMRCore &ai) | |
Copy constructor. | |
void | setCurrentLevel (int l) |
Gets the current level. | |
virtual bool | isLastTime (const Grid &g) const =0 |
Tests whether the last time step is reached. | |
virtual void | coarseStepped (GReal_t t) |
This method is called immediately after each coarse time step on the base grid, before refined grid updates. |
AMR integrator.
gridripper::amr1d::AMRCore::AMRCore | ( | const AMRCore & | ai | ) | [protected] |
Copy constructor.
ai | the object to copy |
gridripper::amr1d::AMRCore::AMRCore | ( | PDE * | pde, | |
InitCond & | ini, | |||
bool | constrforced, | |||
Integrator * | gi, | |||
Regridder * | rgdproto, | |||
const string & | dtdx, | |||
int | maxi, | |||
int | npabovemax, | |||
int | maxl, | |||
int | r, | |||
AMError * | amerr, | |||
double | maxerr, | |||
int | errchkf, | |||
int | regridf, | |||
int | bufzoner | |||
) | throw (InitCond::Exception&, IllegalArgumentException&) |
Creates a grid hierarchy.
pde | the partial differential equation to integrate | |
ini | the initial conditions | |
constrforced | whether to force constraints | |
gi | the numerical integration method | |
rgdproto | regridder prototype | |
dtdx | dt/dx | |
maxi | base grid size | |
npabovemax | number of grid points above infinity (Xmax) | |
maxl | maximum allowed refinement level | |
r | refinement ratio | |
amerr | the error calculation method | |
maxerr | the critical error value or 0 | |
errchkf | error checking frequency | |
regridf | regridding frequency | |
bufzoner | radius of buffer zone |
virtual AMRCore* gridripper::amr1d::AMRCore::cloneAMRCore | ( | ) | const [pure virtual] |
virtual void gridripper::amr1d::AMRCore::coarseStepped | ( | GReal_t | t | ) | [protected, virtual] |
This method is called immediately after each coarse time step on the base grid, before refined grid updates.
t | the mean time of the last time step |
Reimplemented in gridripper::amr1d::AutoAMRCore.
Grid& gridripper::amr1d::AMRCore::getBaseGrid | ( | ) | const [inline] |
Gets the base grid.
int gridripper::amr1d::AMRCore::getCurrentLevel | ( | ) | const [inline] |
Gets the current level.
GReal_t gridripper::amr1d::AMRCore::getDeltaT | ( | ) | const [inline] |
Gets the current time step on the base grid.
Gets the time step on the most refined grids.
Gets the time step on the specified level.
dt | the base time step | |
l | the level |
GReal_t gridripper::amr1d::AMRCore::getDeltaT0 | ( | ) | const [inline] |
Gets the default time step on the base grid.
void gridripper::amr1d::AMRCore::integrate | ( | ) |
void writeData(Writer w, String format, String energyfmt, PrecalculatedSolution xsol) throws IOException not implemented in C++
Performs integration on the base grid and its subgrids.
bool gridripper::amr1d::AMRCore::isCurrentDeltaT0Computed | ( | ) | const [inline] |
Is the current time step explicitly set?
true
if it is computed automatically, false
if determined in the input file virtual bool gridripper::amr1d::AMRCore::isLastTime | ( | const Grid & | g | ) | const [protected, pure virtual] |
Tests whether the last time step is reached.
true
if no more integration steps are needed, false
if simulation should continue Implemented in gridripper::amr1d::AutoAMRCore.
void gridripper::amr1d::AMRCore::setCurrentLevel | ( | int | l | ) | [inline, protected] |
Gets the current level.
l | the current level. |
void gridripper::amr1d::AMRCore::setRunning | ( | bool | r | ) | [inline] |
Sets the running flag.