version 0.6.0
Loading...
Searching...
No Matches
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.
 

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]directionsthe vector made of directions ([1,2,3] for all of them or [1] for only "x"). This is used for splitted methods.
[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")