Modules

ModuleSource FileDescription
ADMM_TAPENADE_INTERFACE admm_tapenade_interface.f90
ar_interface ar_interface.f90
auxiliar_functions auxiliar_functions.f90
hyperdual_mod hyperdual.f90

Hyperdual number definition & type declaration

legacy_ar_models legacy.f90

Legacy Thermodynamic routines Module for a cubic eos system, made with the intention to keep compatiblity with legacy codes but with a better structure. this should be later adapted into a simple oop system where an eos object stores the relevant parameters (or some functional oriented approach)

legacy_thermo_properties legacy.f90
yaeos yaeos.f90

Yet Another Equation-Of-State (library)

Read more…
yaeos__adiff_hyperdual_ar_api armodel_adiff_api.f90

Module that contains the automatic differentiation logic for an Ar model.

Read more…
yaeos__autodiff autodiff.f90

This module holds the diferent ways of automatic differentiation

yaeos__auxiliar auxiliar.f90
yaeos__consistency consistency.f90

Subroutine to evaluate the consistency of thermodynamic models.

Read more…
yaeos__consistency_armodel consistency_armodel.f90

Consistency checks of Helmholtz free energy models (ArModel).

Read more…
yaeos__consistency_gemodel consistency_gemodel.f90

Consistency checks of Helmholtz free energy models (GeModel).

Read more…
yaeos__constants constants.f90

Constants used on the whole package

yaeos__equilibria equilibria.f90
yaeos__equilibria_auxiliar auxiliar.f90

Auxiliar functions used for phase-equilibria calculation.

yaeos__equilibria_boundaries_phase_envelopes_pt phase_envelopes_pt.f90

Phase boundaries line on the plane calculation procedures.

yaeos__equilibria_boundaries_phase_envelopes_px phase_envelopes_px.f90

Phase boundaries line on the plane calculation procedures.

yaeos__equilibria_equilibrium_state equilibria_state.f90
yaeos__equilibria_flash flash.f90
yaeos__equilibria_pure_psat pure_psat.f90

Module used to calculate the saturation pressure of pure components at a given temperature.

yaeos__equilibria_rachford_rice rachford_rice.f90
yaeos__equilibria_saturation_points saturations_points.f90
yaeos__fitting fitting.f90
yaeos__fitting_fit_kij_lij fit_kij_lij.f90

Binary interaction parameters fitting problem.

yaeos__fitting_fit_nrtl_mhv fit_nrtl_mhv.f90
yaeos__m_s_sp saturation_point.f90

Module to calculate saturation points

yaeos__math math.f90

This module provides all the relevant mathematical functions used in this library. Most important ones are:

Read more…
yaeos__math_continuation continuation.f90

Implementation of Algower’s numerical continuation method.

yaeos__math_linalg linalg.f90

Wrapper module around LAPACK’s dgesv

yaeos__models models.f90

yaeos thermodynamic models

Read more…
yaeos__models_ar ar_models.f90

All the residual properties that are calculated in this library are based on residual Helmholtz Equations of State. Following the book by Michelsen and Mollerup.

Read more…
yaeos__models_ar_cubic_alphas alphas.f90

functions defined in the library.

yaeos__models_ar_cubic_implementations implementations.f90

Implemented Cubic Equations of State.

Read more…
yaeos__models_ar_cubic_mixing_base base.f90

Procedures of the core calculations of CubicEoS mixing rules.

Read more…
yaeos__models_ar_cubic_quadratic_mixing quadratic_mixing.f90

Quadratic Mixing Rules for Cubic EoS.

yaeos__models_ar_genericcubic generic_cubic.f90
yaeos__models_base base.f90

Basic element of a thermodynamic model.

yaeos__models_cubic_mixing_rules_huron_vidal huron_vidal.f90

This module contains the mixing rules that are based/similar to the mixing rules defined by Huron-Vidal

Read more…
yaeos__models_ge ge_models.f90

Excess Gibbs Models.

yaeos__models_ge_gc_td temperature_dependence.f90
yaeos__models_ge_group_contribution_groups groups.f90
yaeos__models_ge_group_contribution_model_parameters model_parameters.f90

group contribution model parameters module.

Read more…
yaeos__models_ge_group_contribution_psrk psrk.f90
yaeos__models_ge_group_contribution_psrk_parameters psrk_parameters.f90
yaeos__models_ge_group_contribution_unifac unifac.f90

Classic liquid-vapor UNIFAC model implementation module.

Read more…
yaeos__models_ge_group_contribution_unifac_parameters unifac_parameters.f90

UNIFAC parameters module

Read more…
yaeos__models_ge_implementations implementations.f90
yaeos__models_ge_NRTL nrtl.f90
yaeos__models_ge_uniquac uniquac.f90

UNIQUAC (universal quasichemical) Excess Gibbs free energy model.

Read more…
yaeos__models_solvers volume.f90

Set of different specialized solvers for different models

Read more…
yaeos__optimizers optimizers.f90
yaeos__optimizers_nelder_mead optimizers.f90
yaeos__optimizers_powell_wrap optimizers.f90
yaeos__phase_equilibria_stability stability.f90

Phase stability related calculations.

Read more…
yaeos__solvers_pressure_equality pressure_equality.f90

Solve the pressure equality of a

yaeos__substance substance.f90

yaeos Subtance module.

Read more…
yaeos__tapenade_ar_api tapenade_ar_api.f90

Module that wraps tapenade generated routines to calculate ! Ar and derivatives.

yaeos__tapenade_ge_api tapenade_ge_api.f90

Module that wraps tapenade generated routines to calculate ! Ge and derivatives.

yaeos__tapenade_interfaces interfaces.f90