Generic base-class to set internal boundary conditions based on a scalar level set. More...
#include <GFMBoundary.h>
Public Types | |
typedef base::vec_grid_fct_type | vec_grid_fct_type |
typedef base::vec_grid_data_type | vec_grid_data_type |
typedef GridData< DataType, dim > | grid_data_type |
typedef GridFunction< DataType, dim > | grid_fct_type |
typedef GridData< bool, dim > | bool_grid_data_type |
typedef GridFunction< bool, dim > | bool_grid_fct_type |
typedef Vector< DataType, dim > | point_type |
typedef Interpolation < VectorType, dim > | interpolation_type |
Public Member Functions | |
GFMBoundaryBase () | |
virtual | ~GFMBoundaryBase () |
virtual void | SetGrid (vec_grid_data_type &gdu, grid_data_type &gdphi, const BBox &bb, const int &Level, double t, const int &nc, const int *idx, const point_type *xc, DataType *distance, point_type *normal)=0 |
virtual void | GetBndryCells (vec_grid_fct_type &u, grid_data_type &gdphi, bool_grid_data_type &gdbf, const BBox &bb, const int &Time, const int &Level, const int &c, int &nc, int *&idx, int &ni, int *&idx_wrg)=0 |
virtual void | SetBndryAux (vec_grid_data_type &gdu, grid_data_type &gdphi, const BBox &bb, const VectorType *u, DataType *aux, const int &Level, double t, const int &nc, const int *idx, const point_type *xc, const DataType *distance, const point_type *normal) |
virtual void | register_at (ControlDevice &Ctrl, const std::string &prefix) |
virtual void | register_at (ControlDevice &Ctrl) |
virtual void | init () |
virtual void | update () |
virtual void | finish () |
virtual void | SetupData (GridHierarchy *gh, const int &ghosts) |
void | SetPhysbd (vec_grid_fct_type &u, grid_fct_type &phi, bool_grid_fct_type &bf, const int Time, const int Level, double t, bool extrapolate=false) |
virtual void | Extrapolation (vec_grid_data_type &gdu, grid_data_type &gdphi, VectorType *&u, const int &Level, const int &nc, const int *idx, const point_type *xc, DataType *distance, point_type *normal, const DataType &normal_factor) |
void | SetInterpolation (interpolation_type *inter) |
interpolation_type & | Interpolation_ () |
const interpolation_type & | Interpolation_ () const |
const int & | NAux () const |
void | SetNAux (const int naux) |
bool | ValidNormalFactor (const DataType &nf) const |
const DataType & | NormalFactor () const |
const int & | BndType () const |
int | isgn (const DataType val) |
const int & | NBoundaryWidth () const |
const DataType & | Cutoff () const |
const DataType & | FarAway () const |
void | SetVerbose (const int v) |
const int & | GetVerbose () const |
Protected Attributes | |
int | _BoundaryWidth |
int | _bndtype |
int | _naux |
int | _Verbose |
DataType | _Cutoff |
DataType | _ErrorValue |
DataType | _normal_factor |
DataType | _far_away |
interpolation_type * | _interpolation |
Generic base-class to set internal boundary conditions based on a scalar level set.
typedef GridData<bool,dim> GFMBoundaryBase< VectorType, dim >::bool_grid_data_type |
Reimplemented in GFMBoundary< VectorType, 2 >, and GFMBoundary< VectorType, 3 >.
typedef GridFunction<bool,dim> GFMBoundaryBase< VectorType, dim >::bool_grid_fct_type |
typedef GridData<DataType,dim> GFMBoundaryBase< VectorType, dim >::grid_data_type |
Reimplemented from Geom< VectorType::InternalDataType, dim >.
Reimplemented in GFMBoundary< VectorType, 2 >, and GFMBoundary< VectorType, 3 >.
typedef GridFunction<DataType,dim> GFMBoundaryBase< VectorType, dim >::grid_fct_type |
typedef Interpolation<VectorType,dim> GFMBoundaryBase< VectorType, dim >::interpolation_type |
typedef Vector<DataType,dim> GFMBoundaryBase< VectorType, dim >::point_type |
Reimplemented from Geom< VectorType::InternalDataType, dim >.
Reimplemented in GFMBoundary< VectorType, 2 >, and GFMBoundary< VectorType, 3 >.
typedef base::vec_grid_data_type GFMBoundaryBase< VectorType, dim >::vec_grid_data_type |
Reimplemented from AMRBase< VectorType, dim >.
Reimplemented in GFMBoundary< VectorType, 2 >, and GFMBoundary< VectorType, 3 >.
typedef base::vec_grid_fct_type GFMBoundaryBase< VectorType, dim >::vec_grid_fct_type |
Reimplemented from AMRBase< VectorType, dim >.
Reimplemented in GFMBoundary< VectorType, 2 >, and GFMBoundary< VectorType, 3 >.
GFMBoundaryBase< VectorType, dim >::GFMBoundaryBase | ( | ) | [inline] |
virtual GFMBoundaryBase< VectorType, dim >::~GFMBoundaryBase | ( | ) | [inline, virtual] |
const int& GFMBoundaryBase< VectorType, dim >::BndType | ( | ) | const [inline] |
const DataType& GFMBoundaryBase< VectorType, dim >::Cutoff | ( | ) | const [inline] |
Referenced by GFMBoundaryBase< VectorType, 3 >::SetPhysbd().
virtual void GFMBoundaryBase< VectorType, dim >::Extrapolation | ( | vec_grid_data_type & | gdu, | |
grid_data_type & | gdphi, | |||
VectorType *& | u, | |||
const int & | Level, | |||
const int & | nc, | |||
const int * | idx, | |||
const point_type * | xc, | |||
DataType * | distance, | |||
point_type * | normal, | |||
const DataType & | normal_factor | |||
) | [inline, virtual] |
Referenced by GFMBoundaryBase< VectorType, 3 >::SetPhysbd().
const DataType& GFMBoundaryBase< VectorType, dim >::FarAway | ( | ) | const [inline] |
virtual void GFMBoundaryBase< VectorType, dim >::finish | ( | ) | [inline, virtual] |
Reimplemented from AMRBase< VectorType, dim >.
virtual void GFMBoundaryBase< VectorType, dim >::GetBndryCells | ( | vec_grid_fct_type & | u, | |
grid_data_type & | gdphi, | |||
bool_grid_data_type & | gdbf, | |||
const BBox & | bb, | |||
const int & | Time, | |||
const int & | Level, | |||
const int & | c, | |||
int & | nc, | |||
int *& | idx, | |||
int & | ni, | |||
int *& | idx_wrg | |||
) | [pure virtual] |
Referenced by GFMBoundaryBase< VectorType, 3 >::SetPhysbd().
const int& GFMBoundaryBase< VectorType, dim >::GetVerbose | ( | ) | const [inline] |
virtual void GFMBoundaryBase< VectorType, dim >::init | ( | ) | [inline, virtual] |
Reimplemented from AMRBase< VectorType, dim >.
const interpolation_type& GFMBoundaryBase< VectorType, dim >::Interpolation_ | ( | ) | const [inline] |
interpolation_type& GFMBoundaryBase< VectorType, dim >::Interpolation_ | ( | ) | [inline] |
Referenced by GFMBoundaryBase< VectorType, 3 >::Extrapolation().
int GFMBoundaryBase< VectorType, dim >::isgn | ( | const DataType | val | ) | [inline] |
const int& GFMBoundaryBase< VectorType, dim >::NAux | ( | ) | const [inline] |
const int& GFMBoundaryBase< VectorType, dim >::NBoundaryWidth | ( | ) | const [inline] |
const DataType& GFMBoundaryBase< VectorType, dim >::NormalFactor | ( | ) | const [inline] |
virtual void GFMBoundaryBase< VectorType, dim >::register_at | ( | ControlDevice & | Ctrl | ) | [inline, virtual] |
Reimplemented from AMRBase< VectorType, dim >.
virtual void GFMBoundaryBase< VectorType, dim >::register_at | ( | ControlDevice & | Ctrl, | |
const std::string & | prefix | |||
) | [inline, virtual] |
Reimplemented from AMRBase< VectorType, dim >.
Referenced by GFMBoundaryBase< VectorType, 3 >::register_at().
virtual void GFMBoundaryBase< VectorType, dim >::SetBndryAux | ( | vec_grid_data_type & | gdu, | |
grid_data_type & | gdphi, | |||
const BBox & | bb, | |||
const VectorType * | u, | |||
DataType * | aux, | |||
const int & | Level, | |||
double | t, | |||
const int & | nc, | |||
const int * | idx, | |||
const point_type * | xc, | |||
const DataType * | distance, | |||
const point_type * | normal | |||
) | [inline, virtual] |
virtual void GFMBoundaryBase< VectorType, dim >::SetGrid | ( | vec_grid_data_type & | gdu, | |
grid_data_type & | gdphi, | |||
const BBox & | bb, | |||
const int & | Level, | |||
double | t, | |||
const int & | nc, | |||
const int * | idx, | |||
const point_type * | xc, | |||
DataType * | distance, | |||
point_type * | normal | |||
) | [pure virtual] |
Referenced by GFMBoundaryBase< VectorType, 3 >::SetPhysbd().
void GFMBoundaryBase< VectorType, dim >::SetInterpolation | ( | interpolation_type * | inter | ) | [inline] |
void GFMBoundaryBase< VectorType, dim >::SetNAux | ( | const int | naux | ) | [inline] |
void GFMBoundaryBase< VectorType, dim >::SetPhysbd | ( | vec_grid_fct_type & | u, | |
grid_fct_type & | phi, | |||
bool_grid_fct_type & | bf, | |||
const int | Time, | |||
const int | Level, | |||
double | t, | |||
bool | extrapolate = false | |||
) | [inline] |
virtual void GFMBoundaryBase< VectorType, dim >::SetupData | ( | GridHierarchy * | gh, | |
const int & | ghosts | |||
) | [inline, virtual] |
Reimplemented from AMRBase< VectorType, dim >.
void GFMBoundaryBase< VectorType, dim >::SetVerbose | ( | const int | v | ) | [inline] |
virtual void GFMBoundaryBase< VectorType, dim >::update | ( | ) | [inline, virtual] |
Reimplemented from AMRBase< VectorType, dim >.
bool GFMBoundaryBase< VectorType, dim >::ValidNormalFactor | ( | const DataType & | nf | ) | const [inline] |
Referenced by GFMBoundaryBase< VectorType, 3 >::Extrapolation().
int GFMBoundaryBase< VectorType, dim >::_bndtype [protected] |
int GFMBoundaryBase< VectorType, dim >::_BoundaryWidth [protected] |
DataType GFMBoundaryBase< VectorType, dim >::_Cutoff [protected] |
DataType GFMBoundaryBase< VectorType, dim >::_ErrorValue [protected] |
DataType GFMBoundaryBase< VectorType, dim >::_far_away [protected] |
interpolation_type* GFMBoundaryBase< VectorType, dim >::_interpolation [protected] |
int GFMBoundaryBase< VectorType, dim >::_naux [protected] |
DataType GFMBoundaryBase< VectorType, dim >::_normal_factor [protected] |
int GFMBoundaryBase< VectorType, dim >::_Verbose [protected] |