15 real(dp),
pointer,
dimension(:) :: kl => null()
16 real(dp),
pointer,
dimension(:) :: sbar => null()
33 real(dp),
pointer,
dimension(:),
intent(in) :: kl
34 real(dp),
pointer,
dimension(:),
intent(in) :: sbar
44 function value(this, c, n)
result(val)
49 real(dp),
dimension(:),
intent(in) :: c
50 integer(I4B),
intent(in) :: n
54 if (c(n) > 0.0_dp)
then
55 denom = 1.0_dp + this%Kl(n) * c(n)
56 val = (this%Sbar(n) * this%Kl(n) * c(n)) / denom
69 real(dp),
dimension(:),
intent(in) :: c
70 integer(I4B),
intent(in) :: n
74 if (c(n) > 0.0_dp)
then
75 denom = (1.0_dp + this%Kl(n) * c(n))**2.0_dp
76 derv = (this%Sbar(n) * this%Kl(n)) / denom
This module defines variable data types.
type(langmuirisothermtype) function constructor(Kl, Sbar)
Constructor for Langmuir isotherm.
real(dp) function value(this, c, n)
Evaluate the isotherm at a given node.
real(dp) function derivative(this, c, n)
Evaluate derivative of the isotherm at a given node.
Langmuir isotherm implementation of IsothermType.