Reactor_ Derived Type

type, public :: Reactor_


Contents


Components

TypeVisibility AttributesNameInitial
type(Real64Ptr_), public, allocatable:: substances(:)
type(String_), public, allocatable:: substance_names(:)
integer, public :: n_substances =0
integer, public :: n_reaction =0
integer(kind=int32), public :: input_list(PF_MAX_REACTION_NUM,PF_MAX_INPUT_NUM) =0
integer(kind=int32), public :: output_list(PF_MAX_REACTION_NUM,PF_MAX_OUTPUT_NUM) =0
real(kind=real64), public :: reaction_order(PF_MAX_REACTION_NUM,PF_MAX_INPUT_NUM+PF_MAX_OUTPUT_NUM) =0
real(kind=real64), public :: mol_rate(PF_MAX_REACTION_NUM,PF_MAX_INPUT_NUM+PF_MAX_OUTPUT_NUM) =0
real(kind=real64), public :: constants(PF_MAX_REACTION_NUM) =0

Type-Bound Procedures

procedure, public :: Init => InitReactor

  • public subroutine InitReactor(this, max_num_substances)

    Arguments

    Type IntentOptional AttributesName
    class(Reactor_), intent(inout) :: this
    integer(kind=int32), intent(in), optional :: max_num_substances

procedure, public :: put => putReactor

  • public subroutine putReactor(this, substance_name, substance)

    Arguments

    Type IntentOptional AttributesName
    class(Reactor_), intent(inout) :: this
    character(len=*), intent(in) :: substance_name
    real(kind=real64), intent(in), target:: substance

procedure, public :: define => defineReactor

  • public subroutine defineReactor(this, input_list, output_list, constant, mol_rate, reaction_order)

    Arguments

    Type IntentOptional AttributesName
    class(Reactor_), intent(inout) :: this
    type(String_), intent(in) :: input_list(:)
    type(String_), intent(in) :: output_list(:)
    real(kind=real64), intent(in) :: constant
    real(kind=real64), intent(in), optional :: mol_rate(:)
    real(kind=real64), intent(in), optional :: reaction_order(:)

procedure, public :: SearchSubstanceID => SearchSubstanceIDReactor

  • public pure function SearchSubstanceIDReactor(this, name) result(ret)

    Arguments

    Type IntentOptional AttributesName
    class(Reactor_), intent(in) :: this
    character(len=*), intent(in) :: name

    Return Value integer(kind=int32)

procedure, public :: run => runReactor

  • public subroutine runReactor(this, dt)

    Arguments

    Type IntentOptional AttributesName
    class(Reactor_), intent(inout) :: this
    real(kind=real64), intent(in) :: dt