qimpy.transport.Transport

class Transport(*, geometry, material, checkpoint=None, checkpoint_out=None, comm=None, process_grid_shape=None)

Bases: TreeNode

Parameters
  • geometry (Union[Geometry, dict]) –

  • material (Union[Material, dict]) –

  • checkpoint (Optional[str]) –

  • checkpoint_out (Optional[str]) –

  • comm (Optional[Comm]) –

  • process_grid_shape (Optional[Sequence[int]]) –

__init__(*, geometry, material, checkpoint=None, checkpoint_out=None, comm=None, process_grid_shape=None)

Compose a System to calculate from its pieces. Each piece could be provided as an object or a dictionary of parameters suitable for initializing that object.

Parameters
  • geometry (Union[Geometry, dict]) – [Input file] Geometry specification.

  • material (Union[Material, dict]) – [Input file] Material specification.

  • checkpoint (Optional[str]) – [Input file] Checkpoint file to read at start-up.

  • checkpoint_out (Optional[str]) – [Input file] Checkpoint file to write. Defaults to checkpoint if unspecified.

  • comm (Optional[Comm]) – Overall communicator for system. Defaults to qimpy.rc.comm if unspecified.

  • process_grid_shape (Optional[Sequence[int]]) – Parallelization dimensions over replicas, k-points and bands/basis, used to initialize a qimpy.mpi.ProcessGrid. Dimensions that are -1 will be auto-determined based on number of tasks available to split along them. Default: all process grid dimensions are auto-determined.

Methods

__init__

Compose a System to calculate from its pieces.

add_child

Construct child object self.`attr_name` of type cls.

add_child_one_of

Invoke add_child on one of several child options in args.

run

save_checkpoint

Save self and all children in hierarchy to cp_path.

Attributes

child_names: list[str]

Names of attributes with child objects.