mod_ppm Module

The one-dimensional implementation of the PPM (piecewise parabolic method)


Used by

  • module~~mod_ppm~~UsedByGraph module~mod_ppm mod_ppm module~advection advection module~advection->module~mod_ppm program~main main program~main->module~mod_ppm

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: fp = 8

Subroutines

public subroutine cal_cfl_time_step(dx, u, dt, dt_, nt)

计算满足 CFL(Courant–Friedrichs–Lewy) 条件的时间积分步长

Arguments

Type IntentOptional Attributes Name
real(kind=fp), intent(in) :: dx(:)

网格分辨率: m

real(kind=fp), intent(in) :: u(:)

风速: m/s

real(kind=fp), intent(in) :: dt

全局迭代步长: s

real(kind=fp), intent(out) :: dt_

局部迭代步长: s

integer, intent(out) :: nt

迭代多少次

public subroutine adv1d_by_ppm(dt, u, c, advc, dx, ds, volume)

基于PPM方法实现的一维平流函数

Arguments

Type IntentOptional Attributes Name
real(kind=fp), intent(in) :: dt

时间间隔: s

real(kind=fp), intent(in) :: u(:)

网格右边界风速: m/s

real(kind=fp), intent(inout) :: c(:)

网格浓度: ug/m3

real(kind=fp), intent(out) :: advc(:)

浓度变化: ug/m3

real(kind=fp), intent(in), optional :: dx

网格分辨率: m

real(kind=fp), intent(in), optional :: ds(:)

网格分辨率: m

real(kind=fp), intent(in), optional :: volume(:)

体积校正因子,dxdydz;