solver_submodule Submodule


Uses

  • module~~solver_submodule~~UsesGraph module~solver_submodule solver_submodule module~kind_parameters kind_parameters module~solver_submodule->module~kind_parameters module~assertions_interface assertions_interface module~solver_submodule->module~assertions_interface module~spherical_1d_solver_module spherical_1d_solver_module module~solver_submodule->module~spherical_1d_solver_module iso_fortran_env iso_fortran_env module~kind_parameters->iso_fortran_env module~spherical_1d_solver_module->module~kind_parameters

Contents


Functions

pure function kc(x) result(thermal_conductivity)

thermal conductivity (constant for comparison to analytical solution)

Arguments

Type IntentOptional AttributesName
real(kind=r8k), intent(in) :: x

Return Value real(kind=r8k)

function tridiagonal_matrix_algorithm(a, b, c, d) result(x)

Thomas algorithm

Arguments

Type IntentOptional AttributesName
real(kind=r8k), intent(inout), dimension(:):: a
real(kind=r8k), intent(inout), dimension(:):: b
real(kind=r8k), intent(inout), dimension(:):: c
real(kind=r8k), intent(inout), dimension(:):: d

Return Value real(kind=r8k), dimension(:), allocatable


Subroutines

subroutine analytical_solution(nr)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: nr

subroutine error_calculation(nr)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: nr

subroutine time_advancing(nr, dt)

ifort 18 bug precludes associate( dr_m => dr_b) ifort 18 bug precludes associate( rf => this%v(i,1) + 0.5*dr_b)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: nr
real(kind=r8k), intent(in) :: dt

Module Procedures

module procedure set_cp module subroutine set_cp(this)

Arguments

Type IntentOptional AttributesName
class(spherical_1d_solver), intent(inout) :: this

module procedure set_expected_solution_size module subroutine set_expected_solution_size(this)

Arguments

Type IntentOptional AttributesName
class(spherical_1d_solver), intent(inout) :: this

module procedure set_material_properties_size module subroutine set_material_properties_size(this)

Arguments

Type IntentOptional AttributesName
class(spherical_1d_solver), intent(inout) :: this

module procedure set_rho module subroutine set_rho(this)

Arguments

Type IntentOptional AttributesName
class(spherical_1d_solver), intent(inout) :: this

module procedure set_v module subroutine set_v(this, nr, constants)

cluster grid points near center and near surface

Arguments

Type IntentOptional AttributesName
class(spherical_1d_solver), intent(inout) :: this
integer, intent(in) :: nr
real(kind=r8k), intent(in) :: constants(:)

module procedure time_advance_heat_equation module subroutine time_advance_heat_equation(this, duration)

Arguments

Type IntentOptional AttributesName
class(spherical_1d_solver), intent(inout) :: this
real(kind=r8k), intent(in) :: duration