core_types_matrix Module


Uses

  • module~~core_types_matrix~~UsesGraph module~core_types_matrix core_types_matrix iso_fortran_env iso_fortran_env module~core_types_matrix->iso_fortran_env

Used by

  • module~~core_types_matrix~~UsedByGraph module~core_types_matrix core_types_matrix module~core_types_matrix_coo core_types_matrix_coo module~core_types_matrix_coo->module~core_types_matrix module~core_types_matrix_crs core_types_matrix_crs module~core_types_matrix_crs->module~core_types_matrix module~core_types_matrix_dense core_types_matrix_dense module~core_types_matrix_dense->module~core_types_matrix module~module_type_matrix module_type_matrix module~module_type_matrix->module~core_types_matrix module~module_type_matrix->module~core_types_matrix_coo module~module_type_matrix->module~core_types_matrix_crs module~module_type_matrix->module~core_types_matrix_dense module~core_types core_types module~core_types->module~module_type_matrix module~core_vtk core_vtk module~core_vtk->module~core_types module~module_core module_core module~module_core->module~core_types module~module_core->module~core_vtk module~calculate_density calculate_density module~calculate_density->module~module_core module~module_input module_input module~calculate_density->module~module_input module~calculate_gcc calculate_gcc module~calculate_gcc->module~module_core module~calculate_gcc->module~module_input module~calculate_hcf calculate_hcf module~calculate_hcf->module~module_core module~calculate_hcf->module~module_input module~calculate_linalg_matrix_ops calculate_linalg_matrix_ops module~calculate_linalg_matrix_ops->module~module_core module~calculate_linalg_matvec calculate_linalg_matvec module~calculate_linalg_matvec->module~module_core module~calculate_specific_heat calculate_specific_heat module~calculate_specific_heat->module~module_core module~calculate_specific_heat->module~module_input module~calculate_thermal_conductivity calculate_thermal_conductivity module~calculate_thermal_conductivity->module~module_core module~calculate_thermal_conductivity->module~module_input module~calculate_volumetric_heat_capacity calculate_volumetric_heat_capacity module~calculate_volumetric_heat_capacity->module~module_core module~calculate_volumetric_heat_capacity->module~calculate_density module~inout_input inout_input module~calculate_volumetric_heat_capacity->module~inout_input module~conditions_boundary conditions_boundary module~conditions_boundary->module~module_core module~module_domain module_domain module~conditions_boundary->module~module_domain module~conditions_boundary->module~module_input module~conditions_boundary_manager conditions_boundary_manager module~conditions_boundary_manager->module~module_core module~conditions_boundary_manager->module~conditions_boundary module~conditions_boundary_manager->module~module_domain module~conditions_boundary_manager->module~module_input module~conditions_initial conditions_initial module~conditions_initial->module~module_core module~module_boundary module_boundary module~conditions_initial->module~module_boundary module~conditions_initial->module~module_domain module~conditions_initial->module~module_input module~conditions_initial_manager conditions_initial_manager module~conditions_initial_manager->module~module_core module~conditions_initial_manager->module~conditions_initial module~conditions_initial_manager->module~module_domain module~conditions_initial_manager->module~module_input module~control_time control_time module~control_time->module~module_core module~control_time->module~module_input module~domain_adjacency_adjacency_element domain_adjacency_adjacency_element module~domain_adjacency_adjacency_element->module~module_core module~module_mesh module_mesh module~domain_adjacency_adjacency_element->module~module_mesh module~domain_adjacency_adjacency_node domain_adjacency_adjacency_node module~domain_adjacency_adjacency_node->module~module_core module~domain_adjacency_adjacency_node->module~module_mesh module~domain_manager domain_manager module~domain_manager->module~module_core module~domain_multicoloring domain_multicoloring module~domain_manager->module~domain_multicoloring module~domain_reordering domain_reordering module~domain_manager->module~domain_reordering module~domain_adjacency domain_adjacency module~domain_manager->module~domain_adjacency module~domain_manager->module~module_input module~domain_manager->module~module_mesh module~domain_mesh domain_mesh module~domain_mesh->module~module_core module~domain_mesh_element domain_mesh_element module~domain_mesh_element->module~module_core module~domain_mesh_element->module~domain_mesh module~domain_mesh_element->module~module_input module~domain_mesh_element_factory domain_mesh_element_factory module~domain_mesh_element_factory->module~module_core module~domain_mesh_element_factory->module~domain_mesh_element module~domain_mesh_element_factory->module~module_input module~domain_mesh_side domain_mesh_side module~domain_mesh_side->module~module_core module~domain_mesh_side->module~domain_mesh module~domain_mesh_side->module~module_input module~domain_mesh_side_factory domain_mesh_side_factory module~domain_mesh_side_factory->module~module_core module~domain_mesh_side_factory->module~domain_mesh_side module~domain_mesh_side_factory->module~module_input module~domain_multicoloring->module~module_core module~domain_multicoloring->module~domain_adjacency_adjacency_element module~domain_reordering->module~module_core module~domain_reordering->module~domain_adjacency_adjacency_node module~domain_reordering->module~module_mesh module~hydraulic_hydraulic_assemble hydraulic_hydraulic_assemble module~hydraulic_hydraulic_assemble->module~module_core module~module_control module_control module~hydraulic_hydraulic_assemble->module~module_control module~module_calculate module_calculate module~hydraulic_hydraulic_assemble->module~module_calculate module~hydraulic_hydraulic_assemble->module~module_domain module~module_properties module_properties module~hydraulic_hydraulic_assemble->module~module_properties module~inout_input->module~module_core module~inout_project_settings inout_project_settings module~inout_input->module~inout_project_settings module~inout_project_settings->module~module_core module~input_output input_output module~input_output->module~module_core module~input_output->module~inout_project_settings module~input_output->module~module_control module~input_output->module~module_domain module~input_output->module~module_input module~input_output->module~module_properties module~main_ftdss Main_FTDSS module~main_ftdss->module~module_core module~main_ftdss->module~module_control module~main_ftdss->module~module_boundary module~main_ftdss->module~module_domain module~module_hydraulic module_hydraulic module~main_ftdss->module~module_hydraulic module~module_initial module_initial module~main_ftdss->module~module_initial module~main_ftdss->module~module_input module~module_output module_output module~main_ftdss->module~module_output module~main_ftdss->module~module_properties module~module_thermal module_thermal module~main_ftdss->module~module_thermal module~main_hydraulic main_hydraulic module~main_hydraulic->module~module_core module~main_hydraulic->module~hydraulic_hydraulic_assemble module~main_hydraulic->module~module_control module~main_hydraulic->module~module_boundary module~main_hydraulic->module~module_calculate module~main_hydraulic->module~module_domain module~main_hydraulic->module~module_input module~main_hydraulic->module~module_properties module~module_solver module_solver module~main_hydraulic->module~module_solver module~main_thermal main_thermal module~main_thermal->module~module_core module~main_thermal->module~module_control module~main_thermal->module~module_boundary module~main_thermal->module~module_calculate module~main_thermal->module~module_domain module~main_thermal->module~module_input module~main_thermal->module~module_properties module~main_thermal->module~module_solver module~module_control->module~module_core module~module_control->module~control_time module~module_control->module~module_input module~control_iteration control_iteration module~module_control->module~control_iteration module~control_openmp control_openmp module~module_control->module~control_openmp module~properties_properties_manager properties_properties_manager module~properties_properties_manager->module~module_core module~properties_properties_manager->module~module_control module~properties_properties_manager->module~module_calculate module~properties_properties_manager->module~module_input module~properties_material_manager properties_material_manager module~properties_properties_manager->module~properties_material_manager module~solver_solver_factory solver_solver_factory module~solver_solver_factory->module~module_core module~solver_solver_factory->module~module_input module~calc_den_3phase calc_den_3phase module~calc_den_3phase->module~calculate_density module~calc_den_base calc_den_base module~calc_den_base->module~calculate_density module~calc_sph_3phase calc_sph_3phase module~calc_sph_3phase->module~calculate_specific_heat module~calc_sph_base calc_sph_base module~calc_sph_base->module~calculate_specific_heat module~calc_thc_3phase calc_thc_3phase module~calc_thc_3phase->module~calculate_thermal_conductivity module~calc_thc_base calc_thc_base module~calc_thc_base->module~calculate_thermal_conductivity 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~calculate_hcf_base calculate_hcf_base module~calculate_hcf_base->module~calculate_hcf module~calculate_hcf_bc calculate_hcf_bc module~calculate_hcf_bc->module~calculate_hcf module~calculate_hcf_durner calculate_hcf_durner module~calculate_hcf_durner->module~calculate_hcf module~calculate_hcf_dvgch calculate_hcf_dvgch module~calculate_hcf_dvgch->module~calculate_hcf module~calculate_hcf_impedance calculate_hcf_impedance module~calculate_hcf_impedance->module~calculate_hcf module~calculate_hcf_ko calculate_hcf_ko module~calculate_hcf_ko->module~calculate_hcf module~calculate_hcf_mvg Calculate_hcf_mvg module~calculate_hcf_mvg->module~calculate_hcf module~calculate_hcf_vg calculate_hcf_vg module~calculate_hcf_vg->module~calculate_hcf module~calculate_hcf_viscosity calculate_hcf_viscosity module~calculate_hcf_viscosity->module~calculate_hcf module~calculate_linalg calculate_linalg module~calculate_linalg->module~calculate_linalg_matrix_ops module~calculate_linalg->module~calculate_linalg_matvec 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_initial_laplace conditions_initial_laplace module~conditions_initial_laplace->module~conditions_initial module~conditions_initial_uniform conditions_initial_uniform module~conditions_initial_uniform->module~conditions_initial module~domain_adjacency->module~domain_adjacency_adjacency_element module~domain_adjacency->module~domain_adjacency_adjacency_node module~domain_adjacency_adjacency_node_element domain_adjacency_adjacency_node_element module~domain_adjacency->module~domain_adjacency_adjacency_node_element module~domain_mesh_element_square_first domain_mesh_element_square_first module~domain_mesh_element_square_first->module~domain_mesh_element module~domain_mesh_element_square_second domain_mesh_element_square_second module~domain_mesh_element_square_second->module~domain_mesh_element module~domain_mesh_element_triangle_first domain_mesh_element_triangle_first module~domain_mesh_element_triangle_first->module~domain_mesh_element module~domain_mesh_element_triangle_second domain_mesh_element_triangle_second module~domain_mesh_element_triangle_second->module~domain_mesh_element module~domain_mesh_side_first domain_mesh_side_first module~domain_mesh_side_first->module~domain_mesh_side module~domain_mesh_side_second domain_mesh_side_second module~domain_mesh_side_second->module~domain_mesh_side module~gcc_base gcc_base module~gcc_base->module~calculate_gcc module~gcc_non_segregation_m gcc_non_segregation_m module~gcc_non_segregation_m->module~calculate_gcc module~gcc_non_segregation_pa gcc_non_segregation_pa module~gcc_non_segregation_pa->module~calculate_gcc module~gcc_segregation_m gcc_segregation_m module~gcc_segregation_m->module~calculate_gcc module~gcc_segregation_pa gcc_segregation_pa module~gcc_segregation_pa->module~calculate_gcc module~inout_input_basic inout_input_basic module~inout_input_basic->module~inout_input module~inout_input_conditions inout_input_conditions module~inout_input_conditions->module~inout_input module~inout_input_geometry inout_input_geometry module~inout_input_geometry->module~inout_input module~inout_input_output_settings inout_input_output_settings module~inout_input_output_settings->module~inout_input 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_hydraulic_crs main_hydraulic_crs module~main_hydraulic_crs->module~main_hydraulic module~main_thermal_crs main_thermal_crs module~main_thermal_crs->module~main_thermal module~module_boundary->module~conditions_boundary module~module_boundary->module~conditions_boundary_manager module~module_calculate->module~calculate_density module~module_calculate->module~calculate_gcc module~module_calculate->module~calculate_hcf module~module_calculate->module~calculate_specific_heat module~module_calculate->module~calculate_thermal_conductivity module~module_calculate->module~calculate_volumetric_heat_capacity module~module_calculate->module~calculate_linalg module~module_domain->module~domain_manager module~module_domain->module~domain_multicoloring module~module_domain->module~domain_reordering module~module_domain->module~domain_adjacency module~module_domain->module~module_mesh module~module_hydraulic->module~main_hydraulic module~module_initial->module~conditions_initial module~module_initial->module~conditions_initial_manager module~module_input->module~inout_input module~module_mesh->module~domain_mesh module~module_mesh_element module_mesh_element module~module_mesh->module~module_mesh_element module~module_mesh_side module_mesh_side module~module_mesh->module~module_mesh_side module~module_mesh_element->module~domain_mesh_element module~module_mesh_element->module~domain_mesh_element_factory module~module_mesh_side->module~domain_mesh_side module~module_mesh_side->module~domain_mesh_side_factory module~module_output->module~input_output module~module_properties->module~properties_properties_manager module~module_properties->module~properties_material_manager module~module_solver->module~solver_solver_factory module~module_thermal->module~main_thermal module~multicoloring_dsatur multicoloring_dsatur module~multicoloring_dsatur->module~domain_multicoloring module~multicoloring_lfo multicoloring_lfo module~multicoloring_lfo->module~domain_multicoloring module~multicoloring_welch_powell multicoloring_welch_powell module~multicoloring_welch_powell->module~domain_multicoloring module~reordering_methods reordering_methods module~reordering_methods->module~domain_reordering module~reordering_to_original reordering_to_original module~reordering_to_original->module~domain_reordering module~reordering_to_reordered reordering_to_reordered module~reordering_to_reordered->module~domain_reordering module~control_iteration->module~module_calculate module~control_iteration->module~module_input module~control_openmp->module~module_input module~domain_adjacency_adjacency_node_element->module~module_mesh module~properties_material_manager->module~module_calculate module~properties_material_manager->module~module_input

