Routines for CFL factor. More...
Public Member Functions | |
subroutine | compute_cfl (temps, I1, In, i_tube, pos_tube, ion, i_spc, dt, nboucle) |
Compute CFL factor for ionic species and deduce supplementary timesteps to make. More... | |
Routines for CFL factor.
subroutine module_cfl::compute_cfl | ( | type(calendar), intent(in) | temps, |
integer, intent(in) | I1, | ||
integer, intent(in) | In, | ||
integer, intent(in) | i_tube, | ||
type(coordonnees), dimension(:,:), intent(in) | pos_tube, | ||
type(espece), dimension(:), intent(in) | ion, | ||
integer, dimension(:), intent(in) | i_spc, | ||
real*8, intent(in) | dt, | ||
integer, intent(out) | nboucle | ||
) |
Compute CFL factor for ionic species and deduce supplementary timesteps to make.
[out] | nboucle | Number of subdivision (default 1) |
Compute CFL condition at this altitude for this specie CFL = k{U.dt}{dz} = k{C_i{U}.to{dt}}{Ro{dz}} = k{C_i{U}.{dt}}{C_{ref}{dz}}
Here: U = U_{ion} + {3}{2}max(Xp_{ion},Xt_{ion}){Tp_{ion}} U = U_{electron}
According to cfl value, compute nboucle nboucle = f(cfl) where: f: x -> 2^{floor({ln(x)}/{ln(2)} + 1)} f([2^i,2^{i+1}[) = 2^{i+1}