bem_external_boundary_contract Module

局所 reservoir 流入と通常 open 面の処理を実行時契約へ正規化する。


Uses

  • module~~bem_external_boundary_contract~~UsesGraph module~bem_external_boundary_contract bem_external_boundary_contract module~bem_kinds bem_kinds module~bem_external_boundary_contract->module~bem_kinds module~bem_string_utils bem_string_utils module~bem_external_boundary_contract->module~bem_string_utils iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env

Used by

  • module~~bem_external_boundary_contract~~UsedByGraph module~bem_external_boundary_contract bem_external_boundary_contract module~bem_app_config_particle_runtime bem_app_config_particle_runtime module~bem_app_config_particle_runtime->module~bem_external_boundary_contract module~bem_output_writer_summary bem_output_writer_summary module~bem_output_writer_summary->module~bem_external_boundary_contract module~bem_particle_stepper bem_particle_stepper module~bem_particle_stepper->module~bem_external_boundary_contract module~bem_simulator bem_simulator module~bem_simulator->module~bem_external_boundary_contract module~bem_simulator->module~bem_particle_stepper module~bem_app_config_runtime bem_app_config_runtime module~bem_simulator->module~bem_app_config_runtime module~bem_app_config bem_app_config module~bem_simulator->module~bem_app_config module~bem_app_config_particle_runtime_batch bem_app_config_particle_runtime_batch module~bem_app_config_particle_runtime_batch->module~bem_app_config_particle_runtime module~bem_app_config_particle_runtime_sampling bem_app_config_particle_runtime_sampling module~bem_app_config_particle_runtime_sampling->module~bem_app_config_particle_runtime module~bem_app_config_runtime->module~bem_app_config_particle_runtime module~bem_simulator_charge bem_simulator_charge module~bem_simulator_charge->module~bem_simulator module~bem_simulator_io bem_simulator_io module~bem_simulator_io->module~bem_simulator module~bem_simulator_io->module~bem_app_config_runtime module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_simulator module~bem_simulator_loop->module~bem_app_config_runtime module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_simulator_loop->module~bem_matching_plane_coupling module~bem_simulator_particles bem_simulator_particles module~bem_simulator_particles->module~bem_simulator module~bem_simulator_stats bem_simulator_stats module~bem_simulator_stats->module~bem_simulator program~main main program~main->module~bem_simulator program~main->module~bem_app_config module~bem_app_config->module~bem_app_config_runtime module~bem_matching_plane_coupling->module~bem_app_config program~zhao_atlas_main zhao_atlas_main program~zhao_atlas_main->module~bem_app_config program~zhao_response_main zhao_response_main program~zhao_response_main->module~bem_app_config

Variables

Type Visibility Attributes Name Initial
integer(kind=i32), public, parameter :: external_boundary_ok = 0_i32
integer(kind=i32), public, parameter :: external_boundary_invalid = 1_i32
integer(kind=i32), public, parameter :: external_inflow_none = 0_i32
integer(kind=i32), public, parameter :: external_inflow_scalar_barrier = 1_i32
integer(kind=i32), public, parameter :: external_open_escape = 0_i32
integer(kind=i32), public, parameter :: external_open_potential_barrier = 1_i32

Derived Types

type, public ::  external_boundary_contract_type

Components

Type Visibility Attributes Name Initial
integer(kind=i32), public :: inflow_map = external_inflow_none
integer(kind=i32), public :: ordinary_open_model = external_open_escape
logical, public :: barrier_override_low(3) = .false.
logical, public :: barrier_override_high(3) = .false.
real(kind=dp), public :: barrier_potential_low_v(3) = 0.0_dp
real(kind=dp), public :: barrier_potential_high_v(3) = 0.0_dp

Subroutines

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

局所流入補正と通常 open 面モデルを一意な組へ解決する。

Arguments

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