GeGCModelParameters Derived Type

type, public :: GeGCModelParameters

GeGCModelParameters

group contribution model parameters container

Description

Type to represent a UNIFAC like models parameters. The type must be provided with the subgroups ids, maingroups ids, subgroups Rs, subgroups Qs, subgroups maingroups, and maingroups interaction parameters. Specifically, the type requires , , and for the maingroups interaction parameters. In the case of the classic UNIFAC model that only requires parameters, the and must be set as null matrixes. The documentation and source code of yaeos UNIFACParameters function could be consulted to understand how to instantiate a GeGCModelParameters object with the classic liquid-vapor UNIFAC parameters defined in DDBST.

References

  1. Dortmund Data Bank Software & Separation Technology

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

  • 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

procedure, public :: get_maingroups_aij

  • 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

procedure, public :: get_maingroups_bij

  • 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

procedure, public :: get_maingroups_cij

  • 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

procedure, public :: get_subgroup_Q

  • 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

procedure, public :: get_subgroup_R

  • 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

procedure, public :: get_subgroup_index

  • 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

procedure, public :: get_subgroup_maingroup

  • 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

procedure, public :: get_subgroups_aij

  • 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

procedure, public :: get_subgroups_bij

  • 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

procedure, public :: get_subgroups_cij

  • 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