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. | |
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.
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 ) |
[in] | velocity | the velocity u |
[in] | time_step | the time step \( \delta t = t^{n+1} - t^n \) |
[in] | scalar | the scalar T to be advected |
[in] | flux_type | (unused, but necessary for genericity) |
[in] | directions | the vector made of directions ([1,2,3] for all of them or [1] for only "x"). This is used for splitted methods. |
[in,out] | divut | the resulting field |
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")