calculate_volumetric_heat_capacity Module


Uses

  • module~~calculate_volumetric_heat_capacity~~UsesGraph module~calculate_volumetric_heat_capacity calculate_volumetric_heat_capacity iso_fortran_env iso_fortran_env module~calculate_volumetric_heat_capacity->iso_fortran_env module~calculate_density calculate_density module~calculate_volumetric_heat_capacity->module~calculate_density module~inout_input inout_input module~calculate_volumetric_heat_capacity->module~inout_input module~module_core module_core module~calculate_volumetric_heat_capacity->module~module_core module~calculate_density->iso_fortran_env module~calculate_density->module~module_core module~module_input module_input module~calculate_density->module~module_input module~inout_input->iso_fortran_env module~inout_input->module~module_core json_module json_module module~inout_input->json_module module~inout_project_settings inout_project_settings module~inout_input->module~inout_project_settings stdlib_logger stdlib_logger module~inout_input->stdlib_logger stdlib_strings stdlib_strings module~inout_input->stdlib_strings core_check_nan core_check_nan module~module_core->core_check_nan module~core_allocate core_allocate module~module_core->module~core_allocate module~core_check_range core_check_range module~module_core->module~core_check_range module~core_deallocate core_deallocate module~module_core->module~core_deallocate module~core_error core_error module~module_core->module~core_error module~core_fortran_utils core_fortran_utils module~module_core->module~core_fortran_utils module~core_string_utils core_string_utils module~module_core->module~core_string_utils module~core_types core_types module~module_core->module~core_types module~core_unique core_unique module~module_core->module~core_unique module~core_vtk core_vtk module~module_core->module~core_vtk module~core_vtk_vtk_constants core_vtk_vtk_constants module~module_core->module~core_vtk_vtk_constants module~core_allocate->iso_fortran_env module~core_allocate->module~core_error module~core_check_range->iso_fortran_env module~core_deallocate->iso_fortran_env module~core_deallocate->module~core_error module~core_error->iso_fortran_env module~core_error->stdlib_logger module~core_fortran_utils_memory_stats_wrapper core_fortran_utils_memory_stats_wrapper module~core_fortran_utils->module~core_fortran_utils_memory_stats_wrapper module~core_fortran_utils_signal_flag_wrapper core_fortran_utils_signal_flag_wrapper module~core_fortran_utils->module~core_fortran_utils_signal_flag_wrapper module~core_fortran_utils_system_info_wrapper core_fortran_utils_system_info_wrapper module~core_fortran_utils->module~core_fortran_utils_system_info_wrapper module~core_string_utils->iso_fortran_env module~core_string_utils->module~core_allocate module~core_types_array core_types_array module~core_types->module~core_types_array module~core_types_gauss core_types_gauss module~core_types->module~core_types_gauss module~core_types_pointer core_types_pointer module~core_types->module~core_types_pointer module~core_types_variable core_types_variable module~core_types->module~core_types_variable module~core_types_vector core_types_vector module~core_types->module~core_types_vector module~core_unique->iso_fortran_env module~core_unique->module~core_allocate stdlib_sorting stdlib_sorting module~core_unique->stdlib_sorting module~core_vtk->iso_fortran_env module~core_vtk->module~core_allocate module~core_vtk->module~core_deallocate module~core_vtk->module~core_unique module~core_vtk->module~core_vtk_vtk_constants iso_c_binding iso_c_binding module~core_vtk->iso_c_binding module~core_vtk->module~core_types_array module~core_vtk_vtk_wrapper core_vtk_vtk_wrapper module~core_vtk->module~core_vtk_vtk_wrapper module~core_vtk_vtu_wrapper core_vtk_vtu_wrapper module~core_vtk->module~core_vtk_vtu_wrapper module~core_vtk->stdlib_sorting module~core_vtk_vtk_constants->iso_fortran_env module~inout_project_settings->iso_fortran_env module~inout_project_settings->module~module_core module~module_input->module~inout_input module~core_fortran_utils_memory_stats_wrapper->iso_fortran_env module~core_c_utils core_c_utils module~core_fortran_utils_memory_stats_wrapper->module~core_c_utils module~core_fortran_utils_signal_flag_wrapper->iso_fortran_env module~core_fortran_utils_signal_flag_wrapper->stdlib_logger module~core_fortran_utils_signal_flag_wrapper->iso_c_binding module~core_c_utils_signal_flag core_c_utils_signal_flag module~core_fortran_utils_signal_flag_wrapper->module~core_c_utils_signal_flag module~core_fortran_utils_system_info_wrapper->iso_fortran_env module~core_fortran_utils_system_info_wrapper->stdlib_strings module~core_fortran_utils_system_info_wrapper->iso_c_binding module~core_fortran_utils_system_info_wrapper->module~core_c_utils module~core_types_array->iso_fortran_env module~core_types_array->module~core_allocate module~core_types_array->module~core_deallocate module~core_types_gauss->iso_fortran_env module~core_types_pointer->iso_fortran_env module~core_types_variable->iso_fortran_env module~core_types_variable->module~core_allocate module~core_types_vector->iso_fortran_env module~core_vtk_vtk_wrapper->iso_c_binding module~core_vtk_vtu_wrapper->iso_c_binding module~core_c_utils->iso_c_binding module~core_c_utils->module~core_c_utils_signal_flag module~core_c_utils_memory_stats core_c_utils_memory_stats module~core_c_utils->module~core_c_utils_memory_stats module~core_c_utils_system_info core_c_utils_system_info module~core_c_utils->module~core_c_utils_system_info module~core_c_utils_signal_flag->iso_c_binding module~core_c_utils_memory_stats->iso_c_binding module~core_c_utils_system_info->iso_c_binding

