conditions_boundary Module


Uses

  • module~~conditions_boundary~~UsesGraph module~conditions_boundary conditions_boundary iso_fortran_env iso_fortran_env module~conditions_boundary->iso_fortran_env module~module_core module_core module~conditions_boundary->module~module_core module~module_domain module_domain module~conditions_boundary->module~module_domain module~module_input module_input module~conditions_boundary->module~module_input module~module_matrix module_matrix module~conditions_boundary->module~module_matrix stdlib_logger stdlib_logger module~conditions_boundary->stdlib_logger stdlib_strings stdlib_strings module~conditions_boundary->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~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~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->stdlib_logger 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_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 module~inout_input->stdlib_logger module~inout_input->stdlib_strings json_module json_module module~inout_input->json_module module~inout_project_settings inout_project_settings module~inout_input->module~inout_project_settings 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~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~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 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~~conditions_boundary~~UsedByGraph module~conditions_boundary conditions_boundary module~conditions_boundary_adiabatic conditions_boundary_adiabatic module~conditions_boundary_adiabatic->module~conditions_boundary module~conditions_boundary_base conditions_boundary_base module~conditions_boundary_base->module~conditions_boundary module~conditions_boundary_dirichlet conditions_boundary_dirichlet module~conditions_boundary_dirichlet->module~conditions_boundary module~conditions_boundary_manager conditions_boundary_manager module~conditions_boundary_manager->module~conditions_boundary module~module_boundary module_boundary module~module_boundary->module~conditions_boundary module~module_boundary->module~conditions_boundary_manager module~conditions_initial conditions_initial module~conditions_initial->module~module_boundary module~main_ftdss Main_FTDSS module~main_ftdss->module~module_boundary module~main_thermal main_thermal module~main_ftdss->module~main_thermal module~module_initial module_initial module~main_ftdss->module~module_initial module~main_thermal->module~module_boundary module~conditions_initial_laplace conditions_initial_laplace module~conditions_initial_laplace->module~conditions_initial module~conditions_initial_manager conditions_initial_manager module~conditions_initial_manager->module~conditions_initial module~conditions_initial_uniform conditions_initial_uniform module~conditions_initial_uniform->module~conditions_initial module~main_thermal_3phase Main_Thermal_3Phase module~main_thermal_3phase->module~main_thermal module~module_initial->module~conditions_initial module~module_initial->module~conditions_initial_manager module~module_thermal module_thermal module~module_thermal->module~main_thermal

Interfaces

interface

  • private module subroutine apply_crs_thermal_adiabatic(self, current_time, A, b, domain, mode)

    Arguments

    Type IntentOptional Attributes Name
    class(type_bc_thermal_adiabatic), intent(in) :: self
    real(kind=real64), intent(in) :: current_time
    type(type_crs), intent(inout), optional :: A
    real(kind=real64), intent(inout) :: b(:)
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in), optional :: mode

interface

  • private module subroutine apply_crs_thermal_dirichlet(self, current_time, A, b, domain, mode)

    Arguments

    Type IntentOptional Attributes Name
    class(type_bc_thermal_dirichlet), intent(in) :: self
    real(kind=real64), intent(in) :: current_time
    type(type_crs), intent(inout), optional :: A
    real(kind=real64), intent(inout) :: b(:)
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in), optional :: mode

interface

  • private module subroutine apply_dense_thermal_adiabatic(self, current_time, A, b, domain, mode)

    Arguments

    Type IntentOptional Attributes Name
    class(type_bc_thermal_adiabatic), intent(in) :: self
    real(kind=real64), intent(in) :: current_time
    real(kind=real64), intent(inout), optional :: A(:,:)
    real(kind=real64), intent(inout) :: b(:)
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in), optional :: mode

interface

  • private module subroutine apply_dense_thermal_dirichlet(self, current_time, A, b, domain, mode)

    Arguments

    Type IntentOptional Attributes Name
    class(type_bc_thermal_dirichlet), intent(in) :: self
    real(kind=real64), intent(in) :: current_time
    real(kind=real64), intent(inout), optional :: A(:,:)
    real(kind=real64), intent(inout) :: b(:)
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in), optional :: mode

