PLUTO
4.4-patch2
|
Reconstruction coefficients header file. More...
Go to the source code of this file.
Data Structures | |
struct | PLM_Coeffs |
Macros | |
Limiter macros. | |
The following macros define a few limiter functions that can be used for piecewise linear reconstruction. Each limiter has the form Usually | |
#define | SET_FL_LIMITER(dv, dvp, dvm, cp, cm) dv = 0.0 |
#define | SET_MM_LIMITER(dv, dvp, dvm, cp, cm) dv = ( (dvp)*(dvm) > 0.0 ? ABS_MIN((dvp), (dvm)): 0.0) |
#define | SET_VA_LIMITER(dv, dvp, dvm, cp, cm) |
#define | SET_UM_LIMITER(dv, dvp, dvm, cp, cm) |
#define | SET_GM_LIMITER(dv, dvp, dvm, cp, cm) |
#define | SET_OS_LIMITER(dv, dvp, dvm, cp, cm) |
#define | SET_VL_LIMITER(dv, dvp, dvm, cp, cm) dv = ( (dvp)*(dvm) > 0.0 ? 2.0*(dvp)*(dvm)/((dvp) + (dvm)) :0.0) |
#define | SET_MC_LIMITER(dv, dvp, dvm, cp, cm) |
#define | SET_LIMITER SET_VL_LIMITER |
Functions | |
void | PLM_CoefficientsSet (Grid *grid) |
void | PLM_CoefficientsGet (PLM_Coeffs *, int) |
Define some useful macros for the computation of slope limiters in the piecewise linear method.
The macro ::UNIFORM_CARTESIAN_GRID can be set to YES to enable faster computation when the grid is uniform and Cartesian. In the general case (non-uniform and/or non-Cartesian), set it to NO.
References
#define SET_FL_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) | dv = 0.0 |
Set flat (zero slope) reconstruction (also non-uniform).
#define SET_GM_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) |
#define SET_MC_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) |
#define SET_MM_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) | dv = ( (dvp)*(dvm) > 0.0 ? ABS_MIN((dvp), (dvm)): 0.0) |
Set Minmod limiter.
#define SET_OS_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) |
OSPRE limiter (uniform Cart. grid)
#define SET_UM_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) |
#define SET_VA_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) |
Van Albada limiter
#define SET_VL_LIMITER | ( | dv, | |
dvp, | |||
dvm, | |||
cp, | |||
cm | |||
) | dv = ( (dvp)*(dvm) > 0.0 ? 2.0*(dvp)*(dvm)/((dvp) + (dvm)) :0.0) |
Van Leer limiter (uniform Cartesian grid)
void PLM_CoefficientsGet | ( | PLM_Coeffs * | plm_coeffs, |
int | dir | ||
) |
Retrieve reconstruction coefficients in the PLM_Coeffs structure. This function can be called only if the previous one has been completed already.
[out] | plm_coeffs | a pointer to a PLM_Coeffs structure containing the 1D coefficients needed for reconstruction |
[in] | dir | the desired direction |