PLUTO
|
Piecewise linear reconstruction. More...
#include "pluto.h"
Go to the source code of this file.
Functions | |
static void | MonotonicityTest (double **, double **, double **, int, int) |
static void | FourthOrderLinear (const State_1D *, int, int, Grid *) |
void | States (const State_1D *state, int beg, int end, Grid *grid) |
Piecewise linear reconstruction.
Compute interface states using piecewise linear reconstruction inside each zone. Reconstruction is performed in primitive variable when CHAR_LIMITING == NO
) or characteristic variables when CHAR_LIMITING == YES
.
The convention used throughout is that vL and vR are left and right states with respect to the interface, while vm and vp refer to the cell center:
vL(i)-> <-vR(i) |----------*----------|----------*----------| <-vm(i) (i) vp(i)-> (i+1)
The default setting (LIMITER == DEFAULT) applies a different limiter to each variable:
Otherwise the same limiter can be imposed to all variables from definitions.h.
The approach followed here is taken from Mignone (JCP, 2014) "High-order conservative reconstruction schemes for finite volume methods in cylindrical and spherical geometries" where interface states are constructed as
where
are interpolation coefficients returned by the PLM_Coeffs structure (see the PLM_CoefficientsGet() function). The slope limiter
dv_lim[i][nv]
is a function of the forward and backward (undivided) derivatives and geometrical coefficients in case of non-uniform or non-Cartesian grids. Different limiters are implemented through small macros defined in plm_coeffs.h. Note that defines the centroid of volume which differs from the cell center in cylindrical and spherical geometires.
A stencil of 3 zones is required for all limiters except for the FOURTH_ORDER_LIM which requires 5 zones.
References
Definition in file plm_states.c.
Definition at line 301 of file plm_states.c.
|
static |
Definition at line 679 of file plm_states.c.
Compute states using piecewise linear interpolation.
[in] | state | pointer to a State_1D structure |
[in] | beg | starting point where vp and vm must be computed |
[in] | end | final point where vp and vm must be computed |
[in] | grid | pointer to array of Grid structures |
Compute 1D left and right interface states using piecewise linear reconstruction and the characteristic decomposition of the quasi-linear form of the equations.
This is done by first extrapolating the cell center value to the interface using piecewise limited linear reconstruction on the characteristic variables.
Left and right states are then evolved for the half time step using characteristic tracing if necessary.
Definition at line 80 of file plm_states.c.