calculate_gcc Module


Uses

  • module~~calculate_gcc~~UsesGraph module~calculate_gcc calculate_gcc iso_fortran_env iso_fortran_env module~calculate_gcc->iso_fortran_env module~module_input module_input module~calculate_gcc->module~module_input module~inout_input inout_input module~module_input->module~inout_input module~inout_input->iso_fortran_env json_module json_module module~inout_input->json_module module~inout_project_settings inout_project_settings module~inout_input->module~inout_project_settings module~module_core module_core module~inout_input->module~module_core stdlib_logger stdlib_logger module~inout_input->stdlib_logger stdlib_strings stdlib_strings module~inout_input->stdlib_strings module~inout_project_settings->iso_fortran_env module~inout_project_settings->module~module_core 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~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_gcc~~UsedByGraph module~calculate_gcc calculate_gcc 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~module_calculate module_calculate module~module_calculate->module~calculate_gcc 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_GCC_NonSeg_Pa(self, T, Pw, rhoW, rhoI) result(Suction)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_non_segregation_pa), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_NonSeg_Pa_derivative(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_non_segregation_pa), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_NonSeg_Pa_derivative_2nd(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_non_segregation_pa), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_NonSeg_m(self, T, Pw, rhoW, rhoI) result(Suction)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_non_segregation_m), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_NonSeg_m_derivative(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_non_segregation_m), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_NonSeg_m_derivative_2nd(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_non_segregation_m), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_Seg_Pa(self, T, Pw, rhoW, rhoI) result(Suction)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_segregation_pa), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_Seg_Pa_derivative(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_segregation_pa), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_Seg_Pa_derivative_2nd(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_segregation_pa), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_Seg_m(self, T, Pw, rhoW, rhoI) result(Suction)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_segregation_m), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_Seg_m_derivative(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_segregation_m), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

  • private module function calc_GCC_Seg_m_derivative_2nd(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(type_gcc_segregation_m), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

interface

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

    Arguments

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

interface

  • private module function type_GCC_NonSeg_Pa_Construct(Tf, Lf) result(property)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: Tf
    real(kind=real64), intent(in) :: Lf

    Return Value class(abst_gcc), allocatable

interface

  • private module function type_GCC_NonSeg_m_Construct(Tf, Lf) result(property)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: Tf
    real(kind=real64), intent(in) :: Lf

    Return Value class(abst_gcc), allocatable

interface

  • private module function type_GCC_Seg_Pa_Construct(Tf, Lf) result(property)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: Tf
    real(kind=real64), intent(in) :: Lf

    Return Value class(abst_gcc), allocatable

interface

  • private module function type_GCC_Seg_m_Construct(Tf, Lf) result(property)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: Tf
    real(kind=real64), intent(in) :: Lf

    Return Value class(abst_gcc), allocatable

public interface type_gcc_non_segregation_m

public interface type_gcc_non_segregation_pa

public interface type_gcc_segregation_m

public interface type_gcc_segregation_pa


Abstract Interfaces

abstract interface

  • private function abst_gcc_calc(self, T, Pw, rhoW, rhoI) result(Suction)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_gcc), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)

abstract interface

  • private function abst_gcc_calc_derivative(self, T, Pw, rhoW, rhoI) result(Suction_derivative)

    Arguments

    Type IntentOptional Attributes Name
    class(abst_gcc), intent(in) :: self
    real(kind=real64), intent(in) :: T
    real(kind=real64), intent(in), optional :: Pw
    real(kind=real64), intent(in), optional :: rhoW
    real(kind=real64), intent(in), optional :: rhoI

    Return Value real(kind=real64)


Derived Types

type, public, abstract ::  abst_gcc

Components

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

Latent heat of fusion

real(kind=real64), public :: Tf

Freezing point

real(kind=real64), private :: TtoK = 273.15d0

Conversion from Celsius to Kelvin

real(kind=real64), private :: g = 9.80665d0

Gravitational acceleration

Type-Bound Procedures

procedure(abst_gcc_calc), public, deferred, pass(self) :: calc
procedure(abst_gcc_calc_derivative), public, deferred, pass(self) :: deriv
procedure(abst_gcc_calc_derivative), public, deferred, pass(self) :: deriv2

type, public ::  holder_gccs

Components

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

Type-Bound Procedures

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

type, public, extends(abst_gcc) ::  type_gcc_non_segregation_m

Components

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

Latent heat of fusion

real(kind=real64), public :: Tf

Freezing point

Constructor

private interface type_GCC_NonSeg_m_Construct ()

Type-Bound Procedures

procedure, public, pass(self) :: calc => calc_GCC_NonSeg_m
procedure, public, pass(self) :: deriv => calc_GCC_NonSeg_m_derivative
procedure, public, pass(self) :: deriv2 => calc_GCC_NonSeg_m_derivative_2nd

type, public, extends(abst_gcc) ::  type_gcc_non_segregation_pa

Components

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

Latent heat of fusion

real(kind=real64), public :: Tf

Freezing point

Constructor

private interface type_GCC_NonSeg_Pa_Construct ()

Type-Bound Procedures

procedure, public, pass(self) :: calc => calc_GCC_NonSeg_Pa
procedure, public, pass(self) :: deriv => calc_GCC_NonSeg_Pa_derivative
procedure, public, pass(self) :: deriv2 => calc_GCC_NonSeg_Pa_derivative_2nd

type, public, extends(abst_gcc) ::  type_gcc_segregation_m

Components

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

Latent heat of fusion

real(kind=real64), public :: Tf

Freezing point

Constructor

private interface type_GCC_Seg_m_Construct ()

Type-Bound Procedures

procedure, public, pass(self) :: calc => calc_GCC_Seg_m
procedure, public, pass(self) :: deriv => calc_GCC_Seg_m_derivative
procedure, public, pass(self) :: deriv2 => calc_GCC_Seg_m_derivative_2nd

type, public, extends(abst_gcc) ::  type_gcc_segregation_pa

Components

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

Latent heat of fusion

real(kind=real64), public :: Tf

Freezing point

Constructor

private interface type_GCC_Seg_Pa_Construct ()

Type-Bound Procedures

procedure, public, pass(self) :: calc => calc_GCC_Seg_Pa
procedure, public, pass(self) :: deriv => calc_GCC_Seg_Pa_derivative
procedure, public, pass(self) :: deriv2 => calc_GCC_Seg_Pa_derivative_2nd