models.f90 Source File


This file depends on

sourcefile~~models.f90~~EfferentGraph sourcefile~models.f90 models.f90 sourcefile~alphas.f90 alphas.f90 sourcefile~models.f90->sourcefile~alphas.f90 sourcefile~ar_models.f90 ar_models.f90 sourcefile~models.f90->sourcefile~ar_models.f90 sourcefile~base.f90~2 base.f90 sourcefile~models.f90->sourcefile~base.f90~2 sourcefile~ge_models.f90 ge_models.f90 sourcefile~models.f90->sourcefile~ge_models.f90 sourcefile~generic_cubic.f90 generic_cubic.f90 sourcefile~models.f90->sourcefile~generic_cubic.f90 sourcefile~gerg2008.f90 gerg2008.f90 sourcefile~models.f90->sourcefile~gerg2008.f90 sourcefile~huron_vidal.f90 huron_vidal.f90 sourcefile~models.f90->sourcefile~huron_vidal.f90 sourcefile~implementations.f90 implementations.f90 sourcefile~models.f90->sourcefile~implementations.f90 sourcefile~implementations.f90~2 implementations.f90 sourcefile~models.f90->sourcefile~implementations.f90~2 sourcefile~pc_saft.f90 pc_saft.f90 sourcefile~models.f90->sourcefile~pc_saft.f90 sourcefile~quadratic_mixing.f90 quadratic_mixing.f90 sourcefile~models.f90->sourcefile~quadratic_mixing.f90 sourcefile~alphas.f90->sourcefile~generic_cubic.f90 sourcefile~constants.f90 constants.f90 sourcefile~alphas.f90->sourcefile~constants.f90 sourcefile~substance.f90 substance.f90 sourcefile~alphas.f90->sourcefile~substance.f90 sourcefile~ar_models.f90->sourcefile~base.f90~2 sourcefile~ar_models.f90->sourcefile~constants.f90 sourcefile~math.f90 math.f90 sourcefile~ar_models.f90->sourcefile~math.f90 sourcefile~base.f90~2->sourcefile~substance.f90 sourcefile~ge_models.f90->sourcefile~base.f90~2 sourcefile~ge_models.f90->sourcefile~constants.f90 sourcefile~generic_cubic.f90->sourcefile~ar_models.f90 sourcefile~base.f90~3 base.f90 sourcefile~generic_cubic.f90->sourcefile~base.f90~3 sourcefile~generic_cubic.f90->sourcefile~constants.f90 sourcefile~linalg.f90 linalg.f90 sourcefile~generic_cubic.f90->sourcefile~linalg.f90 sourcefile~generic_cubic.f90->sourcefile~substance.f90 sourcefile~volume.f90 volume.f90 sourcefile~generic_cubic.f90->sourcefile~volume.f90 sourcefile~gerg2008.f90->sourcefile~generic_cubic.f90 sourcefile~gerg2008.f90->sourcefile~implementations.f90~2 sourcefile~armodel_adiff_api.f90 armodel_adiff_api.f90 sourcefile~gerg2008.f90->sourcefile~armodel_adiff_api.f90 sourcefile~gerg2008.f90->sourcefile~constants.f90 sourcefile~hyperdual.f90 hyperdual.f90 sourcefile~gerg2008.f90->sourcefile~hyperdual.f90 sourcefile~gerg2008.f90->sourcefile~math.f90 sourcefile~parameters_gerg2008.f90 parameters_gerg2008.f90 sourcefile~gerg2008.f90->sourcefile~parameters_gerg2008.f90 sourcefile~huron_vidal.f90->sourcefile~ge_models.f90 sourcefile~huron_vidal.f90->sourcefile~generic_cubic.f90 sourcefile~huron_vidal.f90->sourcefile~quadratic_mixing.f90 sourcefile~base.f90~4 base.f90 sourcefile~huron_vidal.f90->sourcefile~base.f90~4 sourcefile~huron_vidal.f90->sourcefile~constants.f90 sourcefile~huron_vidal.f90->sourcefile~hyperdual.f90 sourcefile~nrtl_hv.f90 nrtl_hv.f90 sourcefile~huron_vidal.f90->sourcefile~nrtl_hv.f90 sourcefile~dortmund.f90 dortmund.f90 sourcefile~implementations.f90->sourcefile~dortmund.f90 sourcefile~nrtl.f90 nrtl.f90 sourcefile~implementations.f90->sourcefile~nrtl.f90 sourcefile~implementations.f90->sourcefile~nrtl_hv.f90 sourcefile~psrk.f90 psrk.f90 sourcefile~implementations.f90->sourcefile~psrk.f90 sourcefile~unifac.f90 unifac.f90 sourcefile~implementations.f90->sourcefile~unifac.f90 sourcefile~uniquac.f90 uniquac.f90 sourcefile~implementations.f90->sourcefile~uniquac.f90 sourcefile~implementations.f90~2->sourcefile~alphas.f90 sourcefile~implementations.f90~2->sourcefile~generic_cubic.f90 sourcefile~implementations.f90~2->sourcefile~huron_vidal.f90 sourcefile~implementations.f90~2->sourcefile~implementations.f90 sourcefile~implementations.f90~2->sourcefile~quadratic_mixing.f90 sourcefile~implementations.f90~2->sourcefile~constants.f90 sourcefile~groups.f90 groups.f90 sourcefile~implementations.f90~2->sourcefile~groups.f90 sourcefile~pure_saturation.f90 pure_saturation.f90 sourcefile~implementations.f90~2->sourcefile~pure_saturation.f90 sourcefile~implementations.f90~2->sourcefile~substance.f90 sourcefile~pc_saft.f90->sourcefile~armodel_adiff_api.f90 sourcefile~pc_saft.f90->sourcefile~constants.f90 sourcefile~critical.f90 critical.f90 sourcefile~pc_saft.f90->sourcefile~critical.f90 sourcefile~pc_saft.f90->sourcefile~hyperdual.f90 sourcefile~quadratic_mixing.f90->sourcefile~generic_cubic.f90 sourcefile~quadratic_mixing.f90->sourcefile~base.f90~4 sourcefile~quadratic_mixing.f90->sourcefile~constants.f90 sourcefile~quadratic_mixing.f90->sourcefile~hyperdual.f90 sourcefile~quadratic_mixing.f90->sourcefile~substance.f90 sourcefile~armodel_adiff_api.f90->sourcefile~ar_models.f90 sourcefile~armodel_adiff_api.f90->sourcefile~constants.f90 sourcefile~armodel_adiff_api.f90->sourcefile~hyperdual.f90 sourcefile~base.f90~3->sourcefile~constants.f90 sourcefile~base.f90~4->sourcefile~constants.f90 sourcefile~critical.f90->sourcefile~ar_models.f90 sourcefile~critical.f90->sourcefile~constants.f90 sourcefile~critical.f90->sourcefile~linalg.f90 sourcefile~critical.f90->sourcefile~math.f90 sourcefile~continuation.f90 continuation.f90 sourcefile~critical.f90->sourcefile~continuation.f90 sourcefile~equilibria_state.f90 equilibria_state.f90 sourcefile~critical.f90->sourcefile~equilibria_state.f90 sourcefile~stability.f90 stability.f90 sourcefile~critical.f90->sourcefile~stability.f90 sourcefile~dortmund.f90->sourcefile~constants.f90 sourcefile~dortmund.f90->sourcefile~groups.f90 sourcefile~dortmund.f90->sourcefile~unifac.f90 sourcefile~dortmund_parameters.f90 dortmund_parameters.f90 sourcefile~dortmund.f90->sourcefile~dortmund_parameters.f90 sourcefile~model_parameters.f90 model_parameters.f90 sourcefile~dortmund.f90->sourcefile~model_parameters.f90 sourcefile~temperature_dependence.f90 temperature_dependence.f90 sourcefile~dortmund.f90->sourcefile~temperature_dependence.f90 sourcefile~unifac_parameters.f90 unifac_parameters.f90 sourcefile~dortmund.f90->sourcefile~unifac_parameters.f90 sourcefile~groups.f90->sourcefile~constants.f90 sourcefile~hyperdual.f90->sourcefile~constants.f90 sourcefile~linalg.f90->sourcefile~constants.f90 sourcefile~auxiliar.f90 auxiliar.f90 sourcefile~linalg.f90->sourcefile~auxiliar.f90 sourcefile~math.f90->sourcefile~constants.f90 sourcefile~math.f90->sourcefile~linalg.f90 sourcefile~math.f90->sourcefile~auxiliar.f90 sourcefile~math.f90->sourcefile~continuation.f90 sourcefile~nrtl.f90->sourcefile~ge_models.f90 sourcefile~nrtl.f90->sourcefile~constants.f90 sourcefile~base.f90 base.f90 sourcefile~nrtl.f90->sourcefile~base.f90 sourcefile~interfaces.f90 interfaces.f90 sourcefile~nrtl.f90->sourcefile~interfaces.f90 sourcefile~nrtl_hv.f90->sourcefile~ge_models.f90 sourcefile~nrtl_hv.f90->sourcefile~constants.f90 sourcefile~autodiff.f90 autodiff.f90 sourcefile~nrtl_hv.f90->sourcefile~autodiff.f90 sourcefile~nrtl_hv.f90->sourcefile~base.f90 sourcefile~parameters_gerg2008.f90->sourcefile~base.f90~2 sourcefile~parameters_gerg2008.f90->sourcefile~constants.f90 sourcefile~psrk.f90->sourcefile~constants.f90 sourcefile~psrk.f90->sourcefile~groups.f90 sourcefile~psrk.f90->sourcefile~unifac.f90 sourcefile~psrk_parameters.f90 psrk_parameters.f90 sourcefile~psrk.f90->sourcefile~psrk_parameters.f90 sourcefile~psrk.f90->sourcefile~temperature_dependence.f90 sourcefile~psrk.f90->sourcefile~unifac_parameters.f90 sourcefile~pure_saturation.f90->sourcefile~ar_models.f90 sourcefile~pure_saturation.f90->sourcefile~constants.f90 sourcefile~pure_saturation.f90->sourcefile~linalg.f90 sourcefile~pure_saturation.f90->sourcefile~auxiliar.f90 sourcefile~pure_saturation.f90->sourcefile~continuation.f90 sourcefile~substance.f90->sourcefile~constants.f90 sourcefile~unifac.f90->sourcefile~ge_models.f90 sourcefile~unifac.f90->sourcefile~constants.f90 sourcefile~unifac.f90->sourcefile~groups.f90 sourcefile~unifac.f90->sourcefile~model_parameters.f90 sourcefile~unifac.f90->sourcefile~temperature_dependence.f90 sourcefile~unifac.f90->sourcefile~unifac_parameters.f90 sourcefile~uniquac.f90->sourcefile~ge_models.f90 sourcefile~uniquac.f90->sourcefile~constants.f90 sourcefile~uniquac.f90->sourcefile~math.f90 sourcefile~volume.f90->sourcefile~ar_models.f90 sourcefile~volume.f90->sourcefile~constants.f90 sourcefile~volume.f90->sourcefile~auxiliar.f90 sourcefile~autodiff.f90->sourcefile~armodel_adiff_api.f90 sourcefile~autodiff.f90->sourcefile~hyperdual.f90 sourcefile~auxiliar.f90->sourcefile~constants.f90 sourcefile~base.f90->sourcefile~constants.f90 sourcefile~continuation.f90->sourcefile~constants.f90 sourcefile~continuation.f90->sourcefile~linalg.f90 sourcefile~continuation.f90->sourcefile~auxiliar.f90 sourcefile~dortmund_parameters.f90->sourcefile~constants.f90 sourcefile~dortmund_parameters.f90->sourcefile~model_parameters.f90 sourcefile~equilibria_state.f90->sourcefile~constants.f90 sourcefile~interfaces.f90->sourcefile~constants.f90 sourcefile~model_parameters.f90->sourcefile~constants.f90 sourcefile~psrk_parameters.f90->sourcefile~constants.f90 sourcefile~psrk_parameters.f90->sourcefile~model_parameters.f90 sourcefile~stability.f90->sourcefile~ar_models.f90 sourcefile~stability.f90->sourcefile~base.f90~2 sourcefile~stability.f90->sourcefile~ge_models.f90 sourcefile~stability.f90->sourcefile~constants.f90 sourcefile~temperature_dependence.f90->sourcefile~constants.f90 sourcefile~temperature_dependence.f90->sourcefile~groups.f90 sourcefile~unifac_parameters.f90->sourcefile~constants.f90 sourcefile~unifac_parameters.f90->sourcefile~model_parameters.f90

