yaeos__extra_fluids Module

Predefined Fluids

Collection of predefined fluids to be used as examples and in tests.

Description

This module collects a set of different fluids intended to be used for tests or in practice when training on using the library.

The fluids are stored as functions that return a derived type FixtureFluid which contains the instantiated ArModel of the fluid, and its relevant compositions z0 and zi

Examples

 A basic code example

Uses

  • module~~yaeos__extra_fluids~~UsesGraph module~yaeos__extra_fluids yaeos__extra_fluids module~yaeos__constants yaeos__constants module~yaeos__extra_fluids->module~yaeos__constants module~yaeos__models yaeos__models module~yaeos__extra_fluids->module~yaeos__models iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env module~yaeos__models_ar yaeos__models_ar module~yaeos__models->module~yaeos__models_ar module~yaeos__models_ar_cubic_alphas yaeos__models_ar_cubic_alphas module~yaeos__models->module~yaeos__models_ar_cubic_alphas module~yaeos__models_ar_cubic_cubic_mixing yaeos__models_ar_cubic_cubic_mixing module~yaeos__models->module~yaeos__models_ar_cubic_cubic_mixing module~yaeos__models_ar_cubic_implementations yaeos__models_ar_cubic_implementations module~yaeos__models->module~yaeos__models_ar_cubic_implementations module~yaeos__models_ar_cubic_mixing_sddlc yaeos__models_ar_cubic_mixing_sddlc module~yaeos__models->module~yaeos__models_ar_cubic_mixing_sddlc module~yaeos__models_ar_cubic_quadratic_mixing yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models->module~yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models_ar_genericcubic yaeos__models_ar_genericcubic module~yaeos__models->module~yaeos__models_ar_genericcubic module~yaeos__models_ar_gerg2008 yaeos__models_ar_gerg2008 module~yaeos__models->module~yaeos__models_ar_gerg2008 module~yaeos__models_ar_saft_pcsaft yaeos__models_ar_saft_pcsaft module~yaeos__models->module~yaeos__models_ar_saft_pcsaft module~yaeos__models_base yaeos__models_base module~yaeos__models->module~yaeos__models_base module~yaeos__models_cubic_mixing_rules_huron_vidal yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models->module~yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models_ge yaeos__models_ge module~yaeos__models->module~yaeos__models_ge module~yaeos__models_ge_implementations yaeos__models_ge_implementations module~yaeos__models->module~yaeos__models_ge_implementations module~yaeos__models_ar->module~yaeos__constants module~yaeos__models_ar->module~yaeos__models_base module~yaeos__models_ar_cubic_alphas->module~yaeos__constants module~yaeos__models_ar_cubic_alphas->module~yaeos__models_ar_genericcubic module~yaeos__substance yaeos__substance module~yaeos__models_ar_cubic_alphas->module~yaeos__substance module~yaeos__models_ar_cubic_cubic_mixing->module~yaeos__constants module~yaeos__models_ar_cubic_cubic_mixing->module~yaeos__models_ar_genericcubic module~yaeos__models_ar_cubic_mixing_base yaeos__models_ar_cubic_mixing_base module~yaeos__models_ar_cubic_cubic_mixing->module~yaeos__models_ar_cubic_mixing_base module~yaeos__models_ar_cubic_cubic_mixing->module~yaeos__substance module~yaeos__models_ar_cubic_implementations->module~yaeos__constants module~yaeos__models_ar_cubic_implementations->module~yaeos__models_ar_genericcubic module~yaeos__models_ar_cubic_implementations->module~yaeos__substance module~yaeos__models_ar_cubic_mixing_sddlc->module~yaeos__constants module~yaeos__models_ar_cubic_mixing_sddlc->module~yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__constants module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__models_ar_genericcubic module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__models_ar_cubic_mixing_base module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__substance module~yaeos__models_ar_genericcubic->module~yaeos__constants module~yaeos__models_ar_genericcubic->module~yaeos__models_ar module~yaeos__models_ar_genericcubic->module~yaeos__substance module~yaeos__models_ar_gerg2008->module~yaeos__constants module~yaeos__models_ar_gerg2008->module~yaeos__models_ar_cubic_implementations module~yaeos__models_ar_gerg2008->module~yaeos__models_ar_genericcubic module~hyperdual_mod hyperdual_mod module~yaeos__models_ar_gerg2008->module~hyperdual_mod module~yaeos__adiff_hyperdual_ar_api yaeos__adiff_hyperdual_ar_api module~yaeos__models_ar_gerg2008->module~yaeos__adiff_hyperdual_ar_api module~yaeos__models_ar_multifluid_parameters_gerg2008 yaeos__models_ar_multifluid_parameters_gerg2008 module~yaeos__models_ar_gerg2008->module~yaeos__models_ar_multifluid_parameters_gerg2008 module~yaeos__models_ar_saft_pcsaft->module~yaeos__constants module~yaeos__models_ar_saft_pcsaft->module~hyperdual_mod module~yaeos__models_ar_saft_pcsaft->module~yaeos__adiff_hyperdual_ar_api module~yaeos__models_base->module~yaeos__substance module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__constants module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_genericcubic module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ge module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_cubic_mixing_base module~yaeos__models_ge_nrtlhv yaeos__models_ge_nrtlhv module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ge_nrtlhv module~yaeos__models_ge->module~yaeos__constants module~yaeos__models_ge->module~yaeos__models_base module~yaeos__models_ge_group_contribution_dortmund yaeos__models_ge_group_contribution_dortmund module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_dortmund module~yaeos__models_ge_group_contribution_psrk yaeos__models_ge_group_contribution_psrk module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_psrk module~yaeos__models_ge_group_contribution_unifac yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_nrtl yaeos__models_ge_NRTL module~yaeos__models_ge_implementations->module~yaeos__models_ge_nrtl module~yaeos__models_ge_implementations->module~yaeos__models_ge_nrtlhv module~yaeos__models_ge_uniquac yaeos__models_ge_uniquac module~yaeos__models_ge_implementations->module~yaeos__models_ge_uniquac module~hyperdual_mod->module~yaeos__constants module~yaeos__adiff_hyperdual_ar_api->module~yaeos__constants module~yaeos__adiff_hyperdual_ar_api->module~yaeos__models_ar module~yaeos__adiff_hyperdual_ar_api->module~hyperdual_mod module~yaeos__models_ar_cubic_mixing_base->module~yaeos__constants module~yaeos__models_ar_multifluid_parameters_gerg2008->module~yaeos__constants module~yaeos__models_ar_multifluid_parameters_gerg2008->module~yaeos__models_base module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__constants module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_gc_td yaeos__models_ge_gc_td module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_gc_td module~yaeos__models_ge_group_contribution_dortmund_parameters yaeos__models_ge_group_contribution_dortmund_parameters module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_dortmund_parameters module~yaeos__models_ge_group_contribution_groups yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_group_contribution_model_parameters yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_psrk->module~yaeos__constants module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_gc_td module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_group_contribution_psrk_parameters yaeos__models_ge_group_contribution_psrk_parameters module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_group_contribution_psrk_parameters module~yaeos__models_ge_group_contribution_unifac->module~yaeos__constants module~yaeos__models_ge_group_contribution_unifac->module~yaeos__models_ge module~yaeos__models_ge_group_contribution_unifac->module~yaeos__models_ge_gc_td module~yaeos__models_ge_group_contribution_unifac->module~yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_group_contribution_unifac->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_unifac_parameters yaeos__models_ge_group_contribution_unifac_parameters module~yaeos__models_ge_group_contribution_unifac->module~yaeos__models_ge_group_contribution_unifac_parameters module~yaeos__models_ge_nrtl->module~yaeos__constants module~yaeos__models_ge_nrtl->module~yaeos__models_ge module~yaeos__models_ge_nrtlhv->module~yaeos__constants module~yaeos__models_ge_nrtlhv->module~yaeos__models_ge module~yaeos__autodiff yaeos__autodiff module~yaeos__models_ge_nrtlhv->module~yaeos__autodiff module~yaeos__models_ge_uniquac->module~yaeos__constants module~yaeos__models_ge_uniquac->module~yaeos__models_ge module~yaeos__math yaeos__math module~yaeos__models_ge_uniquac->module~yaeos__math module~yaeos__substance->module~yaeos__constants module~yaeos__autodiff->module~hyperdual_mod module~yaeos__autodiff->module~yaeos__adiff_hyperdual_ar_api module~yaeos__math->module~yaeos__constants module~yaeos__math_continuation yaeos__math_continuation module~yaeos__math->module~yaeos__math_continuation module~yaeos__math_linalg yaeos__math_linalg module~yaeos__math->module~yaeos__math_linalg module~yaeos__models_ge_gc_td->module~yaeos__constants module~yaeos__models_ge_gc_td->module~yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_group_contribution_dortmund_parameters->module~yaeos__constants module~yaeos__models_ge_group_contribution_dortmund_parameters->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_groups->module~yaeos__constants module~yaeos__models_ge_group_contribution_model_parameters->module~yaeos__constants module~yaeos__models_ge_group_contribution_psrk_parameters->module~yaeos__constants module~yaeos__models_ge_group_contribution_psrk_parameters->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_unifac_parameters->module~yaeos__constants module~yaeos__models_ge_group_contribution_unifac_parameters->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__math_continuation->module~yaeos__constants module~yaeos__math_continuation->module~yaeos__math_linalg module~yaeos__math_linalg->module~yaeos__constants

Derived Types

type, public ::  FixtureFluid

Components

Type Visibility Attributes Name Initial
class(ArModel), public, allocatable :: ar_model
integer, public :: nc

Number of components

character(len=:), public, allocatable :: reference

Reference of where the fluid was taken from

real(kind=pr), public, allocatable :: z0(:)

Original composition

real(kind=pr), public, allocatable :: zi(:)

Injection composition (if exists)


Functions

public function co2_h2o_isop() result(fluid)

Arguments

None

Return Value type(FixtureFluid)

public function oil_b71() result(fluid)

Arguments

None

Return Value type(FixtureFluid)

public function oil_gao()

J. Gao, R. Okuno, and H. A. Li, “An Experimental Study of Multiphase Behavior for n-Butane/Bitumen/Water Mixtures,” SPE Journal, 2016, doi: 10.2118/180736-pa.

Arguments

None

Return Value type(FixtureFluid)