#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. |
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] |
void gridripper::amr1d::AMRCore::setRunning | ( | bool | r | ) | [inline] |
Sets the running flag.
int gridripper::amr1d::AMRCore::getCurrentLevel | ( | ) | const [inline] |
Gets the current level.
void gridripper::amr1d::AMRCore::setCurrentLevel | ( | int | l | ) | [inline, protected] |
Gets the current level.
l | the current level. |
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.
Grid& gridripper::amr1d::AMRCore::getBaseGrid | ( | ) | const [inline] |
Gets the base grid.
GReal_t gridripper::amr1d::AMRCore::getDeltaT0 | ( | ) | const [inline] |
Gets the default time step on the base grid.
GReal_t gridripper::amr1d::AMRCore::getDeltaT | ( | ) | const [inline] |
Gets the current time step on the base grid.
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 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 |
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.
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.