表面モデルに応じて、電荷堆積後の要素電荷を緩和する。 conductor は mesh_id ごとの浮遊導体として、総電荷を保存しながら等電位化する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh_type), | intent(inout) | :: | mesh | |||
| real(kind=dp), | intent(in) | :: | external_e(3) | |||
| character(len=*), | intent(in), | optional | :: | field_bc_mode |
subroutine apply_surface_model_charge_relaxation(mesh, external_e, field_bc_mode) type(mesh_type), intent(inout) :: mesh real(dp), intent(in) :: external_e(3) character(len=*), intent(in), optional :: field_bc_mode integer(i32) :: ncond if (.not. allocated(mesh%elem_surface_model)) return ncond = int(count(mesh%elem_surface_model == surface_model_conductor), kind=i32) if (ncond <= 0_i32) return call validate_conductor_field_bc(field_bc_mode) call relax_floating_conductor_charges(mesh, external_e, ncond) end subroutine apply_surface_model_charge_relaxation