The Level Set advection module. More...
Functions/Subroutines | |
subroutine | levelset_advect_eulerian_weno5_euler (levelset, velocity_nm1, velocity_n, velocity_np1, local_time, dt_nm1, dt_n, time_step) |
Advect the level set with a WENO5-Euler scheme. More... | |
subroutine | levelset_advect_eulerian_weno5_rk2_tvd (levelset, velocity_nm1, velocity_n, velocity_np1, local_time, dt_nm1, dt_n, time_step) |
Advect the level set with a WENO5-RK2-TVD (with given velocity at next time step) scheme. More... | |
subroutine | levelset_advect_eulerian_weno5_nssp32 (levelset, velocity_nm1, velocity_n, velocity_np1, local_time, dt_nm1, dt_n, time_step) |
Advect the level set with a WENO5-NSSP32 scheme. More... | |
subroutine | levelset_advect_eulerian_weno5_nssp53 (levelset, velocity_nm1, velocity_n, velocity_np1, local_time, dt_nm1, dt_n, time_step) |
Advect the level set with a WENO5-NSSP53 scheme. More... | |
subroutine | integrate_euler_forward (phi_tn, dphi_dt, dt, phi_tnp1) |
Integrate in time with a first order explicit Euler scheme. More... | |
subroutine | project_velocity_on_normal (velocity, phi, velocity_projected) |
Defined the function for advecting a level set with various methods Time is advanced from t^{n}to t^{n+1}.
subroutine mod_lsm_advect_eulerian_euler::integrate_euler_forward | ( | double precision, dimension(:,:,:), intent(in) | phi_tn, |
double precision, dimension(:,:,:), intent(in) | dphi_dt, | ||
double precision, intent(in) | dt, | ||
double precision, dimension(:,:,:), intent(out) | phi_tnp1 | ||
) |
[in] | phi_tn | the field \(\phi\) at time t^{n} |
[in] | dphi_dt | the field \(\frac{\partial \phi}{\partial t}\) at time \(t_n\) |
[in] | dt | the time step \(\Delta t\) |
[out] | phi_tnp1 | the resulting field |
subroutine mod_lsm_advect_eulerian_euler::levelset_advect_eulerian_weno5_euler | ( | class(t_levelset) | levelset, |
type(t_face_field), intent(in) | velocity_nm1, | ||
type(t_face_field), intent(in) | velocity_n, | ||
type(t_face_field), intent(in) | velocity_np1, | ||
double precision, intent(in) | local_time, | ||
double precision, intent(in) | dt_nm1, | ||
double precision, intent(in) | dt_n, | ||
double precision, intent(in) | time_step | ||
) |
Advect the level set from time \( t^n \) to \(t = t^l + \delta t \)
[in,out] | levelset | the level set |
[in] | velocity_nm1 | the velocity at time \(t=t_n - \delta t^{n-1}\) |
[in] | velocity_n | the velocity at time \(t=t_n\) |
[in] | velocity_np1 | the velocity at time \(t=t^{n+1}=t^{n} + \delta t^{n}\) |
[in] | local_time | the local time \(t^{l}\) relative to \(t^n\) |
[in] | dt_nm1 | the time step between \(t^{n}\) and \(t^{n-1}\) |
[in] | dt_n | the time step between \(t^{n+1}\) and \(t^{n}\) |
[in] | time_step | the time step \(\delta t\) over which to integrate the levelset: \(t^{l} + \delta t \) |
subroutine mod_lsm_advect_eulerian_euler::levelset_advect_eulerian_weno5_nssp32 | ( | class(t_levelset) | levelset, |
type(t_face_field), intent(in) | velocity_nm1, | ||
type(t_face_field), intent(in) | velocity_n, | ||
type(t_face_field), intent(in) | velocity_np1, | ||
double precision, intent(in) | local_time, | ||
double precision, intent(in) | dt_nm1, | ||
double precision, intent(in) | dt_n, | ||
double precision, intent(in) | time_step | ||
) |
Advect the level set from time \( t^n \) to \(t = t^l + \delta t \)
[in,out] | levelset | the level set |
[in] | velocity_nm1 | the velocity at time \(t=t_n - \delta t^{n-1}\) |
[in] | velocity_n | the velocity at time \(t=t_n\) |
[in] | velocity_np1 | the velocity at time \(t=t^{n+1}=t^{n} + \delta t^{n}\) |
[in] | local_time | the local time \(t^{l}\) relative to \(t^n\) |
[in] | dt_nm1 | the time step between \(t^{n}\) and \(t^{n-1}\) |
[in] | dt_n | the time step between \(t^{n+1}\) and \(t^{n}\) |
[in] | time_step | the time step \(\delta t\) over which to integrate the levelset: \(t^{l} + \delta t \) |
subroutine mod_lsm_advect_eulerian_euler::levelset_advect_eulerian_weno5_nssp53 | ( | class(t_levelset) | levelset, |
type(t_face_field), intent(in) | velocity_nm1, | ||
type(t_face_field), intent(in) | velocity_n, | ||
type(t_face_field), intent(in) | velocity_np1, | ||
double precision, intent(in) | local_time, | ||
double precision, intent(in) | dt_nm1, | ||
double precision, intent(in) | dt_n, | ||
double precision, intent(in) | time_step | ||
) |
Advect the level set from time \( t^n \) to \(t = t^l + \delta t \)
[in,out] | levelset | the level set |
[in] | velocity_nm1 | the velocity at time \(t=t_n - \delta t^{n-1}\) |
[in] | velocity_n | the velocity at time \(t=t_n\) |
[in] | velocity_np1 | the velocity at time \(t=t^{n+1}=t^{n} + \delta t^{n}\) |
[in] | local_time | the local time \(t^{l}\) relative to \(t^n\) |
[in] | dt_nm1 | the time step between \(t^{n}\) and \(t^{n-1}\) |
[in] | dt_n | the time step between \(t^{n+1}\) and \(t^{n}\) |
[in] | time_step | the time step \(\delta t\) over which to integrate the levelset: \(t^{l} + \delta t \) |
subroutine mod_lsm_advect_eulerian_euler::levelset_advect_eulerian_weno5_rk2_tvd | ( | class(t_levelset) | levelset, |
type(t_face_field), intent(in) | velocity_nm1, | ||
type(t_face_field), intent(in) | velocity_n, | ||
type(t_face_field), intent(in) | velocity_np1, | ||
double precision, intent(in) | local_time, | ||
double precision, intent(in) | dt_nm1, | ||
double precision, intent(in) | dt_n, | ||
double precision, intent(in) | time_step | ||
) |
Advect the level set from time \( t^n \) to \(t = t^l + \delta t \)
[in,out] | levelset | the level set |
[in] | velocity_nm1 | the velocity at time \(t=t_n - \delta t^{n-1}\) |
[in] | velocity_n | the velocity at time \(t=t_n\) |
[in] | velocity_np1 | the velocity at time \(t=t^{n+1}=t^{n} + \delta t^{n}\) |
[in] | local_time | the local time \(t^{l}\) relative to \(t^n\) |
[in] | dt_nm1 | the time step between \(t^{n}\) and \(t^{n-1}\) |
[in] | dt_n | the time step between \(t^{n+1}\) and \(t^{n}\) |
[in] | time_step | the time step \(\delta t\) over which to integrate the levelset: \(t^{l} + \delta t \) |