class NeutralAtom(electrode_constraint_length=None)

Class for representing a neutral atom initial density matrix for Device simulations.

Parameters:electrode_constraint_length (PhysicalQuantity of type length) – Length over which the atoms in the electrode copy within the central region will be initialized with a linear combination of the converged density matrix of the electrodes and the neutral atom density matrix. The weight of the electrode density matrix is 1 at the boundary and 0 at the distance electrode_constraint_length from the boundary.
Default: 10.0 * Angstrom
Returns:The electrode constraint length.
Return type:PhysicalQuantity of type length
initializeCentralRegionDensityMatrix(device_builder, downgraded_calculator, schroedinger_container)

Method for initializing the density matrix of the central region.

  • device_builder (DeviceLCAOBuilder | DeviceSemiEmpiricalBuilder) – The device builder.
  • downgraded_calculator (LCAOCalculator | HuckelCalculator | SlaterKosterCalculator) – Not used.
  • schroedinger_container (NLEngine.CompositeSchroedingerContainer) – The device Schroedinger container, the density matrix of which will be initialized.

Usage Examples

Setup a non-self-consistent calculation with a neutral atom initial density.

device_algorithm_parameters = DeviceAlgorithmParameters(


  • The NeutralAtom initial density type, corresponds to an initial density consisting of a superposition of atomic-like charge densities, constructed by occupying the basis orbital corresponding to the occupations of the atomic wave functions
  • If the electrode_constraint_length is longer than the length of the electrode, still only the electrode copy atoms within the central region will be affected. However, the weighting of the electrode density matrix will be larger. For instance, if electrode_constraint_length is infinite, the initial density matrix of the electrode copy atoms in the central region will be the electrode density matrix.