ICFERST
22-06
Reservoir simulator based on DCVFEM, Dynamic Mesh optimisation and Surface-based modelling
|
All the subroutines required to handle the connection with PHREEQCRM. More...
Functions/Subroutines | |
subroutine | init_phreeqc (Mdims, packed_state, id, concetration_phreeqc, after_adapt) |
This subroutine is used to initialise all the necessary parameters that PHREEQCRM requires. Reaction types, concentration units, number of components to transport... More... | |
subroutine | run_phreeqc (Mdims, packed_state, id, concetration_phreeqc) |
Call PHREEQCRM and compute the reactions of the fields defined associated with the input ID. More... | |
subroutine | deallocate_phreeqc (id) |
character(len=option_path_len) function | get_packed_species_name (PHREEQC_name, old_field) |
: Finds the field name in diamond given a name in PHREEQC. Fields have the convention of being named in ICFERST as SPECIES_component, for example Species_O for oxygen. More... | |
All the subroutines required to handle the connection with PHREEQCRM.
subroutine multi_phreeqc::deallocate_phreeqc | ( | integer, intent(in) | id | ) |
character (len = option_path_len) function multi_phreeqc::get_packed_species_name | ( | character(len = *), intent(in) | PHREEQC_name, |
logical, intent(in) | old_field | ||
) |
: Finds the field name in diamond given a name in PHREEQC. Fields have the convention of being named in ICFERST as SPECIES_component, for example Species_O for oxygen.
subroutine multi_phreeqc::init_phreeqc | ( | type(multi_dimensions), intent(in) | Mdims, |
type( state_type ), intent(inout) | packed_state, | ||
integer, intent(out) | id, | ||
real, dimension(:,:), intent(out), allocatable | concetration_phreeqc, | ||
logical, intent(in) | after_adapt | ||
) |
This subroutine is used to initialise all the necessary parameters that PHREEQCRM requires. Reaction types, concentration units, number of components to transport...
Mdims | Data type storing all the dimensions describing the mesh, fields, nodes, etc |
packed_state | Linked list containing all the fields used by IC-FERST, memory partially shared with state |
id. | ID associated with the settings specified here so PHREEQCRM can now it is doing the same thing |
concetration_phreeqc | OUT. Memory to be used to communicate with PHREEQC |
after_adapt. | True after adapting the mesh to redo this |
subroutine multi_phreeqc::run_phreeqc | ( | type(multi_dimensions), intent(in) | Mdims, |
type( state_type ), intent(inout) | packed_state, | ||
integer, intent(inout) | id, | ||
real, dimension(:,:), intent(inout) | concetration_phreeqc | ||
) |
Call PHREEQCRM and compute the reactions of the fields defined associated with the input ID.
Mdims | Data type storing all the dimensions describing the mesh, fields, nodes, etc |
packed_state | Linked list containing all the fields used by IC-FERST, memory partially shared with state |
id. | ID associated with the settings specified here so PHREEQCRM can now it is doing the same thing |
concetration_phreeqc | INOUT. Memory to be used to communicate with PHREEQC |