| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(out) | :: | self | |||
| type(app_config), | intent(in) | :: | app | |||
| type(mesh_type), | intent(in) | :: | mesh | |||
| type(sim_stats), | intent(inout) | :: | stats | |||
| type(mpi_context), | intent(in) | :: | mpi_ctx |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(in) | :: | self | |||
| type(mesh_type), | intent(in) | :: | mesh | |||
| type(sim_stats), | intent(in) | :: | stats | |||
| type(electrostatic_snapshot_type), | intent(inout) | :: | snapshot |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(inout) | :: | self | |||
| type(mesh_type), | intent(in) | :: | mesh | |||
| type(electrostatic_snapshot_type), | intent(in) | :: | snapshot | |||
| type(sim_stats), | intent(in) | :: | stats |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(inout) | :: | self | |||
| type(app_config), | intent(in) | :: | app | |||
| type(mesh_type), | intent(in) | :: | mesh | |||
| type(electrostatic_snapshot_type), | intent(inout) | :: | snapshot | |||
| type(surface_closure_contract_type), | intent(inout) | :: | surface_closure | |||
| type(mpi_context), | intent(in) | :: | mpi_ctx | |||
| real(kind=dp), | intent(in) | :: | trial_batch_duration |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(inout) | :: | self | |||
| type(app_config), | intent(in) | :: | app | |||
| type(mpi_context), | intent(in) | :: | mpi_ctx | |||
| real(kind=dp), | intent(in) | :: | moments_thread(:,:,:) | |||
| real(kind=dp), | intent(in) | :: | trial_batch_duration | |||
| integer(kind=i32), | intent(in) | :: | batch_idx |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(in) | :: | self | |||
| type(sim_stats), | intent(inout) | :: | stats_candidate |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(matching_plane_coupling_type), | intent(inout) | :: | self | |||
| type(mesh_type), | intent(in) | :: | mesh | |||
| type(sim_stats), | intent(inout) | :: | stats_candidate |
type, public :: matching_plane_coupling_type private logical :: active = .false. logical :: implicit_zero_mode = .false. logical :: continuation_active = .false. logical :: photoelectron_active = .false. logical :: displacement_bounded = .false. integer(i32) :: electron_idx = 0_i32 integer(i32) :: ion_idx = 0_i32 integer(i32) :: photoelectron_idx = 0_i32 integer(i32) :: search_direction = 0_i32 integer(i32) :: iteration = 0_i32 real(dp) :: plane_z real(dp) :: area real(dp) :: photoelectron_charge real(dp) :: photoelectron_emission_current_density real(dp) :: displacement_min real(dp) :: displacement_max real(dp) :: displacement_scale real(dp) :: feedback_reference(4) real(dp) :: displacement real(dp) :: displacement_before real(dp) :: guess(4) real(dp) :: observed(4) real(dp) :: response(6) real(dp) :: residual real(dp) :: return_flux real(dp) :: escape_flux type(matching_plane_response_provider_type) :: provider type(matching_plane_zhao_root_seed_type) :: root_committed type(matching_plane_zhao_root_seed_type) :: root_trial type(matching_plane_zhao_root_seed_type) :: root_candidate real(dp), allocatable :: moments(:, :) real(dp), allocatable :: reduce(:) contains procedure :: initialize procedure :: is_active procedure :: restore_gauge procedure :: begin_trial procedure :: prepare_iteration procedure :: finish_iteration procedure :: stage_stats procedure :: commit end type matching_plane_coupling_type