bem_matching_plane_response Module

Matching-plane outer-sheath response table の immutable snapshot と補間。


Uses

  • module~~bem_matching_plane_response~~UsesGraph module~bem_matching_plane_response bem_matching_plane_response ieee_arithmetic ieee_arithmetic module~bem_matching_plane_response->ieee_arithmetic module~bem_kinds bem_kinds module~bem_matching_plane_response->module~bem_kinds module~bem_matching_plane_contract bem_matching_plane_contract module~bem_matching_plane_response->module~bem_matching_plane_contract module~bem_mpi bem_mpi module~bem_matching_plane_response->module~bem_mpi iso_fortran_env iso_fortran_env module~bem_kinds->iso_fortran_env module~bem_matching_plane_contract->module~bem_kinds module~bem_mpi->module~bem_kinds

Used by

  • module~~bem_matching_plane_response~~UsedByGraph module~bem_matching_plane_response bem_matching_plane_response module~bem_matching_plane_response_generator bem_matching_plane_response_generator module~bem_matching_plane_response_generator->module~bem_matching_plane_response module~bem_matching_plane_response_provider bem_matching_plane_response_provider module~bem_matching_plane_response_generator->module~bem_matching_plane_response_provider module~bem_matching_plane_response_io bem_matching_plane_response_io module~bem_matching_plane_response_io->module~bem_matching_plane_response module~bem_matching_plane_response_mpi bem_matching_plane_response_mpi module~bem_matching_plane_response_mpi->module~bem_matching_plane_response module~bem_matching_plane_response_provider->module~bem_matching_plane_response module~bem_matching_plane_response_provider_mpi bem_matching_plane_response_provider_mpi module~bem_matching_plane_response_provider_mpi->module~bem_matching_plane_response module~bem_matching_plane_response_provider_mpi->module~bem_matching_plane_response_provider module~bem_matching_plane_zhao_atlas bem_matching_plane_zhao_atlas module~bem_matching_plane_zhao_atlas->module~bem_matching_plane_response module~bem_matching_plane_zhao_atlas->module~bem_matching_plane_response_provider module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_matching_plane_coupling->module~bem_matching_plane_response_provider module~bem_matching_plane_implicit bem_matching_plane_implicit module~bem_matching_plane_coupling->module~bem_matching_plane_implicit module~bem_matching_plane_implicit->module~bem_matching_plane_response_provider program~main main program~main->module~bem_matching_plane_response_provider program~zhao_atlas_main zhao_atlas_main program~zhao_atlas_main->module~bem_matching_plane_zhao_atlas program~zhao_response_main zhao_response_main program~zhao_response_main->module~bem_matching_plane_response_generator module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_matching_plane_coupling

Variables

Type Visibility Attributes Name Initial
integer(kind=i32), public, parameter :: matching_plane_response_ok = 0_i32
integer(kind=i32), public, parameter :: matching_plane_response_invalid_argument = 1_i32
integer(kind=i32), public, parameter :: matching_plane_response_io_error = 2_i32
integer(kind=i32), public, parameter :: matching_plane_response_invalid_header = 3_i32
integer(kind=i32), public, parameter :: matching_plane_response_invalid_metadata = 4_i32
integer(kind=i32), public, parameter :: matching_plane_response_invalid_row = 5_i32
integer(kind=i32), public, parameter :: matching_plane_response_invalid_grid = 6_i32
integer(kind=i32), public, parameter :: matching_plane_response_out_of_range = 7_i32
character(len=*), public, parameter :: matching_plane_response_query_csv_header = 'displacement_c_m2,'//'photoelectron_outward_number_flux_m2_s,'//'photoelectron_outward_mean_normal_energy_ev,'//'electron_outward_number_flux_m2_s,'//'ion_outward_number_flux_m2_s'
character(len=*), public, parameter :: matching_plane_response_csv_header = matching_plane_response_query_csv_header//','//'matching_potential_v,'//'electron_inward_number_flux_m2_s,'//'ion_inward_number_flux_m2_s,'//'electron_access_potential_v,'//'ion_access_potential_v,'//'photoelectron_barrier_potential_v'

Interfaces

interface

  • public module subroutine load_matching_plane_response_mpi(path, mpi, table, status, message)

    root が読み込んだテーブルを全 rank に配信する。

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: path
    type(mpi_context), intent(in) :: mpi
    type(matching_plane_response_table_type), intent(out) :: table
    integer(kind=i32), intent(out) :: status
    character(len=*), intent(out) :: message

Derived Types

検証済み response table。components は外部から変更できない。

Type-Bound Procedures

procedure, public :: evaluate => evaluate_matching_plane_response
procedure, public :: get_axis_data => get_matching_plane_axis_data
procedure, public :: get_matching_plane_z
procedure, public :: get_source_path => get_matching_plane_source_path
procedure, public :: is_loaded => matching_plane_response_is_loaded

Subroutines

public subroutine get_matching_plane_response_snapshot(path, table, status, message)

path ごとに最初の検証済み内容を固定し、同一 process 内で共有する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: path
type(matching_plane_response_table_type), intent(out) :: table
integer(kind=i32), intent(out) :: status
character(len=*), intent(out) :: message

独立 run や unit test の開始時に immutable snapshot cache を解放する。

Arguments

None