Public Member Functions | Protected Member Functions | Protected Attributes | Friends

gridripper::amr1d::Integrator Class Reference

Time integrator. More...

#include <Integrator.h>

Inheritance diagram for gridripper::amr1d::Integrator:
gridripper::amr1d::gridint::ICN gridripper::amr1d::gridint::RK2 gridripper::amr1d::gridint::RK4

List of all members.

Public Member Functions

GradgetGrad () const
 Gets the numerical differentiation scheme.
const GridInterpolatorgetInterpolator () const
 Gets the margin interpolator for this numerical method.
int getInterpolatorType () const
 Gets the interpolator type.
int getInterpolationBufferSize () const
 Gets the number of interpolation related additional points.
virtual void integrate (int ir)=0
 Integrates a partial differential equation.
virtual void richardson (const AMError &amerr, int ir)=0
 Richardson error estimation.
double getError (int i) const
 Gets the Richardson error in the specified grid point.
void setTimeStepCount (int tsc)
int getTimeStepCount () const
virtual void getResult (int i, tvalarray< GReal_t > &w) const =0
 Gets the result of the integration at the specified point.
virtual int getNumVelocity () const =0
 Gets the numerical error propagation velocity.
virtual IntegratorcreateIntegrator (Grid &g, const Sigma *sigma) const =0
 Creates a new integrator instance for the specified grid.
virtual IntegratorcloneIntegrator (Grid &g) const =0
const SigmagetSigma () const
GReal_t getDeltaT () const
 Gets the time step.
void setDeltaT (GReal_t dt)
 Sets the time step.
GridgetGrid () const
 Gets the grid.
PDEgetPDE () const
 Gets the PDE.
void updateGrid (int ir)

Protected Member Functions

 Integrator (const Integrator &gi, Grid &g)
 Integrator (Grid *g, PDE &pde, const tvalarray< string > *optsarr, int deftype, Sigma *sigma)
 Integrator (Grid *g, PDE &pde, Grad *d, Grad *d2, int deftype, Sigma *sigma)
void calcErrors (const AMError &amerr, const Grid &g, const Grid &g2, double c)

Protected Attributes

GradgradOp
GradgradOp2
int timeStepCount

Friends

class Grid

Detailed Description

Time integrator.

Numerical method to integrate a PDE on the grid.

Version:
0.5, 01/06/2009
Author:
Peter Csizmadia

Member Function Documentation

virtual Integrator* gridripper::amr1d::Integrator::createIntegrator ( Grid g,
const Sigma sigma 
) const [pure virtual]

Creates a new integrator instance for the specified grid.

Parameters:
g the grid
sigma dissipation term is multiplied by this factor

Implemented in gridripper::amr1d::gridint::ICN, gridripper::amr1d::gridint::RK2, and gridripper::amr1d::gridint::RK4.

GReal_t gridripper::amr1d::Integrator::getDeltaT (  )  const [inline]

Gets the time step.

Returns:
the time step
Grad& gridripper::amr1d::Integrator::getGrad (  )  const [inline]

Gets the numerical differentiation scheme.

Returns:
the fourth order differentiation scheme

Reimplemented in gridripper::amr1d::gridint::ICN.

Grid* gridripper::amr1d::Integrator::getGrid (  )  const [inline]

Gets the grid.

Returns:
the grid
int gridripper::amr1d::Integrator::getInterpolationBufferSize (  )  const [inline]

Gets the number of interpolation related additional points.

The margin of a refined parent grid must always be wide enough to make centered interpolation possible for its child grids. 4 additional points are needed for the 5th order interpolation.

Returns:
the number of additional points
const GridInterpolator* gridripper::amr1d::Integrator::getInterpolator (  )  const [inline]

Gets the margin interpolator for this numerical method.

Returns:
the interpolator
int gridripper::amr1d::Integrator::getInterpolatorType (  )  const [inline]

Gets the interpolator type.

Returns:
the interpolator type
virtual int gridripper::amr1d::Integrator::getNumVelocity (  )  const [pure virtual]

Gets the numerical error propagation velocity.

Returns:
error propogation velocity in points/time step

Implemented in gridripper::amr1d::gridint::ICN, gridripper::amr1d::gridint::RK2, and gridripper::amr1d::gridint::RK4.

PDE& gridripper::amr1d::Integrator::getPDE (  )  const [inline]

Gets the PDE.

Returns:
the PDE
virtual void gridripper::amr1d::Integrator::getResult ( int  i,
tvalarray< GReal_t > &  w 
) const [pure virtual]

Gets the result of the integration at the specified point.

Parameters:
i the grid point index
w the integration result will be copied here

Implemented in gridripper::amr1d::gridint::ICN, gridripper::amr1d::gridint::RK2, and gridripper::amr1d::gridint::RK4.

virtual void gridripper::amr1d::Integrator::integrate ( int  ir  )  [pure virtual]

Integrates a partial differential equation.

Parameters:
ir refined step count (0...r-1)

Implemented in gridripper::amr1d::gridint::ICN, gridripper::amr1d::gridint::RK2, and gridripper::amr1d::gridint::RK4.

virtual void gridripper::amr1d::Integrator::richardson ( const AMError amerr,
int  ir 
) [pure virtual]

Richardson error estimation.

Parameters:
amerr the error calculation method
ir refined step count (0...r-1)

Implemented in gridripper::amr1d::gridint::ICN, gridripper::amr1d::gridint::RK2, and gridripper::amr1d::gridint::RK4.

void gridripper::amr1d::Integrator::setDeltaT ( GReal_t  dt  )  [inline]

Sets the time step.

Parameters:
dt the time step

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