Global coordinator for distributing fragments to node coordinators will act as a node coordinator for a single node calculation Uses int64 for total_fragments to handle large fragment counts that overflow int32. Bond connectivity is accessed via ctx%sys_geom%bonds
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | ctx | |||
| type(json_output_data_t), | intent(out), | optional | :: | json_data |
JSON output data |
module subroutine global_coordinator(ctx, json_data) !! Global coordinator for distributing fragments to node coordinators !! will act as a node coordinator for a single node calculation !! Uses int64 for total_fragments to handle large fragment counts that overflow int32. !! Bond connectivity is accessed via ctx%sys_geom%bonds use mqc_json_output_types, only: json_output_data_t use mqc_many_body_expansion, only: mbe_context_t class(*), intent(in) :: ctx type(json_output_data_t), intent(out), optional :: json_data !! JSON output data ! Cast to mbe_context_t via select type select type (ctx) type is (mbe_context_t) call global_coordinator_impl(ctx, json_data) class default call logger%error("global_coordinator: expected mbe_context_t") call abort_comm(comm_world(), 1) end select end subroutine global_coordinator