| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(type_material_manager), | public | :: | materials |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state | |||
| real(kind=real64), | intent(inout) | :: | kflh |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) | |||
| real(kind=real64), | intent(inout) | :: | kflhs(size(states)) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) | |||
| real(kind=real64), | intent(inout) | :: | kflhs(size(states)) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) | |||
| real(kind=real64), | intent(inout) | :: | kflhs(size(states)) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_state), | intent(inout) | :: | state | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| real(kind=real64), | intent(inout) | :: | kflh |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state | |||
| real(kind=real64), | intent(inout) | :: | kflh |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state | |||
| real(kind=real64), | intent(inout) | :: | thc | |||
| real(kind=real64), | intent(inout) | :: | vhc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) | |||
| real(kind=real64), | intent(inout) | :: | thcs(size(states)) | |||
| real(kind=real64), | intent(inout) | :: | vhcs(size(states)) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) | |||
| real(kind=real64), | intent(inout) | :: | thcs(size(states)) | |||
| real(kind=real64), | intent(inout) | :: | vhcs(size(states)) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) | |||
| real(kind=real64), | intent(inout) | :: | thcs(size(states)) | |||
| real(kind=real64), | intent(inout) | :: | vhcs(size(states)) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_state), | intent(inout) | :: | state | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| real(kind=real64), | intent(inout) | :: | thc | |||
| real(kind=real64), | intent(inout) | :: | vhc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state | |||
| real(kind=real64), | intent(inout) | :: | thc | |||
| real(kind=real64), | intent(inout) | :: | vhc |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(type_material_pointers), | intent(in) | :: | ptrs | |||
| type(type_state), | intent(inout) | :: | states(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | material_id |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(in) | :: | self | |||
| integer(kind=int32), | intent(in) | :: | target_id | |||
| integer(kind=int32), | intent(in) | :: | material_id | |||
| type(type_material_pointers), | intent(inout) | :: | ptrs |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(type_properties_manager), | intent(inout) | :: | self | |||
| type(type_input), | intent(in) | :: | input | |||
| integer(kind=int32), | intent(inout) | :: | ierr |
type :: type_properties_manager type(type_material_manager) :: materials contains procedure, public :: initialize => initialize_properties_manager ! --- Public Generic Interfaces (API remains unchanged) --- generic, public :: calc_thc => calculate_thc_scalar, calculate_thc_array generic, public :: calc_vhc => calculate_vhc_scalar, calculate_vhc_array generic, public :: calc_qw => calculate_qw_scalar, calculate_qw_array generic, public :: calc_water_content => calculate_water_content, calculate_water_content_array generic, public :: calc_dQw_dT => calculate_dQw_dT, calculate_dQw_dT_array generic, public :: calc_thermal => calc_thermal_properties_scalar, calc_thermal_properties_array generic, public :: calc_hcf => calculate_hcf_scalar, calculate_hcf_array generic, public :: calc_hydraulic => calc_hydraulic_properties_scalar, calc_hydraulic_properties_array ! --- Wrapper Procedures (Public facing) --- procedure, private, pass(self) :: calculate_thc_scalar procedure, private, pass(self) :: calculate_thc_array procedure, private, pass(self) :: calculate_vhc_scalar procedure, private, pass(self) :: calculate_vhc_array procedure, private, pass(self) :: calculate_qw_scalar procedure, private, pass(self) :: calculate_qw_array procedure, private, pass(self) :: calc_thermal_properties_scalar procedure, private, pass(self) :: calc_thermal_properties_array procedure, private, pass(self) :: calculate_hcf_scalar procedure, private, pass(self) :: calculate_hcf_array procedure, private, pass(self) :: calc_hydraulic_properties_scalar procedure, private, pass(self) :: calc_hydraulic_properties_array ! --- Implementation Procedures (Private, do the actual work) --- procedure, private, pass(self) :: calculate_thc_impl_scalar procedure, private, pass(self) :: calculate_thc_impl_array procedure, private, pass(self) :: calculate_vhc_impl_scalar procedure, private, pass(self) :: calculate_vhc_impl_array procedure, private, pass(self) :: calc_thermal_properties_impl_scalar procedure, private, pass(self) :: calc_thermal_properties_impl_array procedure, private, pass(self) :: calculate_hcf_impl_scalar procedure, private, pass(self) :: calculate_hcf_impl_array procedure, private, pass(self) :: calc_hydraulic_properties_impl_scalar procedure, private, pass(self) :: calc_hydraulic_properties_impl_array procedure, private, nopass :: calculate_water_content procedure, private, nopass :: calculate_water_content_array procedure, private, nopass :: calculate_dQw_dT procedure, private, nopass :: calculate_dQw_dT_array procedure, public, pass(self) :: get_phase_dens procedure, public, pass(self) :: get_phase_vhcs procedure, public, pass(self) :: get_phase_thcs procedure, public, pass(self) :: get_phase_sphs procedure, private, pass(self) :: get_pointers_for_region end type type_properties_manager