resolve_external_boundary_contract Subroutine

public subroutine resolve_external_boundary_contract(reservoir_potential_model, contract, status, message)

局所流入補正を解決し、種別 kinetic 障壁を初期化する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: reservoir_potential_model
type(external_boundary_contract_type), intent(out) :: contract
integer(kind=i32), intent(out) :: status
character(len=*), intent(out) :: message

Calls

proc~~resolve_external_boundary_contract~~CallsGraph proc~resolve_external_boundary_contract resolve_external_boundary_contract proc~lower_ascii lower_ascii proc~resolve_external_boundary_contract->proc~lower_ascii

Source Code

  subroutine resolve_external_boundary_contract( &
    reservoir_potential_model, contract, status, message &
    )
    character(len=*), intent(in) :: reservoir_potential_model
    type(external_boundary_contract_type), intent(out) :: contract
    integer(i32), intent(out) :: status
    character(len=*), intent(out) :: message

    character(len=32) :: reservoir

    contract = external_boundary_contract_type()
    status = external_boundary_ok
    message = ''
    reservoir = lower_ascii(trim(reservoir_potential_model))

    select case (trim(reservoir))
    case ('none')
      contract%inflow_map = external_inflow_none
    case ('infinity_barrier')
      contract%inflow_map = external_inflow_scalar_barrier
    case default
      call reject('Unknown particles.reservoir.inflow_model.', status, message)
      return
    end select
  end subroutine resolve_external_boundary_contract