PSRK Function

public function PSRK(tc, pc, w, molecules, c1, c2, c3) result(model)

Uses

  • proc~~psrk~~UsesGraph proc~psrk PSRK module~yaeos__models_ar_cubic_alphas yaeos__models_ar_cubic_alphas proc~psrk->module~yaeos__models_ar_cubic_alphas module~yaeos__models_ar_genericcubic yaeos__models_ar_genericcubic proc~psrk->module~yaeos__models_ar_genericcubic module~yaeos__models_cubic_mixing_rules_huron_vidal yaeos__models_cubic_mixing_rules_huron_vidal proc~psrk->module~yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models_ge_group_contribution_groups yaeos__models_ge_group_contribution_groups proc~psrk->module~yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_implementations yaeos__models_ge_implementations proc~psrk->module~yaeos__models_ge_implementations module~yaeos__models_ar_cubic_alphas->module~yaeos__models_ar_genericcubic module~yaeos__constants yaeos__constants module~yaeos__models_ar_cubic_alphas->module~yaeos__constants module~yaeos__substance yaeos__substance module~yaeos__models_ar_cubic_alphas->module~yaeos__substance module~yaeos__models_ar_genericcubic->module~yaeos__constants module~yaeos__models_ar yaeos__models_ar module~yaeos__models_ar_genericcubic->module~yaeos__models_ar module~yaeos__models_ar_genericcubic->module~yaeos__substance module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_genericcubic module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__constants module~yaeos__models_ar_cubic_mixing_base yaeos__models_ar_cubic_mixing_base module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_cubic_mixing_base module~yaeos__models_ar_cubic_quadratic_mixing yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models_ge yaeos__models_ge module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ge 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_group_contribution_groups->module~yaeos__constants 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 iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env module~yaeos__models_ar->module~yaeos__constants module~yaeos__models_base yaeos__models_base module~yaeos__models_ar->module~yaeos__models_base module~yaeos__models_ar_cubic_mixing_base->module~yaeos__constants module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__models_ar_genericcubic module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__constants 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_ge->module~yaeos__constants module~yaeos__models_ge->module~yaeos__models_base module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_groups 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_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__models_ge_group_contribution_groups 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_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__models_ge_group_contribution_groups 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_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__tapenade_interfaces yaeos__tapenade_interfaces module~yaeos__models_ge_nrtl->module~yaeos__tapenade_interfaces 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~hyperdual_mod hyperdual_mod module~yaeos__autodiff->module~hyperdual_mod module~yaeos__adiff_hyperdual_ar_api yaeos__adiff_hyperdual_ar_api 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_base->module~yaeos__substance module~yaeos__models_ge_gc_td->module~yaeos__models_ge_group_contribution_groups module~yaeos__models_ge_gc_td->module~yaeos__constants 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_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__tapenade_interfaces->module~yaeos__constants 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__math_continuation->module~yaeos__constants module~yaeos__math_continuation->module~yaeos__math_linalg module~yaeos__math_linalg->module~yaeos__constants

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: tc(:)

Critical temperature [K]

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

Critical pressure [bar]

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

Acentric factor

type(Groups), intent(in) :: molecules(:)
real(kind=pr), intent(in), optional :: c1(:)
real(kind=pr), intent(in), optional :: c2(:)
real(kind=pr), intent(in), optional :: c3(:)

Return Value type(CubicEoS)


Calls

proc~~psrk~~CallsGraph proc~psrk PSRK proc~setup_psrk setup_psrk proc~psrk->proc~setup_psrk proc~get_subgroups_aij GeGCModelParameters%get_subgroups_aij proc~setup_psrk->proc~get_subgroups_aij proc~get_subgroups_bij GeGCModelParameters%get_subgroups_bij proc~setup_psrk->proc~get_subgroups_bij proc~get_subgroups_cij GeGCModelParameters%get_subgroups_cij proc~setup_psrk->proc~get_subgroups_cij proc~psrkparameters PSRKParameters proc~setup_psrk->proc~psrkparameters proc~setup_unifac setup_unifac proc~setup_psrk->proc~setup_unifac proc~get_maingroup_index GeGCModelParameters%get_maingroup_index proc~get_subgroups_aij->proc~get_maingroup_index proc~get_subgroup_maingroup GeGCModelParameters%get_subgroup_maingroup proc~get_subgroups_aij->proc~get_subgroup_maingroup proc~get_subgroups_bij->proc~get_maingroup_index proc~get_subgroups_bij->proc~get_subgroup_maingroup proc~get_subgroups_cij->proc~get_maingroup_index proc~get_subgroups_cij->proc~get_subgroup_maingroup proc~setup_unifac->proc~get_subgroups_aij proc~check_consistency GeGCModelParameters%check_consistency proc~setup_unifac->proc~check_consistency proc~get_subgroup_q GeGCModelParameters%get_subgroup_Q proc~setup_unifac->proc~get_subgroup_q proc~get_subgroup_r GeGCModelParameters%get_subgroup_R proc~setup_unifac->proc~get_subgroup_r proc~thetas_i thetas_i proc~setup_unifac->proc~thetas_i proc~unifacparameters UNIFACParameters proc~setup_unifac->proc~unifacparameters proc~get_subgroup_index GeGCModelParameters%get_subgroup_index proc~get_subgroup_maingroup->proc~get_subgroup_index proc~get_subgroup_q->proc~get_subgroup_index proc~get_subgroup_r->proc~get_subgroup_index proc~thetas_i->proc~get_subgroup_q

Variables

Type Visibility Attributes Name Initial
type(AlphaSoave), private :: alpha
type(AlphaMathiasCopeman), private :: alpha_mc
type(Substances), private :: composition
type(UNIFAC), private :: ge
integer, private :: i
type(MHV), private :: mixrule
integer, private :: nc