Files dependent on this one

sourcefile~~models.f90~~AfferentGraph sourcefile~models.f90 models.f90 sourcefile~yaeos.f90 yaeos.f90 sourcefile~yaeos.f90->sourcefile~models.f90

Source Code

module yaeos__models
   !! `yaeos` thermodynamic models
   !!
   !! On `yaeos` there are implemented a series of both residual Helmholtz
   !! energy (\(A_r\)) and excess Gibbs energy (\(G^E\)) models.
   !!
   !! This module takes all the relevant procedures and derived types
   !! related to them.
   !!
   !! - Residual Helmholtz model base type `ArModel` base derived type
   !!   that provides the basic structure that a residual Helmholtz model
   !!   should provide.
   !! - **Cubic Equations of state**:
   !!    - `AlphaFunction` type
   !!    - `CubicEos` type that extends `ArModel` to use a generic
   !!      two-parameter EoS. Implemented models that use this type can be
   !!      seen at [[yaeos__models_ar_cubic_implementations(module)]]
   !!    - `QMR` (Quadratic Mixing Rule) type: extensible derived type that
   !!       defaults to classic vdW mixing rules.
   !!    - `MHV` (Modified Huron-Vidal) type: Michelsens first order modified
   !!       Huron-Vidal mixing rule.
   !! - **GERG2008 Equation of State**:
   !!    - GERG2008 multifluid equation of state
   !! - **SAFT Equations of State**:
   !!    - PC-SAFT equation of state

   ! Base model structure
   use yaeos__models_base, only: BaseModel

   ! Residual Helmholtz Models
   use yaeos__models_ar, only: ArModel, size

   ! GERG2008
   use yaeos__models_ar_gerg2008, only: &
      Gerg2008, Gerg2008Binary, G2008Components, gerg_2008

   ! PC-SAFT Models
   use yaeos__models_ar_saft_pcsaft, only: &
      PcSaft, init_pcsaft

   ! Cubic EoS models
   use yaeos__models_ar_genericcubic, only: &
      CubicEoS, GenericCubic_Ar, AlphaFunction, CubicMixRule

   ! Alpha functions
   use yaeos__models_ar_cubic_alphas

   ! Mixing Rules
   use yaeos__models_ar_cubic_quadratic_mixing
   use yaeos__models_cubic_mixing_rules_huron_vidal

   ! Implemented models
   use yaeos__models_ar_cubic_implementations

   ! Ge Models
   use yaeos__models_ge, only: GeModel

   ! Implemented models
   use yaeos__models_ge_implementations

end module yaeos__models