excess_gibbs Subroutine

public subroutine excess_gibbs(self, n, T, Ge, GeT, GeT2, Gen, GeTn, Gen2)

Calculate the excess Gibbs free energy and its derivatives of the UNIQUAC model.

Type Bound

UNIQUAC

Arguments

Type IntentOptional Attributes Name
class(UNIQUAC), intent(in) :: self

UNIQUAC model

real(kind=pr), intent(in) :: n(:)

Moles vector [mol]

real(kind=pr), intent(in) :: T

Temperature [K]

real(kind=pr), intent(out), optional :: Ge

Excess Gibbs energy

real(kind=pr), intent(out), optional :: GeT

real(kind=pr), intent(out), optional :: GeT2

real(kind=pr), intent(out), optional :: Gen(size(n))

real(kind=pr), intent(out), optional :: GeTn(size(n))

real(kind=pr), intent(out), optional :: Gen2(size(n),size(n))


Variables

Type Visibility Attributes Name Initial
real(kind=pr), public :: GeT2_aux
real(kind=pr), public :: GeT_aux
real(kind=pr), public :: GeTn_aux(size(n))
real(kind=pr), public :: Ge_aux
real(kind=pr), public :: Ge_comb
real(kind=pr), public :: Ge_res
real(kind=pr), public :: Gen2_aux(size(n),size(n))
real(kind=pr), public :: Gen_aux(size(n))
real(kind=pr), public :: Gen_comb(size(n))
real(kind=pr), public :: Gen_res(size(n))
real(kind=pr), public :: d2phik_dnidnj(size(n),size(n),size(n))
real(kind=pr), public :: d2tau(size(n),size(n))
real(kind=pr), public :: d2thetak_dnidnj(size(n),size(n),size(n))
real(kind=pr), public :: d2xk_dnidnj(size(n),size(n),size(n))
real(kind=pr), public :: diff_aux(size(n))
real(kind=pr), public :: dln_nk_dni(size(n),size(n))
logical, public :: dn
logical, public :: dn2
real(kind=pr), public :: dphik_dn(size(n),size(n))
logical, public :: dt
logical, public :: dt2
logical, public :: dt_or_dtn
real(kind=pr), public :: dtau(size(n),size(n))
real(kind=pr), public :: dthetak_dni(size(n),size(n))
logical, public :: dtn
real(kind=pr), public :: dxk_dni(size(n),size(n))
integer, public :: i
integer, public :: j
integer, public :: k
real(kind=pr), public :: n_tot
integer, public :: nc
real(kind=pr), public :: phik(size(n))
real(kind=pr), public :: q_i
real(kind=pr), public :: q_j
real(kind=pr), public :: q_k
real(kind=pr), public :: r_i
real(kind=pr), public :: r_j
real(kind=pr), public :: r_k
real(kind=pr), public :: sum_d2theta_tau_lk(size(n))
real(kind=pr), public :: sum_dtheta_l_dtau_lk(size(n),size(n))
real(kind=pr), public :: sum_dtheta_l_tau_lk(size(n),size(n))
real(kind=pr), public :: sum_nq
real(kind=pr), public :: sum_nr
real(kind=pr), public :: sum_theta_l_d2tau_lk(size(n))
real(kind=pr), public :: sum_theta_l_dtau_lk(size(n))
real(kind=pr), public :: sum_thetal_tau_lk(size(n))
real(kind=pr), public :: tau(size(n),size(n))
real(kind=pr), public :: thetak(size(n))
real(kind=pr), public :: trm1
real(kind=pr), public :: trm2
real(kind=pr), public :: trm3
real(kind=pr), public :: trm4
real(kind=pr), public :: trm5
real(kind=pr), public :: trm6
real(kind=pr), public :: xk(size(n))