main_thermal Module


Uses

  • module~~main_thermal~~UsesGraph module~main_thermal main_thermal iso_fortran_env iso_fortran_env module~main_thermal->iso_fortran_env module~module_boundary module_boundary module~main_thermal->module~module_boundary module~module_control module_control module~main_thermal->module~module_control module~module_core module_core module~main_thermal->module~module_core module~module_domain module_domain module~main_thermal->module~module_domain module~module_input module_input module~main_thermal->module~module_input module~module_matrix module_matrix module~main_thermal->module~module_matrix module~module_properties module_properties module~main_thermal->module~module_properties module~module_solver module_solver module~main_thermal->module~module_solver thermal_thermal_assemble thermal_thermal_assemble module~main_thermal->thermal_thermal_assemble module~conditions_boundary conditions_boundary module~module_boundary->module~conditions_boundary module~conditions_boundary_manager conditions_boundary_manager module~module_boundary->module~conditions_boundary_manager module~control_iteration control_iteration module~module_control->module~control_iteration module~control_time control_time module~module_control->module~control_time 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~domain_adjacency domain_adjacency module~module_domain->module~domain_adjacency module~domain_element domain_element module~module_domain->module~domain_element module~domain_element_factory domain_element_factory module~module_domain->module~domain_element_factory module~domain_manager domain_manager module~module_domain->module~domain_manager module~domain_multicoloring domain_multicoloring module~module_domain->module~domain_multicoloring module~domain_reordering domain_reordering module~module_domain->module~domain_reordering module~domain_side domain_side module~module_domain->module~domain_side module~domain_side_factory domain_side_factory module~module_domain->module~domain_side_factory module~inout_input inout_input module~module_input->module~inout_input module~matrix_base matrix_base module~module_matrix->module~matrix_base module~matrix_coo matrix_coo module~module_matrix->module~matrix_coo module~matrix_crs matrix_crs module~module_matrix->module~matrix_crs module~matrix_dense matrix_dense module~module_matrix->module~matrix_dense module~properties_material_manager properties_material_manager module~module_properties->module~properties_material_manager module~properties_properties_manager properties_properties_manager module~module_properties->module~properties_properties_manager module~solver_solver_factory solver_solver_factory module~module_solver->module~solver_solver_factory solver_solve solver_solve module~module_solver->solver_solve module~conditions_boundary->iso_fortran_env module~conditions_boundary->module~module_core module~conditions_boundary->module~module_domain module~conditions_boundary->module~module_input module~conditions_boundary->module~module_matrix stdlib_logger stdlib_logger module~conditions_boundary->stdlib_logger stdlib_strings stdlib_strings module~conditions_boundary->stdlib_strings module~conditions_boundary_manager->iso_fortran_env module~conditions_boundary_manager->module~module_core module~conditions_boundary_manager->module~module_domain module~conditions_boundary_manager->module~module_input module~conditions_boundary_manager->module~module_matrix module~conditions_boundary_manager->module~conditions_boundary module~control_iteration->iso_fortran_env module~control_time->iso_fortran_env module~control_time->module~module_core module~control_time->module~module_input 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~domain_adjacency_adjacency_element domain_adjacency_adjacency_element module~domain_adjacency->module~domain_adjacency_adjacency_element module~domain_adjacency_adjacency_node domain_adjacency_adjacency_node module~domain_adjacency->module~domain_adjacency_adjacency_node module~domain_element->iso_fortran_env module~domain_element->module~module_core module~domain_element->module~module_input module~domain_element->stdlib_logger module~domain_element_factory->iso_fortran_env module~domain_element_factory->module~module_core module~domain_element_factory->module~module_input module~domain_element_factory->module~domain_element module~domain_manager->iso_fortran_env module~domain_manager->module~module_core module~domain_manager->module~module_input module~domain_manager->module~domain_adjacency module~domain_manager->module~domain_element module~domain_manager->module~domain_element_factory module~domain_manager->module~domain_multicoloring module~domain_manager->module~domain_reordering module~domain_manager->module~domain_side module~domain_manager->module~domain_side_factory module~domain_manager->stdlib_logger module~domain_multicoloring->iso_fortran_env module~domain_multicoloring->module~module_core module~domain_multicoloring->module~domain_adjacency_adjacency_element module~domain_multicoloring->stdlib_sorting module~domain_reordering->iso_fortran_env module~domain_reordering->module~module_core module~domain_reordering->module~domain_element module~domain_reordering->module~domain_adjacency_adjacency_node module~domain_reordering->stdlib_sorting module~domain_side->iso_fortran_env module~domain_side->module~module_core module~domain_side->module~module_input module~domain_side->stdlib_logger module~domain_side_factory->iso_fortran_env module~domain_side_factory->module~module_core module~domain_side_factory->module~module_input module~domain_side_factory->module~domain_side 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 module~inout_input->stdlib_logger module~inout_input->stdlib_strings module~matrix_base->iso_fortran_env module~matrix_base->module~module_domain module~matrix_coo->iso_fortran_env module~matrix_coo->module~module_core module~matrix_coo->module~module_domain module~matrix_coo->module~matrix_base module~matrix_crs->iso_fortran_env module~matrix_crs->module~module_core module~matrix_crs->module~module_domain module~matrix_crs->module~matrix_base module~matrix_crs->module~matrix_coo module~matrix_crs->stdlib_sorting module~matrix_dense->iso_fortran_env module~matrix_dense->module~module_core module~matrix_dense->module~module_domain module~matrix_dense->module~matrix_base module~properties_material_manager->iso_fortran_env module~properties_material_manager->module~module_input module~module_calculate module_calculate module~properties_material_manager->module~module_calculate module~properties_properties_manager->iso_fortran_env module~properties_properties_manager->module~module_core module~properties_properties_manager->module~module_input module~properties_properties_manager->module~properties_material_manager module~properties_properties_manager->module~module_calculate module~solver_solver_factory->module~module_input module~solver_solver_factory->module~module_matrix module~solver_solver_factory->solver_solve 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->iso_c_binding module~core_fortran_utils_signal_flag_wrapper->stdlib_logger 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->iso_c_binding module~core_fortran_utils_system_info_wrapper->stdlib_strings 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~domain_adjacency_adjacency_element->iso_fortran_env module~domain_adjacency_adjacency_element->module~module_core module~domain_adjacency_adjacency_element->module~domain_element module~domain_adjacency_adjacency_node->iso_fortran_env module~domain_adjacency_adjacency_node->module~module_core module~domain_adjacency_adjacency_node->stdlib_sorting module~inout_project_settings->iso_fortran_env module~inout_project_settings->module~module_core calculate_blas calculate_blas module~module_calculate->calculate_blas calculate_wrf calculate_wrf module~module_calculate->calculate_wrf module~calculate_density calculate_density module~module_calculate->module~calculate_density module~calculate_gcc calculate_gcc module~module_calculate->module~calculate_gcc module~calculate_specific_heat calculate_specific_heat module~module_calculate->module~calculate_specific_heat module~calculate_thermal_conductivity calculate_thermal_conductivity module~module_calculate->module~calculate_thermal_conductivity module~calculate_volumetric_heat_capacity calculate_volumetric_heat_capacity module~module_calculate->module~calculate_volumetric_heat_capacity module~calculate_density->iso_fortran_env module~calculate_density->module~module_core module~calculate_density->module~module_input module~calculate_gcc->iso_fortran_env module~calculate_gcc->module~module_input module~calculate_specific_heat->iso_fortran_env module~calculate_specific_heat->module~module_core module~calculate_specific_heat->module~module_input module~calculate_thermal_conductivity->iso_fortran_env module~calculate_thermal_conductivity->module~module_core module~calculate_thermal_conductivity->module~module_input module~calculate_volumetric_heat_capacity->iso_fortran_env module~calculate_volumetric_heat_capacity->module~module_core module~calculate_volumetric_heat_capacity->module~inout_input module~calculate_volumetric_heat_capacity->module~calculate_density 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~~main_thermal~~UsedByGraph module~main_thermal main_thermal module~main_ftdss Main_FTDSS module~main_ftdss->module~main_thermal module~main_thermal_3phase Main_Thermal_3Phase module~main_thermal_3phase->module~main_thermal module~module_thermal module_thermal module~module_thermal->module~main_thermal

