version 0.6.0
mod_compute_cell_advection_term_exp_semi_lagrangian Module Reference

Explicit semi lagrangian method for the advection equation. More...

Functions/Subroutines

subroutine compute_cell_advection_term_exp_semi_lagrangian (velocity, time_step, scalar, flux_type, directions, divut)
 Fills divuT with \(u \cdot \nabla T\) with a Semi-Lagrangian method. More...
 

Detailed Description

Be aware that this is not a conservative scheme but a traditional advection scheme.

The equation solved is:

\[ \frac{D \phi}{D t} = \frac{\partial \phi}{\partial t} + u \cdot \nabla \phi = 0 \]

in a lagrangian way, using advection of particles and interpolation.

Function/Subroutine Documentation

◆ compute_cell_advection_term_exp_semi_lagrangian()

subroutine mod_compute_cell_advection_term_exp_semi_lagrangian::compute_cell_advection_term_exp_semi_lagrangian ( type(t_face_field), intent(in)  velocity,
double precision, intent(in)  time_step,
double precision, dimension(:,:,:), intent(in)  scalar,
type(t_fv_flux), intent(in)  flux_type,
integer, dimension(:), intent(in)  directions,
double precision, dimension(:,:,:), intent(inout)  divut 
)
Parameters
[in]velocitythe velocity u
[in]time_stepthe time step \( \delta t = t^{n+1} - t^n \)
[in]scalarthe scalar T to be advected
[in]flux_type(unused, but necessary for genericity)
[in,out]divutthe resulting field
Todo:

MCO: 3rd dimension

MCO: deal with boundaries

MCO: correct with reconstruction of the field

MCO: question the precision with Eulerian vs RK schemes

MCO: deal with splitted method (with "directions")