AMRFixup< VectorType, FixupType, dim > Class Template Reference

Generic class for flux-correction at hanging nodes. More...

#include <AMRFixup.h>

Inheritance diagram for AMRFixup< VectorType, FixupType, dim >:
Fixup FixupOps

List of all members.

Public Types

typedef GridData< VectorType, dim > vec_grid_data_type
typedef GridData< VectorType,
minus_1< dim >::dim > 
ld_vec_grid_data_type
typedef GridData< FixupType,
minus_1< dim >::dim > 
ld_fixup_grid_data_type
typedef GridFunction
< VectorType, dim > 
vec_grid_fct_type
typedef GridFunction
< FixupType, minus_1< dim >
::dim > 
ld_fixup_grid_fct_type

Public Member Functions

 AMRFixup ()
virtual ~AMRFixup ()
virtual void register_at (ControlDevice &Ctrl, const std::string &prefix)
virtual void register_at (ControlDevice &Ctrl)
virtual void SaveFluxes (const int Time, const int Level, const int c, vec_grid_data_type *flux[], const double dt, const int &mdim)
virtual void AddFluxes (const int Time, const int Level, const int c, vec_grid_data_type *flux[], const double tc, const double tf, const double dtc, const double dtf, const int &mdim)
virtual void AddIntercellFluxes (const int Time, const int Level, const int c, vec_grid_data_type *flux[], const double dt, const int &mdim)
virtual void Correction (const int Time, const int WTime, const int Level, const double t, const double dt)
void SetGridFunctions (vec_grid_fct_type *u)
vec_grid_fct_typeU ()
const vec_grid_fct_typeU () const

Protected Member Functions

int ValidSide (const int Time, const int Level, const int c, const int s) const
void ParallelFixup (const int Time, const int Level, const int d, vec_grid_fct_type &uh)
BBox StateVecBBox (const BBox &interior, const int s)
BBox FixupBBox (const BBox &interior, const int s)
virtual BBox FluxBBox (const BBox &interior, const int s)
void copyf_to (ld_fixup_grid_data_type &target, const BBox &to, const vec_grid_data_type &source, const BBox &from, const int s)
void copyf_to (ld_fixup_grid_data_type &target, const vec_grid_data_type &source, const BBox &where, const int s)
void copyf_from (vec_grid_data_type &target, const BBox &to, const ld_fixup_grid_data_type &source, const BBox &from, const int s)
void copyf_from (vec_grid_data_type &target, const BBox &where, const ld_fixup_grid_data_type &source, const int s)
void addf_to (ld_fixup_grid_data_type &target, const BBox &to, const vec_grid_data_type &source, const BBox &from, const int s)
void addf_to (ld_fixup_grid_data_type &target, const vec_grid_data_type &source, const BBox &where, const int s)
void addf_from (vec_grid_data_type &target, const BBox &to, const ld_fixup_grid_data_type &source, const BBox &from, const int s)
void addf_from (vec_grid_data_type &target, const BBox &where, const ld_fixup_grid_data_type &source, const int s)
void addf_to (ld_fixup_grid_data_type &target, const BBox &to, const ld_vec_grid_data_type &source, const BBox &from)
void addf_to (ld_fixup_grid_data_type &target, const ld_vec_grid_data_type &source, const BBox &where)

Protected Attributes

vec_grid_fct_type_u
char GFName [DAGHBktGFNameWidth]

Detailed Description

template<class VectorType, class FixupType, int dim>
class AMRFixup< VectorType, FixupType, dim >

Generic class for flux-correction at hanging nodes.

Parallelization strategy for conservative correction: 1. Numerical fluxes for a single grid are calculated locally. The fluxes are computed for internal edges and for edges abutting a ghost cell. On edges between ghost cells no numerical flux is necessary. By synchronizing ghost cells and updating the numerical fluxes all data for computing the correction terms is always locally available. 2. Correction terms are shifted one cell and are reshifted before application. The shift operation moves correction terms which have to be applied on cells on other processors into internal cells and allows a synchronization. The application of correction terms is the only operation that requires additional communication and is implemented with a grid function.

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

Member Typedef Documentation

template<class VectorType, class FixupType, int dim>
typedef GridData<FixupType,minus_1<dim>::dim> AMRFixup< VectorType, FixupType, dim >::ld_fixup_grid_data_type
template<class VectorType, class FixupType, int dim>
typedef GridFunction<FixupType,minus_1<dim>::dim> AMRFixup< VectorType, FixupType, dim >::ld_fixup_grid_fct_type
template<class VectorType, class FixupType, int dim>
typedef GridData<VectorType,minus_1<dim>::dim> AMRFixup< VectorType, FixupType, dim >::ld_vec_grid_data_type
template<class VectorType, class FixupType, int dim>
typedef GridFunction<VectorType,dim> AMRFixup< VectorType, FixupType, dim >::vec_grid_fct_type

