ClpIntegratorBase< VectorType, AuxVectorType, dim > Class Template Reference

Basic class for derivation of ClpIntegrator. More...

#include <ClpIntegratorBase.h>

Inheritance diagram for ClpIntegratorBase< VectorType, AuxVectorType, dim >:
Integrator< VectorType, dim > AMRBase< VectorType, dim > controlable

List of all members.

Public Types

typedef base::vec_grid_fct_type vec_grid_fct_type
typedef base::vec_grid_data_type vec_grid_data_type
typedef GridData< VectorType,
minus_1< dim >::dim > 
ld_vec_grid_data_type
typedef GridData
< AuxVectorType, minus_1< dim >
::dim > 
ld_aux_grid_data_type
typedef generic_fortran_func generic_func_type
typedef void(* check_1_func_type )(FI(1, VectorType), BI, const INTEGER &meqn, const INTEGER &mout, INTEGER &result)
typedef void(* check_2_func_type )(FI(2, VectorType), BI, const INTEGER &meqn, const INTEGER &mout, INTEGER &result)
typedef void(* check_3_func_type )(FI(3, VectorType), BI, const INTEGER &meqn, const INTEGER &mout, INTEGER &result)
typedef void(* aux_1_func_type )(const INTEGER &maxmx, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &mx, VectorType q[], DOUBLE aux[], const INTEGER &maux, const DOUBLE &cornx, const DOUBLE &dx, const DOUBLE &t, const DOUBLE &dt)
typedef void(* aux_2_func_type )(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &mx, const INTEGER &my, VectorType q[], DOUBLE aux[], const INTEGER &maux, const DOUBLE &cornx, const DOUBLE &corny, const DOUBLE &dx, const DOUBLE &dy, const DOUBLE &t, const DOUBLE &dt)
typedef void(* aux_3_func_type )(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &maxmz, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &ibz, const INTEGER &mx, const INTEGER &my, const INTEGER &mz, VectorType q[], DOUBLE aux[], const INTEGER &maux, const DOUBLE &cornx, const DOUBLE &corny, const DOUBLE &cornz, const DOUBLE &dx, const DOUBLE &dy, const DOUBLE &dz, const DOUBLE &t, const DOUBLE &dt)
typedef void(* source_1_func_type )(const INTEGER &maxmx, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &mx, VectorType q[], const DOUBLE aux[], const INTEGER &maux, const DOUBLE &t, const DOUBLE &dt, const INTEGER &ibnd)
typedef void(* source_2_func_type )(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &mx, const INTEGER &my, VectorType q[], const DOUBLE aux[], const INTEGER &maux, const DOUBLE &t, const DOUBLE &dt, const INTEGER &ibnd)
typedef void(* source_3_func_type )(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &maxmz, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &ibz, const INTEGER &mx, const INTEGER &my, const INTEGER &mz, VectorType q[], const DOUBLE aux[], const INTEGER &maux, const DOUBLE &t, const DOUBLE &dt, const INTEGER &ibnd)

Public Member Functions

 ClpIntegratorBase (const int equ, const int wv)
 ClpIntegratorBase (const int equ, const int wv, generic_func_type check, generic_func_type aux, generic_func_type source)
void ConsInit ()
 ~ClpIntegratorBase ()
virtual void ComputeRP (ld_vec_grid_data_type &LeftState, ld_aux_grid_data_type &auxl, ld_vec_grid_data_type &RightState, ld_aux_grid_data_type &auxr, ld_vec_grid_data_type &NewState, const int &direction)=0
virtual double ComputeGrid (vec_grid_data_type &StateVec, vec_grid_data_type *Flux[], DataType *aux, const double &t, const double &dt, const int &mpass)=0
virtual void register_at (ControlDevice &Ctrl, const std::string &prefix)
virtual void register_at (ControlDevice &Ctrl)
virtual void SetupData (GridHierarchy *gh, const int &ghosts)
virtual void finish ()
void CalculateRP (ld_vec_grid_data_type &LeftState, BBox &bbl, double tl, double dtl, ld_vec_grid_data_type &RightState, BBox &bbr, double tr, double dtr, ld_vec_grid_data_type &NewState, const int &direction)
virtual double CalculateGrid (vec_grid_data_type &NewStateVec, vec_grid_data_type &OldStateVec, vec_grid_data_type *Flux[], const int &level, const double &t, const double &dt, const int &mpass)
virtual void AllocGridFluxes (const BBox &bb, vec_grid_data_type **&Flux)
virtual void DeAllocGridFluxes (vec_grid_data_type **&Flux)
virtual void ResetGridFluxes (vec_grid_data_type **&Flux)
virtual int ControlGrid (vec_grid_data_type &StateVec, const int &level, const BBox &where, const double &time, const int verbose)
void ResetGrid (vec_grid_data_type &StateVec, vec_grid_data_type &RecoverStateVec, vec_grid_data_type *Flux[], double &cfl, const int &level, const double &t, const int &mpass)
void SetAux (DataType *aux, vec_grid_data_type &StateVec, const double &t, const double &dt)
virtual void SetSrc (DataType *aux, vec_grid_data_type &StateVec, const double t, const double dt, const int &bnd)
void DimExtBBox (const BBox &bb, int mx[], int ibx[])
virtual int NMethodOrder () const
const int & NCheck () const
int NSrc () const
bool DimSplit () const
int NMaxPass () const
const int & NAux () const
void SetEqUsed (const int &eq)
const int & NEqUsed () const
void SetWaves (const int &wv)
const int & NWaves () const
void SetCheckFunc (generic_func_type check)
generic_func_type GetCheckFunc () const
void SetAuxFunc (generic_func_type aux)
generic_func_type GetAuxFunc () const
void SetSrcFunc (generic_func_type src)
generic_func_type GetSrcFunc () const
std::ostream & debug (std::ostream &out, const self &P)

