yaeos__models_ge_group_contribution_model_parameters Module

group contribution model parameters

group contribution model parameters module.

Description

This module contrains the GeGCModelParameters type that allows to store the subgroups ids, maingroups ids, subgroups Rs, subgroups Qs, subgroups maingroups, and maingroups interaction parameters for UNIFAC like models (UNIFAC, LL-UNIFAC, Dortmund UNIFAC, PSRK, etc)


Uses

  • module~~yaeos__models_ge_group_contribution_model_parameters~~UsesGraph module~yaeos__models_ge_group_contribution_model_parameters yaeos__models_ge_group_contribution_model_parameters module~yaeos__constants yaeos__constants module~yaeos__models_ge_group_contribution_model_parameters->module~yaeos__constants iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env

Used by

  • module~~yaeos__models_ge_group_contribution_model_parameters~~UsedByGraph module~yaeos__models_ge_group_contribution_model_parameters yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_dortmund yaeos__models_ge_group_contribution_dortmund module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_model_parameters 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_unifac yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_group_contribution_dortmund_parameters->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_psrk_parameters yaeos__models_ge_group_contribution_psrk_parameters module~yaeos__models_ge_group_contribution_psrk_parameters->module~yaeos__models_ge_group_contribution_model_parameters 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_group_contribution_unifac_parameters->module~yaeos__models_ge_group_contribution_model_parameters module~yaeos__models_ge_group_contribution_psrk yaeos__models_ge_group_contribution_psrk module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_group_contribution_psrk_parameters module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_implementations yaeos__models_ge_implementations module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_dortmund module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_psrk proc~setup_dortmund setup_dortmund proc~setup_dortmund->module~yaeos__models_ge_group_contribution_unifac_parameters proc~setup_psrk setup_psrk proc~setup_psrk->module~yaeos__models_ge_group_contribution_unifac_parameters module~yaeos__models yaeos__models module~yaeos__models->module~yaeos__models_ge_implementations proc~psrk PSRK proc~psrk->module~yaeos__models_ge_implementations module~yaeos yaeos module~yaeos->module~yaeos__models

Derived Types

type, public ::  GeGCModelParameters

group contribution model parameters container

Read more…

Components

Type Visibility Attributes Name Initial
real(kind=pr), public, allocatable :: maingroups_aij(:,:)

Maingroup interaction parameters matrix

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

Maingroup interaction parameters matrix

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

Maingroup interaction parameters matrix

integer, public, allocatable :: maingroups_ids(:)

ID of each model’s maingroup

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

value of each subgroup

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

value of each subgroup

integer, public, allocatable :: subgroups_ids(:)

ID of each model’s subgroup

integer, public, allocatable :: subgroups_maingroups(:)

Maingroup of each subgroup

Type-Bound Procedures

procedure, public :: check_consistency
procedure, public :: get_maingroup_index
procedure, public :: get_maingroups_aij
procedure, public :: get_maingroups_bij
procedure, public :: get_maingroups_cij
procedure, public :: get_subgroup_Q
procedure, public :: get_subgroup_R
procedure, public :: get_subgroup_index
procedure, public :: get_subgroup_maingroup
procedure, public :: get_subgroups_aij
procedure, public :: get_subgroups_bij
procedure, public :: get_subgroups_cij

Functions

public function get_maingroup_index(self, maingroup_id) result(maingroup_idx)

Get index of the maingoup with id: maingoup_id

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: maingroup_id

ID of the subgroup

Return Value integer

Index of the maingroup on the self%maingroups_ids vector

public function get_maingroups_aij(self, maingroup_i_id, maingroup_j_id) result(aij)

Get the interaction parameter

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: maingroup_i_id

ID of the maingroup i

integer, intent(in) :: maingroup_j_id

ID of the maingroup j

Return Value real(kind=pr)

Interaction parameter

public function get_maingroups_bij(self, maingroup_i_id, maingroup_j_id) result(bij)

Get the interaction parameter

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: maingroup_i_id

ID of the maingroup i

integer, intent(in) :: maingroup_j_id

ID of the maingroup j

Return Value real(kind=pr)

Interaction parameter

public function get_maingroups_cij(self, maingroup_i_id, maingroup_j_id) result(cij)

Get the interaction parameter

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: maingroup_i_id

ID of the maingroup i

integer, intent(in) :: maingroup_j_id

ID of the maingroup j

Return Value real(kind=pr)

Interaction parameter

public function get_subgroup_Q(self, subgroup_id) result(subgroup_Q)

Get the subgroup’s value

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_id

ID of the subgroup

Return Value real(kind=pr)

value of the subgroup

public function get_subgroup_R(self, subgroup_id) result(subgroup_R)

Get the subgroup’s value

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_id

ID of the subgroup

Return Value real(kind=pr)

value of the subgroup

public function get_subgroup_index(self, subgroup_id) result(subgroup_idx)

Get index of the subgroup with id: subgroup_id

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_id

ID of the subgroup

Return Value integer

Index of the subgroup on the self%subgroups_ids vector

public function get_subgroup_maingroup(self, subgroup_id) result(subgroup_maingroup)

Get the subgroup’s maingroup

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_id

ID of the subgroup

Return Value integer

Maingroup of the subgroup

public function get_subgroups_aij(self, subgroup_i_id, subgroup_j_id) result(aij)

Get the interaction parameter

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_i_id

ID of the subgroup i

integer, intent(in) :: subgroup_j_id

ID of the subgroup j

Return Value real(kind=pr)

Interaction parameter

public function get_subgroups_bij(self, subgroup_i_id, subgroup_j_id) result(bij)

Get the interaction parameter

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_i_id

ID of the subgroup i

integer, intent(in) :: subgroup_j_id

ID of the subgroup j

Return Value real(kind=pr)

Interaction parameter

public function get_subgroups_cij(self, subgroup_i_id, subgroup_j_id) result(cij)

Get the interaction parameter

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters) :: self
integer, intent(in) :: subgroup_i_id

ID of the subgroup i

integer, intent(in) :: subgroup_j_id

ID of the subgroup j

Return Value real(kind=pr)

Interaction parameter


Subroutines

public subroutine check_consistency(self)

Arguments

Type IntentOptional Attributes Name
class(GeGCModelParameters), intent(in) :: self