spherical_1d_solver_module Module

Solve the 1D heat equation in spherically symmetric radial coordinates


Uses

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

Used by

  • module~~spherical_1d_solver_module~~UsedByGraph module~spherical_1d_solver_module spherical_1d_solver_module proc~solve_governing_equations solve_governing_equations proc~solve_governing_equations->module~spherical_1d_solver_module module~solver_submodule solver_submodule module~solver_submodule->module~spherical_1d_solver_module

Contents


Interfaces

interface

interface

interface

interface

interface

  • private module subroutine set_v(this, nr, constants)

    Arguments

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

interface

  • private 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

Derived Types

type, public :: spherical_1d_solver

encapsulate all grid data

Components

TypeVisibility AttributesNameInitial
real(kind=r8k), private, allocatable:: cp(:)

density and specific heat (size = nr)

real(kind=r8k), private, allocatable:: rho(:)

density and specific heat (size = nr)

real(kind=r8k), private, allocatable:: t_analytical(:)

expected solution (size = nr)

real(kind=r8k), private, allocatable:: v(:,:)

v(:,1) = r, v(:,2) = T, shape = [nr,2]

Type-Bound Procedures

procedure, public :: set_cp
procedure, public :: set_expected_solution_size
procedure, public :: set_material_properties_size
procedure, public :: set_rho
procedure, public :: set_v
procedure, public :: time_advance_heat_equation