qimpy.grid.coulomb.Coulomb
- class Coulomb(*, grid, n_ions=1, embed=False, analytic=False, radius=0.0, checkpoint_in=(None, ''))
Bases:
TreeNodeCoulomb interactions between fields and point charges.
- Parameters:
grid (Grid)
n_ions (int)
embed (bool)
analytic (bool)
radius (float)
checkpoint_in (CheckpointPath)
- __init__(*, grid, n_ions=1, embed=False, analytic=False, radius=0.0, checkpoint_in=(None, ''))
Initialize coulomb interactions.
- Parameters:
grid (Grid) – Fields for coulomb interaction will be on this grid.
n_ions (int) – Number of point charges to optimize Ewald sums for.
embed (bool) – [Input file] Whether to embed the Coulomb interaction.
analytic (bool) – [Input file] Whether to use an analytic or a numerical truncation scheme. This only matters when 0 or 1 directions are periodic: selecting spherical or cylindrical truncation when True, and the numerical Wigner-Seitz kernel otherwise (default).
radius (float) – [Input file] Length-scale for analytic truncation scheme. If zero (default), use the in-radius of the Wigner-Seitz cell along the truncated directions.
checkpoint_in (CheckpointPath)
- Return type:
None
Methods
Initialize coulomb interactions.
add_childConstruct child object self.`attr_name` of type cls.
add_child_one_ofInvoke add_child on one of several child options in args.
save_checkpointSave self and all children in hierarchy to cp_path.
Update all members due to change of lattice vectors.
Attributes
Grid associated with fields for coulomb interaction
Whether to embed the Coulomb interaction
Whether to use an analytic or a numerical truncation scheme
Radius for analytical truncation (use in-radius if zero)
Ion-charge gaussian width for embedding and solvation
Coulomb kernel
Ewald sum
child_namesNames of attributes with child objects.
variant_nameVersion of children having variants (if any)
- update_lattice_dependent()
Update all members due to change of lattice vectors.
- Return type:
None
- analytic: bool
Whether to use an analytic or a numerical truncation scheme
- embed: bool
Whether to embed the Coulomb interaction
- ion_width: float
Ion-charge gaussian width for embedding and solvation
- radius: float
Radius for analytical truncation (use in-radius if zero)