Abstract Interfaces

abstract interface

  • private subroutine abst_add(self, row, col, value)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col
    real(kind=real64), intent(in) :: value

abstract interface

  • private subroutine abst_destroy(self)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self

abstract interface

  • private pure function abst_find(self, row, col) result(index)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(in) :: self
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col

    Return Value integer(kind=int32)

abstract interface

  • private subroutine abst_initialize(self, num_nodes, row, col)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    integer(kind=int32), intent(in) :: num_nodes
    integer(kind=int32), intent(in), optional :: row(:)
    integer(kind=int32), intent(in), optional :: col(:)

abstract interface

  • private subroutine abst_set(self, row, col, value)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    integer(kind=int32), intent(in) :: row
    integer(kind=int32), intent(in) :: col
    real(kind=real64), intent(in) :: value

abstract interface

  • private subroutine abst_set_all(self, value)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self
    real(kind=real64), intent(in) :: value

abstract interface

  • private subroutine abst_zero(self)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_matrix), intent(inout) :: self

Derived Types

type, public, abstract ::  abst_matrix

Type-Bound Procedures

procedure(abst_add), public, deferred, pass(self) :: add
procedure(abst_destroy), public, deferred, pass(self) :: destroy
procedure(abst_find), public, deferred, pass(self) :: find
procedure(abst_initialize), public, deferred, pass(self) :: initialize
procedure(abst_set), public, deferred, pass(self) :: set
procedure(abst_set_all), public, deferred, pass(self) :: set_all
procedure(abst_zero), public, deferred, pass(self) :: zero