Interfaces

interface

  • private module subroutine assemble_type_thermal_3phase_2d(self, domain, Property, Porosity, dt, step, iter)

    Arguments

    Type IntentOptional Attributes Name
    class(type_thermal_3phase_2d), intent(inout) :: self
    type(type_domain), intent(inout) :: domain
    type(type_proereties_manager), intent(inout) :: Property
    real(kind=real64), intent(in) :: Porosity(:)
    real(kind=real64), intent(in) :: dt
    integer(kind=int32), intent(in) :: step
    integer(kind=int32), intent(in) :: iter

interface

  • private module function construct_type_thermal_3phase_2d(Input, coordinate, domain) result(structure)

    Arguments

    Type IntentOptional Attributes Name
    type(type_input), intent(inout) :: Input
    type(type_dp_3d), intent(inout), pointer :: coordinate
    type(type_domain), intent(inout) :: domain

    Return Value class(abst_thermal), allocatable

public interface type_thermal_3phase_2d


Abstract Interfaces

abstract interface

  • private subroutine abst_assemble(self, domain, Property, Porosity, dt, step, iter)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_thermal), intent(inout) :: self
    type(type_domain), intent(inout) :: domain
    type(type_proereties_manager), intent(inout) :: Property
    real(kind=real64), intent(in) :: Porosity(:)
    real(kind=real64), intent(in) :: dt
    integer(kind=int32), intent(in) :: step
    integer(kind=int32), intent(in) :: iter