Protected Attributes

int _EqUsed
int _Waves
int method [7]
int * limiter
int * mthlim
std::string _name
generic_func_type f_chk
generic_func_type f_aux
generic_func_type f_src
int order

Detailed Description

template<class VectorType, class AuxVectorType, int dim>
class ClpIntegratorBase< VectorType, AuxVectorType, dim >

Basic class for derivation of ClpIntegrator.

This class capsulates the methods of ClpIntegrator that are independent of the spatial dimension.

Author:
Ralf Deiterding
Version:
1.0
Date:
Jan-2002

Member Typedef Documentation

template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::aux_1_func_type)(const INTEGER &maxmx, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &mx, VectorType q[], DOUBLE aux[], const INTEGER &maux, const DOUBLE &cornx, const DOUBLE &dx, const DOUBLE &t, const DOUBLE &dt)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::aux_2_func_type)(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &mx, const INTEGER &my, VectorType q[], DOUBLE aux[], const INTEGER &maux, const DOUBLE &cornx, const DOUBLE &corny, const DOUBLE &dx, const DOUBLE &dy, const DOUBLE &t, const DOUBLE &dt)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::aux_3_func_type)(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &maxmz, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &ibz, const INTEGER &mx, const INTEGER &my, const INTEGER &mz, VectorType q[], DOUBLE aux[], const INTEGER &maux, const DOUBLE &cornx, const DOUBLE &corny, const DOUBLE &cornz, const DOUBLE &dx, const DOUBLE &dy, const DOUBLE &dz, const DOUBLE &t, const DOUBLE &dt)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::check_1_func_type)(FI(1, VectorType), BI, const INTEGER &meqn, const INTEGER &mout, INTEGER &result)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::check_2_func_type)(FI(2, VectorType), BI, const INTEGER &meqn, const INTEGER &mout, INTEGER &result)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::check_3_func_type)(FI(3, VectorType), BI, const INTEGER &meqn, const INTEGER &mout, INTEGER &result)
template<class VectorType, class AuxVectorType, int dim>
typedef generic_fortran_func ClpIntegratorBase< VectorType, AuxVectorType, dim >::generic_func_type
template<class VectorType, class AuxVectorType, int dim>
typedef GridData<AuxVectorType,minus_1<dim>::dim> ClpIntegratorBase< VectorType, AuxVectorType, dim >::ld_aux_grid_data_type
template<class VectorType, class AuxVectorType, int dim>
typedef GridData<VectorType,minus_1<dim>::dim> ClpIntegratorBase< VectorType, AuxVectorType, dim >::ld_vec_grid_data_type
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::source_1_func_type)(const INTEGER &maxmx, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &mx, VectorType q[], const DOUBLE aux[], const INTEGER &maux, const DOUBLE &t, const DOUBLE &dt, const INTEGER &ibnd)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::source_2_func_type)(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &mx, const INTEGER &my, VectorType q[], const DOUBLE aux[], const INTEGER &maux, const DOUBLE &t, const DOUBLE &dt, const INTEGER &ibnd)
template<class VectorType, class AuxVectorType, int dim>
typedef void(* ClpIntegratorBase< VectorType, AuxVectorType, dim >::source_3_func_type)(const INTEGER &maxmx, const INTEGER &maxmy, const INTEGER &maxmz, const INTEGER &meqn, const INTEGER &mbc, const INTEGER &ibx, const INTEGER &iby, const INTEGER &ibz, const INTEGER &mx, const INTEGER &my, const INTEGER &mz, VectorType q[], const DOUBLE aux[], const INTEGER &maux, const DOUBLE &t, const DOUBLE &dt, const INTEGER &ibnd)

Constructor & Destructor Documentation