interface

  • private module subroutine calculate_time_coefficient(Time, arr_time, time_coefficient, idx)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: Time
    real(kind=real64), intent(in) :: arr_time(:)
    real(kind=real64), intent(inout) :: time_coefficient
    integer(kind=int32), intent(inout) :: idx

interface

  • private module subroutine find_target_edges_by_group(domain, i_material, target_edges)

    Arguments

    Type IntentOptional Attributes Name
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in) :: i_material
    integer(kind=int32), intent(inout), allocatable :: target_edges(:,:)

interface

  • private module subroutine initialize_type_bc_thermal_adiabatic(self, input, domain, id, i_material, time_conv)

    Arguments

    Type IntentOptional Attributes Name
    class(type_bc_thermal_adiabatic), intent(inout) :: self
    type(type_input), intent(in) :: input
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in) :: id
    integer(kind=int32), intent(in) :: i_material
    real(kind=real64), intent(in) :: time_conv

interface

  • private module subroutine initialize_type_bc_thermal_dirichlet(self, input, domain, id, i_material, time_conv)

    Arguments

    Type IntentOptional Attributes Name
    class(type_bc_thermal_dirichlet), intent(inout) :: self
    type(type_input), intent(in) :: input
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in) :: id
    integer(kind=int32), intent(in) :: i_material
    real(kind=real64), intent(in) :: time_conv

Abstract Interfaces

abstract interface

  • private subroutine abst_apply_bc_dence(self, current_time, A, b, domain, mode)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_bc_thermal), intent(in) :: self
    real(kind=real64), intent(in) :: current_time
    real(kind=real64), intent(inout), optional :: A(:,:)
    real(kind=real64), intent(inout) :: b(:)
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in), optional :: mode

abstract interface

  • private subroutine abst_apply_bc_sparse_crs(self, current_time, A, b, domain, mode)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_bc_thermal), intent(in) :: self
    real(kind=real64), intent(in) :: current_time
    type(type_crs), intent(inout), optional :: A
    real(kind=real64), intent(inout) :: b(:)
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in), optional :: mode

abstract interface

  • private subroutine abst_initialize_bc(self, input, domain, id, i_material, time_conv)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_bc_thermal), intent(inout) :: self
    type(type_input), intent(in) :: input
    type(type_domain), intent(in) :: domain
    integer(kind=int32), intent(in) :: id
    integer(kind=int32), intent(in) :: i_material
    real(kind=real64), intent(in) :: time_conv

Derived Types

type, public, abstract ::  abst_bc_thermal

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: boundary_name
integer(kind=int32), public :: material_id
integer(kind=int32), private :: num_target_edges
integer(kind=int32), private, allocatable :: target_edges(:,:)
real(kind=real64), private, allocatable :: time_points(:)
real(kind=real64), private, allocatable :: values(:)

Type-Bound Procedures

procedure(abst_apply_bc_sparse_crs), public, deferred, pass(self) :: apply_crs
procedure(abst_apply_bc_dence), public, deferred, pass(self) :: apply_dense
procedure(abst_initialize_bc), public, deferred, pass(self) :: initialize

type, public, extends(abst_bc_thermal) ::  type_bc_thermal_adiabatic

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: boundary_name
integer(kind=int32), public :: material_id

Type-Bound Procedures

procedure, public, pass(self) :: apply_crs => apply_crs_thermal_adiabatic
procedure, public, pass(self) :: apply_dense => apply_dense_thermal_adiabatic
procedure, public, pass(self) :: initialize => initialize_type_bc_thermal_adiabatic

type, public, extends(abst_bc_thermal) ::  type_bc_thermal_dirichlet

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: boundary_name
logical, private :: is_uniform
integer(kind=int32), public :: material_id

Type-Bound Procedures

procedure, public, pass(self) :: apply_crs => apply_crs_thermal_dirichlet
procedure, public, pass(self) :: apply_dense => apply_dense_thermal_dirichlet
procedure, public, pass(self) :: initialize => initialize_type_bc_thermal_dirichlet