Module that contains the automatic differentiation logic for an Ge model.
All that is needed to define an Ge model that uses automatic differentiation with hyperdual numbers is to define a new derived type that overloads the method to the Ge function that you want to use.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GeModelAdiff) | :: | self | ||||
| type(hyperdual), | intent(in) | :: | n(:) | |||
| type(hyperdual), | intent(in) | :: | t |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(Substances), | public | :: | components |
Substances contained in the module |
| procedure(hyperdual_Ge), public, deferred :: Ge | |
| procedure, public :: excess_Cp | |
| procedure, public :: excess_enthalpy | |
| procedure, public :: excess_entropy | |
| procedure, public :: excess_gibbs | |
| procedure, public :: ln_activity_coefficient |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(GeModelAdiff), | intent(in) | :: | self | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr), | intent(out), | optional | :: | Ge | ||
| real(kind=pr), | intent(out), | optional | :: | GeT | ||
| real(kind=pr), | intent(out), | optional | :: | GeT2 | ||
| real(kind=pr), | intent(out), | optional, | dimension(size(n)) | :: | Gen | |
| real(kind=pr), | intent(out), | optional, | dimension(size(n)) | :: | GeTn | |
| real(kind=pr), | intent(out), | optional | :: | Gen2(size(n),size(n)) |