abst_bc_thermal Derived Type

type, public, abstract :: abst_bc_thermal


Inherited by

type~~abst_bc_thermal~~InheritedByGraph type~abst_bc_thermal abst_bc_thermal type~holder_bcs holder_bcs type~holder_bcs->type~abst_bc_thermal t type~type_bc_thermal_adiabatic type_bc_thermal_adiabatic type~type_bc_thermal_adiabatic->type~abst_bc_thermal type~type_bc_thermal_dirichlet type_bc_thermal_dirichlet type~type_bc_thermal_dirichlet->type~abst_bc_thermal type~type_bc type_bc type~type_bc->type~holder_bcs bc type~type_ftdss type_ftdss type~type_ftdss->type~type_bc bc

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

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

    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

procedure(abst_apply_bc_dence), public, deferred, pass(self) :: apply_dense

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

    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

procedure(abst_initialize_bc), public, deferred, pass(self) :: initialize

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

    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

Source Code

    type, abstract :: abst_bc_thermal
        integer(int32) :: material_id
        character(:), allocatable :: boundary_name
        real(real64), allocatable, private :: time_points(:) ! 時間ステップ
        real(real64), allocatable, private :: values(:) ! 対応する値
        integer(int32), private :: num_target_edges ! 対象エッジの数
        integer(int32), allocatable, private :: target_edges(:, :) ! 対象エッジの接続情報
    contains
        procedure(abst_initialize_bc),       pass(self), deferred :: initialize !&
        procedure(abst_apply_bc_dence),      pass(self), deferred :: apply_dense !&
        procedure(abst_apply_bc_sparse_crs), pass(self), deferred :: apply_crs !&
    end type abst_bc_thermal