実行結果の主要統計を標準出力へ表示する。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh_type), | intent(in) | :: | mesh |
実行後のメッシュ情報。 |
||
| type(sim_stats), | intent(in) | :: | stats |
実行後の統計値。 |
subroutine print_run_summary(mesh, stats) type(mesh_type), intent(in) :: mesh type(sim_stats), intent(in) :: stats integer(i32) :: dielectric_count print '(a,i0)', 'mesh nelem=', mesh%nelem print '(a,i0)', 'processed_particles=', stats%processed_particles print '(a,i0)', 'absorbed=', stats%absorbed print '(a,i0)', 'escaped=', stats%escaped print '(a,i0)', 'batches=', stats%batches print '(a,i0)', 'escaped_boundary=', stats%escaped_boundary print '(a,i0)', 'survived_max_step=', stats%survived_max_step print '(a,i0)', 'multiple_box_events_retry_attempted=', stats%multiple_box_events_retry_attempted print '(a,i0)', 'multiple_box_events_retry_resolved=', stats%multiple_box_events_retry_resolved print '(a,i0)', 'multiple_box_events_soft_discarded=', stats%multiple_box_events_soft_discarded print '(a,es12.4)', 'multiple_box_events_soft_discard_fraction=', soft_discard_fraction(stats) print '(a,es12.4)', 'multiple_box_events_soft_discarded_abs_charge_C=', & stats%multiple_box_events_soft_discarded_abs_charge print '(a,es12.4)', 'last_rel_change=', stats%last_rel_change print '(a,es12.4)', 'simulated_time_s=', stats%simulated_time print '(a,i0)', 'adaptive_nonzero_mode_rejected_trials=', & stats%adaptive_nonzero_mode_rejected_trials print '(a,es12.4)', 'adaptive_nonzero_mode_last_batch_duration_s=', & stats%adaptive_nonzero_mode_last_batch_duration print '(a,es12.4)', 'adaptive_nonzero_mode_last_potential_step_V=', & stats%adaptive_nonzero_mode_last_potential_step print '(a,i0)', 'adaptive_nonzero_mode_omp_threads=', & stats%adaptive_nonzero_mode_omp_threads print '(a,l1)', 'matching_plane_state_valid=', stats%matching_plane_state_valid if (stats%matching_plane_state_valid) then print '(a,es12.4)', 'matching_plane_displacement_C_m2=', stats%matching_plane_displacement_c_m2 print '(a,es12.4)', 'matching_plane_phi_V=', stats%matching_plane_phi_v print '(a,6(1x,es12.4))', 'matching_plane_response=', stats%matching_plane_response print '(a,4(1x,es12.4))', 'matching_plane_feedback=', stats%matching_plane_feedback print '(a,es12.4)', 'matching_plane_photoelectron_return_flux_m2_s=', & stats%matching_plane_photoelectron_return_flux_m2_s print '(a,es12.4)', 'matching_plane_photoelectron_escape_flux_m2_s=', & stats%matching_plane_photoelectron_escape_flux_m2_s print '(a,i0)', 'matching_plane_iterations=', stats%matching_plane_iterations print '(a,es12.4)', 'matching_plane_residual=', stats%matching_plane_residual end if print '(a,*(es12.4,1x))', 'mesh charges=', mesh%q_elem dielectric_count = count_dielectric_surfaces(mesh) if (dielectric_count > 0_i32) then print '(a,i0)', 'surface_model_dielectric_elem_count=', dielectric_count print '(a)', 'surface_model_note=dielectric surface models are metadata-only in this version.' end if end subroutine print_run_summary