bem_matching_plane_implicit Module

Backward-Euler displacement solve for a matching-plane response, including continuation and MPI broadcast.


Uses

  • module~~bem_matching_plane_implicit~~UsesGraph module~bem_matching_plane_implicit bem_matching_plane_implicit ieee_arithmetic ieee_arithmetic module~bem_matching_plane_implicit->ieee_arithmetic iso_fortran_env iso_fortran_env module~bem_matching_plane_implicit->iso_fortran_env module~bem_kinds bem_kinds module~bem_matching_plane_implicit->module~bem_kinds module~bem_matching_plane_response_provider bem_matching_plane_response_provider module~bem_matching_plane_implicit->module~bem_matching_plane_response_provider module~bem_matching_plane_zhao bem_matching_plane_zhao module~bem_matching_plane_implicit->module~bem_matching_plane_zhao module~bem_mpi bem_mpi module~bem_matching_plane_implicit->module~bem_mpi module~bem_kinds->iso_fortran_env module~bem_matching_plane_response_provider->ieee_arithmetic module~bem_matching_plane_response_provider->module~bem_kinds module~bem_matching_plane_response_provider->module~bem_matching_plane_zhao module~bem_matching_plane_response_provider->module~bem_mpi module~bem_app_config_types bem_app_config_types module~bem_matching_plane_response_provider->module~bem_app_config_types module~bem_matching_plane_response bem_matching_plane_response module~bem_matching_plane_response_provider->module~bem_matching_plane_response module~bem_matching_plane_zhao->ieee_arithmetic module~bem_matching_plane_zhao->module~bem_kinds module~bem_constants bem_constants module~bem_matching_plane_zhao->module~bem_constants module~bem_matching_plane_contract bem_matching_plane_contract module~bem_matching_plane_zhao->module~bem_matching_plane_contract module~bem_sheath_model_core bem_sheath_model_core module~bem_matching_plane_zhao->module~bem_sheath_model_core module~bem_string_utils bem_string_utils module~bem_matching_plane_zhao->module~bem_string_utils module~bem_mpi->module~bem_kinds module~bem_app_config_types->module~bem_kinds module~bem_physics_config_types bem_physics_config_types module~bem_app_config_types->module~bem_physics_config_types module~bem_types bem_types module~bem_app_config_types->module~bem_types module~bem_constants->module~bem_kinds module~bem_matching_plane_contract->module~bem_kinds module~bem_matching_plane_response->ieee_arithmetic module~bem_matching_plane_response->module~bem_kinds module~bem_matching_plane_response->module~bem_mpi module~bem_matching_plane_response->module~bem_matching_plane_contract module~bem_sheath_model_core->ieee_arithmetic module~bem_sheath_model_core->module~bem_kinds module~bem_sheath_model_core->module~bem_constants module~bem_physics_config_types->ieee_arithmetic module~bem_physics_config_types->module~bem_kinds module~bem_physics_config_types->module~bem_string_utils module~bem_physics_config_types->module~bem_types module~bem_types->module~bem_kinds

Used by

  • module~~bem_matching_plane_implicit~~UsedByGraph module~bem_matching_plane_implicit bem_matching_plane_implicit module~bem_matching_plane_coupling bem_matching_plane_coupling module~bem_matching_plane_coupling->module~bem_matching_plane_implicit module~bem_simulator_loop bem_simulator_loop module~bem_simulator_loop->module~bem_matching_plane_coupling

Subroutines

public subroutine solve_matching_implicit_zero_mode(provider, mpi, displacement_before, displacement_seed, duration, displacement_bounded, displacement_min, displacement_max, displacement_scale, search_direction, feedback_reference, electron_charge, ion_charge, photoelectron_active, photoelectron_charge, root_before, root_after, displacement_after, response_after)

Arguments

Type IntentOptional Attributes Name
type(matching_plane_response_provider_type), intent(inout) :: provider
type(mpi_context), intent(in) :: mpi
real(kind=dp), intent(in) :: displacement_before
real(kind=dp), intent(in) :: displacement_seed
real(kind=dp), intent(in) :: duration
logical, intent(in) :: displacement_bounded
real(kind=dp), intent(in) :: displacement_min
real(kind=dp), intent(in) :: displacement_max
real(kind=dp), intent(in) :: displacement_scale
integer(kind=i32), intent(in) :: search_direction
real(kind=dp), intent(in) :: feedback_reference(4)
real(kind=dp), intent(in) :: electron_charge
real(kind=dp), intent(in) :: ion_charge
logical, intent(in) :: photoelectron_active
real(kind=dp), intent(in) :: photoelectron_charge
type(matching_plane_zhao_root_seed_type), intent(in) :: root_before
type(matching_plane_zhao_root_seed_type), intent(out) :: root_after
real(kind=dp), intent(out) :: displacement_after
real(kind=dp), intent(out) :: response_after(6)