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)



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