qimpy.dft.electrons.xc.PlusU

class PlusU(*, checkpoint_in=(None, ''), **U_values)

Bases: TreeNode

DFT+U correction.

Parameters:
  • checkpoint_in (CheckpointPath)

  • U_values (dict[tuple[str, str], float])

__init__(*, checkpoint_in=(None, ''), **U_values)

Initialize from components and/or dictionary of options.

Parameters:
  • U_values (float) –

    [Input file] Dictionary of U values by species and orbital names. For example, to add U to Cu d and O s and p, the yaml input would be:

    plus_U:
      Cu d: 2.4 eV
      O s: 0.1 eV
      O p: 0.7 eV
    

  • checkpoint_in (CheckpointPath)

Return type:

None

Methods

__init__

Initialize from components and/or dictionary of options.

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.

save_checkpoint

Save self and all children in hierarchy to cp_path.

Attributes

U_values

map specie, orbital -> U value

child_names

Names of attributes with child objects.

variant_name

Version of children having variants (if any)

U_values: dict[tuple[str, str], float]

map specie, orbital -> U value