9 qsrc, length, weight, delt, &
16 real(dp),
intent(in) :: qa
17 real(dp),
intent(in) :: qb
18 real(dp),
intent(in) :: qc
19 real(dp),
intent(in) :: qd
20 real(dp),
intent(in) :: aa
21 real(dp),
intent(in) :: ab
22 real(dp),
intent(in) :: ac
23 real(dp),
intent(in) :: ad
24 real(dp),
intent(in) :: qsrc
25 real(dp),
intent(in) :: length
26 real(dp),
intent(in) :: weight
27 real(dp),
intent(in) :: delt
28 real(dp),
intent(in) :: courant
33 if (courant >
done)
then
34 f11 = (qd - qc) / length
35 f12 = (ac - aa) / delt
37 f11 = (weight * (qd - qc) + (
done - weight) * (qb - qa)) / length
38 f12 =
dhalf * ((ad - ab) + (ac - aa)) / delt
56 real(dp),
intent(in) :: aa
57 real(dp),
intent(in) :: ab
58 real(dp),
intent(in) :: ac
59 real(dp),
intent(in) :: ad
60 real(dp),
intent(in) :: length
61 real(dp),
intent(in) :: delt
62 real(dp),
intent(in) :: courant
64 if (courant > done)
then
real(dp) function kinematic_storage(aa, ab, ac, ad, length, delt, courant)
Kinematic routing equation storage term.
real(dp) function kinematic_residual(qa, qb, qc, qd, aa, ab, ac, ad, qsrc, length, weight, delt, courant)
Kinematic routing equation residual.
This module contains simulation constants.
real(dp), parameter dhalf
real constant 1/2
real(dp), parameter dzero
real constant zero
real(dp), parameter done
real constant 1
This module defines variable data types.