Derived Types

type, public, abstract ::  abst_thermal

Components

Type Visibility Attributes Name Initial
type(type_crs), public :: CT_l
type(type_crs), public, allocatable :: CT_old(:)
type(type_variable), public :: D_Qice
real(kind=real64), public, allocatable :: FT(:)
real(kind=real64), public, allocatable :: FT_old(:)
type(type_crs), public :: KT_l
type(type_crs), public :: KT_old
type(type_crs), public :: KT_star_0
real(kind=real64), public, allocatable :: PHIT(:)
real(kind=real64), public, allocatable :: PHIT_old(:)

Solver

type(type_variable), public :: Qice
type(type_variable), public :: Qw
type(type_variable), public :: Si
type(type_variable), public :: T
integer(kind=int32), public :: order
class(abst_solver), public, allocatable :: solver

Type-Bound Procedures

procedure(abst_assemble), public, deferred, pass(self) :: assemble

type, public, extends(abst_thermal) ::  type_thermal_3phase_2d

Components

Type Visibility Attributes Name Initial
type(type_crs), public :: CT_l
type(type_crs), public, allocatable :: CT_old(:)
type(type_variable), public :: D_Qice
real(kind=real64), public, allocatable :: FT(:)
real(kind=real64), public, allocatable :: FT_old(:)
type(type_crs), public :: KT_l
type(type_crs), public :: KT_old
type(type_crs), public :: KT_star_0
real(kind=real64), public, allocatable :: PHIT(:)
real(kind=real64), public, allocatable :: PHIT_old(:)

Solver

type(type_variable), public :: Qice
type(type_variable), public :: Qw
type(type_variable), public :: Si
type(type_variable), public :: T
integer(kind=int32), public :: order
class(abst_solver), public, allocatable :: solver

Constructor

private interface construct_type_thermal_3phase_2d ()

Type-Bound Procedures

procedure, public :: assemble => assemble_type_thermal_3phase_2d