Used by

  • module~~calculate_volumetric_heat_capacity~~UsedByGraph module~calculate_volumetric_heat_capacity calculate_volumetric_heat_capacity module~calc_vhc_3phase calc_vhc_3phase module~calc_vhc_3phase->module~calculate_volumetric_heat_capacity module~calc_vhc_3phase_apparent calc_vhc_3phase_apparent module~calc_vhc_3phase_apparent->module~calculate_volumetric_heat_capacity module~calc_vhc_base Calc_VHC_Base module~calc_vhc_base->module~calculate_volumetric_heat_capacity module~module_calculate module_calculate module~module_calculate->module~calculate_volumetric_heat_capacity module~properties_material_manager properties_material_manager module~properties_material_manager->module~module_calculate module~properties_properties_manager properties_properties_manager module~properties_properties_manager->module~module_calculate module~properties_properties_manager->module~properties_material_manager module~module_properties module_properties module~module_properties->module~properties_material_manager module~module_properties->module~properties_properties_manager module~input_output input_output module~input_output->module~module_properties module~main_ftdss Main_FTDSS module~main_ftdss->module~module_properties module~main_thermal main_thermal module~main_ftdss->module~main_thermal module~module_output module_output module~main_ftdss->module~module_output module~main_thermal->module~module_properties module~input_output_base input_output_base module~input_output_base->module~input_output module~input_output_obaservation input_output_obaservation module~input_output_obaservation->module~input_output module~input_output_overall_base input_output_overall_base module~input_output_overall_base->module~input_output module~input_output_overall_vtk input_output_overall_vtk module~input_output_overall_vtk->module~input_output module~input_output_overall_vtu input_output_overall_vtu module~input_output_overall_vtu->module~input_output module~input_output_system_logger input_output_system_logger module~input_output_system_logger->module~input_output module~main_thermal_3phase Main_Thermal_3Phase module~main_thermal_3phase->module~main_thermal module~module_output->module~input_output module~module_thermal module_thermal module~module_thermal->module~main_thermal

Interfaces

interface

  • private module function calc_vhc_3(VHC_soil, phi_soil, VHC_water, phi_water, VHC_ice, phi_ice) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: VHC_soil
    real(kind=real64), intent(in) :: phi_soil
    real(kind=real64), intent(in) :: VHC_water
    real(kind=real64), intent(in) :: phi_water
    real(kind=real64), intent(in) :: VHC_ice
    real(kind=real64), intent(in) :: phi_ice

    Return Value real(kind=real64)

