Streamer fluid modeling - An overview of ARCoS
1.0
|
Definitions for mapper objects. More...
#include "interpol2.h"
Go to the source code of this file.
Classes | |
struct | mapper_t |
Macros | |
#define | _coarsen_params_ |
#define | _copy_params_ |
#define | _interpol_set_params_ |
#define | _interpol_params_ |
#define | decl_mapper_funcs(_VAR) |
#define | mk_mapper_staggered(_C, _INTERPOL_METHOD, _SHIFT_R, _SHIFT_Z) |
#define | mk_mapper(_C, _INTERPOL_METHOD) mk_mapper_staggered (_C, _INTERPOL_METHOD, 0, 0) |
#define | mk_mapper_down(_C, _INTERPOL_METHOD) |
#define | _MAPPER_H_ |
Typedefs | |
typedef struct mapper_t | mapper_t |
Definitions for mapper objects.
A mapper objects defines how and what to map between two grid families. For example, a mapper object can be used to map the charge from a cdr grid to a Poisson grid, or to map the potential of a Poisson grid into one of the components of the electric field in a cdr grid. For that, a mapper object has to implement some methods that tell us how to map things in the cases
a) the source grid is coarser than the target grid (interpolation),
b) the source and the target are at the same level (copy),
c) the target grid is coarser (coarsening).
Definition in file mapper.h.
#define _coarsen_params_ |
#define _copy_params_ |
#define _interpol_set_params_ |
#define _interpol_params_ |
#define decl_mapper_funcs | ( | _VAR | ) |
Usually, we will define functions called xxxx_coarsen, xxxx_copy, etc to implement the above interface. We define these macros to facilitate the declaration of such functions.
#define mk_mapper_staggered | ( | _C, | |
_INTERPOL_METHOD, | |||
_SHIFT_R, | |||
_SHIFT_Z | |||
) |
#define mk_mapper | ( | _C, | |
_INTERPOL_METHOD | |||
) | mk_mapper_staggered (_C, _INTERPOL_METHOD, 0, 0) |
#define mk_mapper_down | ( | _C, | |
_INTERPOL_METHOD | |||
) |