qimpy.dft.System
- class System(*, lattice=None, ions=None, symmetries=None, electrons=None, grid=None, coulomb=None, geometry=None, export=None, checkpoint=None, checkpoint_out=None, comm=None, process_grid_shape=None)
Bases:
TreeNode
Overall system to calculate within QimPy
- Parameters:
- __init__(*, lattice=None, ions=None, symmetries=None, electrons=None, grid=None, coulomb=None, geometry=None, export=None, 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:
lattice (Lattice | dict | None) – [Input file] Lattice vectors / unit cell definition.
ions (Ions | dict | None) – [Input file] Ionic positions and pseudopotentials.
symmetries (Symmetries | dict | None) – [Input file] Point and space group symmetries.
electrons (Electrons | dict | None) – [Input file] Electronic sub-system.
grid (Grid | dict | None) – [Input file] Charge-density grid.
coulomb (Coulomb | dict | None) – [Input file] Coulomb interactions.
geometry (Geometry | dict | str | None) – [Input file] Geometry actions such as relaxation and dynamics. Specify name of geometry action eg. ‘relax’ if using default options for that action, and if not, specify an explicit dictionary of parameters.
export (Export | dict | None) – [Input file] Export data for other codes.
checkpoint (str | None) – [Input file] Checkpoint file to read at start-up.
checkpoint_out (str | None) – [Input file] Checkpoint file to write. Defaults to checkpoint if unspecified.
comm (Comm | None) – Overall communicator for system. Defaults to qimpy.rc.comm if unspecified.
process_grid_shape (Sequence[int] | None) – 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
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.
Update geometric gradients i.e. forces and optionally, stresses.
Run any actions specified in the input.
save_checkpoint
Save self and all children in hierarchy to cp_path.
Attributes
Lattice vectors / unit cell definition
Ionic positions and pseudopotentials
Point and space group symmetries
Electronic sub-system
Charge-density grid
Coulomb interactions on charge-density grid
Geometry actions, e.g., relaxation / dynamics
Exporters to interface with other codes
Energy components
Input checkpoint
Filename for output checkpoint
Process grid for parallelization
child_names
Names of attributes with child objects.
variant_name
Version of children having variants (if any)
- geometry_grad()
Update geometric gradients i.e. forces and optionally, stresses.
- Return type:
None
- run()
Run any actions specified in the input.
- Return type:
None
- checkpoint_in: CheckpointPath
Input checkpoint
- checkpoint_out: str | None
Filename for output checkpoint
- process_grid: ProcessGrid
Process grid for parallelization
- symmetries: Symmetries
Point and space group symmetries