Send fragment data to remote node coordinator Uses int64 for fragment_idx to handle large fragment indices that overflow int32.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_t), | intent(in) | :: | world_comm | |||
| integer(kind=int64), | intent(in) | :: | fragment_idx | |||
| integer, | intent(in) | :: | polymers(:,:) | |||
| integer, | intent(in) | :: | dest_rank |
Send fragment data to local worker Uses int64 for fragment_idx to handle large fragment indices that overflow int32.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(comm_t), | intent(in) | :: | node_comm | |||
| integer(kind=int64), | intent(in) | :: | fragment_idx | |||
| integer, | intent(in) | :: | polymers(:,:) | |||
| integer, | intent(in) | :: | dest_rank |
Process a single fragment for quantum chemistry calculation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int64), | intent(in) | :: | fragment_idx |
Fragment index for identification |
||
| type(calculation_result_t), | intent(out) | :: | result |
Computation results |
||
| type(method_config_t), | intent(in) | :: | method_config |
Method configuration |
||
| type(physical_fragment_t), | intent(in), | optional | :: | phys_frag |
Fragment geometry |
|
| integer(kind=int32), | intent(in) | :: | calc_type |
Calculation type |
||
| type(comm_t), | intent(in), | optional | :: | world_comm |
MPI communicator for abort |
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 sys_geom%bonds
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(resources_t), | intent(in) | :: | resources | |||
| integer(kind=int64), | intent(in) | :: | total_fragments | |||
| integer, | intent(in) | :: | polymers(:,:) | |||
| integer, | intent(in) | :: | max_level | |||
| integer, | intent(in) | :: | node_leader_ranks(:) | |||
| integer, | intent(in) | :: | num_nodes | |||
| type(system_geometry_t), | intent(in), | optional | :: | sys_geom | ||
| type(method_config_t), | intent(in) | :: | method_config |
Method configuration |
||
| integer(kind=int32), | intent(in) | :: | calc_type | |||
| type(json_output_data_t), | intent(out), | optional | :: | json_data |
JSON output data |
Node coordinator for distributing fragments to local workers Handles work requests and result collection from local workers
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(resources_t), | intent(in) | :: | resources | |||
| type(method_config_t), | intent(in) | :: | method_config |
Method configuration (passed through to workers) |
||
| integer(kind=int32), | intent(in) | :: | calc_type |
Node worker for processing fragments assigned by node coordinator Bond connectivity is accessed via sys_geom%bonds
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(resources_t), | intent(in) | :: | resources | |||
| type(system_geometry_t), | intent(in), | optional | :: | sys_geom | ||
| type(method_config_t), | intent(in) | :: | method_config |
Method configuration |
||
| integer(kind=int32), | intent(in) | :: | calc_type |