interface

  • private module function calc_vhc_3a(VHC_soil, phi_soil, VHC_water, phi_water, VHC_ice, phi_ice, Lf, DEN_ice, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: VHC_soil
    real(kind=real64), intent(in) :: phi_soil
    real(kind=real64), intent(in) :: VHC_water
    real(kind=real64), intent(in) :: phi_water
    real(kind=real64), intent(in) :: VHC_ice
    real(kind=real64), intent(in) :: phi_ice
    real(kind=real64), intent(in) :: Lf
    real(kind=real64), intent(in) :: DEN_ice
    real(kind=real64), intent(in) :: dQi_dT

    Return Value real(kind=real64)

interface

  • private module function calc_vhc_gauss_point_3phase_apparent_holder(self, state, DEN, LatentHeat, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    class(type_vhc_3phase_apparent), intent(in) :: self
    type(type_gauss_point_state), intent(in) :: state
    type(holder_dens), intent(in), optional :: DEN
    real(kind=real64), intent(in), optional :: LatentHeat
    real(kind=real64), intent(in), optional :: dQi_dT

    Return Value real(kind=real64)

interface

  • private module function calc_vhc_gauss_point_3phase_apparent_ptr(self, state, DEN, LatentHeat, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    class(type_vhc_3phase_apparent), intent(in) :: self
    type(type_gauss_point_state), intent(in) :: state
    class(abst_den), intent(in), optional, pointer :: DEN
    real(kind=real64), intent(in), optional :: LatentHeat
    real(kind=real64), intent(in), optional :: dQi_dT

    Return Value real(kind=real64)

interface

  • private module function calc_vhc_gauss_point_3phase_holder(self, state, DEN, LatentHeat, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    class(type_vhc_3phase), intent(in) :: self
    type(type_gauss_point_state), intent(in) :: state
    type(holder_dens), intent(in), optional :: DEN
    real(kind=real64), intent(in), optional :: LatentHeat
    real(kind=real64), intent(in), optional :: dQi_dT

    Return Value real(kind=real64)

interface

  • private module function calc_vhc_gauss_point_3phase_ptr(self, state, DEN, LatentHeat, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    class(type_vhc_3phase), intent(in) :: self
    type(type_gauss_point_state), intent(in) :: state
    class(abst_den), intent(in), optional, pointer :: DEN
    real(kind=real64), intent(in), optional :: LatentHeat
    real(kind=real64), intent(in), optional :: dQi_dT

    Return Value real(kind=real64)

interface

  • private module function construct_type_vhc_3phase(input, i_material) result(property)

    Arguments

    Type IntentOptional Attributes Name
    type(type_input), intent(in) :: input
    integer(kind=int32), intent(in) :: i_material

    Return Value class(abst_vhc), allocatable

interface

  • private module function construct_type_vhc_3phase_apparent(input, i_material) result(property)

    Arguments

    Type IntentOptional Attributes Name
    type(type_input), intent(in) :: input
    integer(kind=int32), intent(in) :: i_material

    Return Value class(abst_vhc), allocatable

interface

  • private module subroutine initialize_holder_vhcs(self, input, i_material)

    Arguments

    Type IntentOptional Attributes Name
    class(holder_vhcs), intent(inout) :: self
    type(type_input), intent(in) :: input
    integer(kind=int32), intent(in) :: i_material

public interface type_vhc_3phase

public interface type_vhc_3phase_apparent


Abstract Interfaces

abstract interface

  • private function abst_calc_vhc_gauss_point_holder(self, state, DEN, LatentHeat, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_vhc), intent(in) :: self
    type(type_gauss_point_state), intent(in) :: state
    type(holder_dens), intent(in), optional :: DEN
    real(kind=real64), intent(in), optional :: LatentHeat
    real(kind=real64), intent(in), optional :: dQi_dT

    Return Value real(kind=real64)

abstract interface

  • private function abst_calc_vhc_gauss_point_ptr(self, state, DEN, LatentHeat, dQi_dT) result(VHC)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_vhc), intent(in) :: self
    type(type_gauss_point_state), intent(in) :: state
    class(abst_den), intent(in), optional, pointer :: DEN
    real(kind=real64), intent(in), optional :: LatentHeat
    real(kind=real64), intent(in), optional :: dQi_dT

    Return Value real(kind=real64)


Derived Types

type, public, abstract ::  abst_vhc

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: material1

soil, rock, concrete

real(kind=real64), public :: material2

water

real(kind=real64), public :: material3

ice

real(kind=real64), public :: material4

gas

integer(kind=int32), public :: material_id

Type-Bound Procedures

procedure(abst_calc_vhc_gauss_point_holder), public, deferred, pass(self) :: calc_gauss_point_holder
procedure(abst_calc_vhc_gauss_point_ptr), public, deferred, pass(self) :: calc_gauss_point_ptr

type, public ::  holder_vhcs

Components

Type Visibility Attributes Name Initial
class(abst_vhc), public, allocatable :: p

Type-Bound Procedures

procedure, public, pass(self) :: initialize => initialize_holder_vhcs

type, public, extends(abst_vhc) ::  type_vhc_3phase

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: material1

soil, rock, concrete

real(kind=real64), public :: material2

water

real(kind=real64), public :: material3

ice

real(kind=real64), public :: material4

gas

integer(kind=int32), public :: material_id

Constructor

private interface construct_type_vhc_3phase ()

Type-Bound Procedures

procedure, public :: calc_gauss_point_holder => calc_vhc_gauss_point_3phase_holder
procedure, public :: calc_gauss_point_ptr => calc_vhc_gauss_point_3phase_ptr

type, public, extends(abst_vhc) ::  type_vhc_3phase_apparent

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: material1

soil, rock, concrete

real(kind=real64), public :: material2

water

real(kind=real64), public :: material3

ice

real(kind=real64), public :: material4

gas

integer(kind=int32), public :: material_id

Constructor

private interface construct_type_vhc_3phase_apparent ()

Type-Bound Procedures

procedure, public :: calc_gauss_point_holder => calc_vhc_gauss_point_3phase_apparent_holder
procedure, public :: calc_gauss_point_ptr => calc_vhc_gauss_point_3phase_apparent_ptr