template<class VectorType, class AuxVectorType, int dim>
ClpIntegratorBase< VectorType, AuxVectorType, dim >::ClpIntegratorBase ( const int  equ,
const int  wv 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
ClpIntegratorBase< VectorType, AuxVectorType, dim >::ClpIntegratorBase ( const int  equ,
const int  wv,
generic_func_type  check,
generic_func_type  aux,
generic_func_type  source 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
ClpIntegratorBase< VectorType, AuxVectorType, dim >::~ClpIntegratorBase (  )  [inline]

Member Function Documentation

template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::AllocGridFluxes ( const BBox bb,
vec_grid_data_type **&  Flux 
) [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
virtual double ClpIntegratorBase< VectorType, AuxVectorType, dim >::CalculateGrid ( vec_grid_data_type NewStateVec,
vec_grid_data_type OldStateVec,
vec_grid_data_type Flux[],
const int &  level,
const double &  t,
const double &  dt,
const int &  mpass 
) [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::CalculateRP ( ld_vec_grid_data_type LeftState,
BBox bbl,
double  tl,
double  dtl,
ld_vec_grid_data_type RightState,
BBox bbr,
double  tr,
double  dtr,
ld_vec_grid_data_type NewState,
const int &  direction 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual double ClpIntegratorBase< VectorType, AuxVectorType, dim >::ComputeGrid ( vec_grid_data_type StateVec,
vec_grid_data_type Flux[],
DataType *  aux,
const double &  t,
const double &  dt,
const int &  mpass 
) [pure virtual]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::ComputeRP ( ld_vec_grid_data_type LeftState,
ld_aux_grid_data_type auxl,
ld_vec_grid_data_type RightState,
ld_aux_grid_data_type auxr,
ld_vec_grid_data_type NewState,
const int &  direction 
) [pure virtual]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::ConsInit (  )  [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual int ClpIntegratorBase< VectorType, AuxVectorType, dim >::ControlGrid ( vec_grid_data_type StateVec,
const int &  level,
const BBox where,
const double &  time,
const int  verbose 
) [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::DeAllocGridFluxes ( vec_grid_data_type **&  Flux  )  [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
std::ostream& ClpIntegratorBase< VectorType, AuxVectorType, dim >::debug ( std::ostream &  out,
const self P 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::DimExtBBox ( const BBox bb,
int  mx[],
int  ibx[] 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
bool ClpIntegratorBase< VectorType, AuxVectorType, dim >::DimSplit (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::finish (  )  [inline, virtual]

Reimplemented from AMRBase< VectorType, dim >.

template<class VectorType, class AuxVectorType, int dim>
generic_func_type ClpIntegratorBase< VectorType, AuxVectorType, dim >::GetAuxFunc (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
generic_func_type ClpIntegratorBase< VectorType, AuxVectorType, dim >::GetCheckFunc (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
generic_func_type ClpIntegratorBase< VectorType, AuxVectorType, dim >::GetSrcFunc (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
const int& ClpIntegratorBase< VectorType, AuxVectorType, dim >::NCheck (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
const int& ClpIntegratorBase< VectorType, AuxVectorType, dim >::NEqUsed (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
int ClpIntegratorBase< VectorType, AuxVectorType, dim >::NMaxPass (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual int ClpIntegratorBase< VectorType, AuxVectorType, dim >::NMethodOrder (  )  const [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
const int& ClpIntegratorBase< VectorType, AuxVectorType, dim >::NWaves (  )  const [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::register_at ( ControlDevice Ctrl  )  [inline, virtual]

Reimplemented from Integrator< VectorType, dim >.

template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::register_at ( ControlDevice Ctrl,
const std::string &  prefix 
) [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::ResetGrid ( vec_grid_data_type StateVec,
vec_grid_data_type RecoverStateVec,
vec_grid_data_type Flux[],
double &  cfl,
const int &  level,
const double &  t,
const int &  mpass 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::ResetGridFluxes ( vec_grid_data_type **&  Flux  )  [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetAux ( DataType *  aux,
vec_grid_data_type StateVec,
const double &  t,
const double &  dt 
) [inline]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetAuxFunc ( generic_func_type  aux  )  [inline]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetCheckFunc ( generic_func_type  check  )  [inline]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetEqUsed ( const int &  eq  )  [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetSrc ( DataType *  aux,
vec_grid_data_type StateVec,
const double  t,
const double  dt,
const int &  bnd 
) [inline, virtual]
template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetSrcFunc ( generic_func_type  src  )  [inline]
template<class VectorType, class AuxVectorType, int dim>
virtual void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetupData ( GridHierarchy gh,
const int &  ghosts 
) [inline, virtual]

Reimplemented from AMRBase< VectorType, dim >.

template<class VectorType, class AuxVectorType, int dim>
void ClpIntegratorBase< VectorType, AuxVectorType, dim >::SetWaves ( const int &  wv  )  [inline]

Member Data Documentation

template<class VectorType, class AuxVectorType, int dim>
int ClpIntegratorBase< VectorType, AuxVectorType, dim >::_EqUsed [protected]
template<class VectorType, class AuxVectorType, int dim>
std::string ClpIntegratorBase< VectorType, AuxVectorType, dim >::_name [protected]
template<class VectorType, class AuxVectorType, int dim>
int ClpIntegratorBase< VectorType, AuxVectorType, dim >::_Waves [protected]
template<class VectorType, class AuxVectorType, int dim>
int ClpIntegratorBase< VectorType, AuxVectorType, dim >::order [protected]

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