File fv_ops.hxx#
-
namespace FV
Functions
-
template<typename CellEdges = MC>
const Field3D Div_par(const Field3D &f_in, const Field3D &v_in, const Field3D &wave_speed_in, bool fixflux = true)# Finite volume parallel divergence
Preserves the sum of f*J*dx*dy*dz over the domain
NB: Uses to/from FieldAligned coordinates
- Parameters:
f_in – [in] The field being advected. This will be reconstructed at cell faces using the given CellEdges method
v_in – [in] The advection velocity. This will be interpolated to cell boundaries using linear interpolation
wave_speed_in – [in] Local maximum speed of all waves in the system at each
fixflux – [in] Fix the flux at the boundary to be the value at the midpoint (for boundary conditions)
-
struct Stencil1D#
- #include <fv_ops.hxx>
Stencil used for Finite Volume calculations which includes cell face values L and R
-
struct Upwind#
- #include <fv_ops.hxx>
First order upwind for testing
-
struct MinMod#
- #include <fv_ops.hxx>
Second order slope limiter method
Limits slope to minimum absolute value of left and right gradients. If at a maximum or minimum slope set to zero, i.e. reverts to first order upwinding
-
struct MC#
- #include <fv_ops.hxx>
Monotonised Central (MC) second order slope limiter (Van Leer)
Limits the slope based on taking the slope with the minimum absolute value from central, 2*left and 2*right. If any of these slopes have different signs then the slope reverts to zero (i.e. 1st-order upwinding).
-
template<typename CellEdges = MC>