Constructor & Destructor Documentation

template<class VectorType, class FixupType, int dim>
AMRFixup< VectorType, FixupType, dim >::AMRFixup (  )  [inline]
template<class VectorType, class FixupType, int dim>
virtual AMRFixup< VectorType, FixupType, dim >::~AMRFixup (  )  [inline, virtual]

Member Function Documentation

template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::addf_from ( vec_grid_data_type target,
const BBox where,
const ld_fixup_grid_data_type source,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::addf_from ( vec_grid_data_type target,
const BBox to,
const ld_fixup_grid_data_type source,
const BBox from,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::addf_to ( ld_fixup_grid_data_type target,
const ld_vec_grid_data_type source,
const BBox where 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::addf_to ( ld_fixup_grid_data_type target,
const BBox to,
const ld_vec_grid_data_type source,
const BBox from 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::addf_to ( ld_fixup_grid_data_type target,
const vec_grid_data_type source,
const BBox where,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::addf_to ( ld_fixup_grid_data_type target,
const BBox to,
const vec_grid_data_type source,
const BBox from,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
virtual void AMRFixup< VectorType, FixupType, dim >::AddFluxes ( const int  Time,
const int  Level,
const int  c,
vec_grid_data_type flux[],
const double  tc,
const double  tf,
const double  dtc,
const double  dtf,
const int &  mdim 
) [inline, virtual]
template<class VectorType, class FixupType, int dim>
virtual void AMRFixup< VectorType, FixupType, dim >::AddIntercellFluxes ( const int  Time,
const int  Level,
const int  c,
vec_grid_data_type flux[],
const double  dt,
const int &  mdim 
) [inline, virtual]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::copyf_from ( vec_grid_data_type target,
const BBox where,
const ld_fixup_grid_data_type source,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::copyf_from ( vec_grid_data_type target,
const BBox to,
const ld_fixup_grid_data_type source,
const BBox from,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::copyf_to ( ld_fixup_grid_data_type target,
const vec_grid_data_type source,
const BBox where,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::copyf_to ( ld_fixup_grid_data_type target,
const BBox to,
const vec_grid_data_type source,
const BBox from,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
virtual void AMRFixup< VectorType, FixupType, dim >::Correction ( const int  Time,
const int  WTime,
const int  Level,
const double  t,
const double  dt 
) [inline, virtual]
template<class VectorType, class FixupType, int dim>
BBox AMRFixup< VectorType, FixupType, dim >::FixupBBox ( const BBox interior,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
virtual BBox AMRFixup< VectorType, FixupType, dim >::FluxBBox ( const BBox interior,
const int  s 
) [inline, protected, virtual]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::ParallelFixup ( const int  Time,
const int  Level,
const int  d,
vec_grid_fct_type uh 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
virtual void AMRFixup< VectorType, FixupType, dim >::register_at ( ControlDevice Ctrl  )  [inline, virtual]
template<class VectorType, class FixupType, int dim>
virtual void AMRFixup< VectorType, FixupType, dim >::register_at ( ControlDevice Ctrl,
const std::string &  prefix 
) [inline, virtual]
template<class VectorType, class FixupType, int dim>
virtual void AMRFixup< VectorType, FixupType, dim >::SaveFluxes ( const int  Time,
const int  Level,
const int  c,
vec_grid_data_type flux[],
const double  dt,
const int &  mdim 
) [inline, virtual]
template<class VectorType, class FixupType, int dim>
void AMRFixup< VectorType, FixupType, dim >::SetGridFunctions ( vec_grid_fct_type u  )  [inline]
template<class VectorType, class FixupType, int dim>
BBox AMRFixup< VectorType, FixupType, dim >::StateVecBBox ( const BBox interior,
const int  s 
) [inline, protected]
template<class VectorType, class FixupType, int dim>
const vec_grid_fct_type& AMRFixup< VectorType, FixupType, dim >::U (  )  const [inline]
template<class VectorType, class FixupType, int dim>
int AMRFixup< VectorType, FixupType, dim >::ValidSide ( const int  Time,
const int  Level,
const int  c,
const int  s 
) const [inline, protected]

Member Data Documentation

template<class VectorType, class FixupType, int dim>
char AMRFixup< VectorType, FixupType, dim >::GFName[DAGHBktGFNameWidth] [protected]

The documentation for this class was generated from the following file:
Generated on Thu Jun 30 02:19:29 2016 for AMROC Fluid-solver Framework by  doxygen 1.6.3