run{ }

Calling sequence

run{ }

Properties
  • usage: \(\mathrm{\textcolor{WildStrawberry}{required\;within\;the\;group}}\)

  • items: \(\mathrm{exactly\;1}\)

Dependencies
Functionality

This group defines the simulation flow, i.e., equations to be solved and degree of self-consistency.

Examples
run{}
run{
    structure_only{}
}
run{
    strain{}
    poisson{}
}
run{
    strain{}
    current_poisson{}
}
run{
    strain{}
    quantum{}
}
run{
    strain{}
    quantum_poisson{}
    quantum_optics{}
}
run{
    strain{}
    quantum_current_poisson{}
    quantum_optics{}
}
run{
    strain{}
    current_poisson{}
    quantum_current_poisson{}
    quantum_optics{}
}

Nested keywords


Remarks
  • Poisson: Only maximally one of poisson{ } and current_poisson{ } can be defined, which defines the classical equation to be solved (also as first stage before possibly solving any quantum mechanics). If neither is set, only fixed potentials will be used.

  • Quantum: If quantum mechanics is desired, one of quantum{ }, quantum_density{}, quantum_poisson{ }, and quantum_current_poisson{ } must be set.

  • The quantum equations to be solved - only quantum, quantum with self-consistent density/exchange, self-consistent quantum-Poisson, and self-consistent quantum-current-Poisson - are only defined by the choice of quantum{ }, quantum_density{}, quantum_poisson{ }, and quantum_current_poisson{ }, irrespective of the choice of the classical solution method. Note that one of poisson{ } and current_poisson{ } must be set when quantum_poisson{ } or quantum_current_poisson{ } is desired. Use poisson{ } in conjunction with quantum_current_poisson{ } to skip classical current calculations.

  • Quantum with self-consistent density/exchange is solved by selection of quantum_density{} (users can change parameters in there as needed).


Further Remarks

2019-01-24: At the end of current_poisson{ }, Poisson is now solved once to make the band structure consistent with the Fermi levels. In case of incomplete convergence, the partly converged output is then more in line with physical intuition.

Input residuals and tolerances are rescaled to various internal units (often in a dimension-dependent manner, i.e. they are different for 1D, 2D and 3D simulations) before being passed to low-level numerical routines like ARPACK, LAPACK, BLAS, nonlinear solvers, etc. Therefore, diagnostic output from low-level numerical solvers usually contains values which are completely different from those which are output by the high-level physics routines or output into files.

There are log files that track the convergence behavior of the iterations during the simulation. The convergence information for the respective self-consistent equations can be plotted. It is best to use a logarithmic scale.

  • iteration_quantum_density.dat

    quantum_density{}
    Convergence of Schrödinger equation with self-consistent density/exchange
  • iteration_quantum_poisson.dat

    quantum_poisson{ }
    Convergence of outer iteration loop for Schrödinger-Poisson
  • iteration_quantum_current_poisson.dat

    quantum_current_poisson{ }
    Convergence of outer iteration loop, i.e. for Current-Poisson-Schrödinger with quantum
  • iteration_quantum_current_poisson_details.dat

    quantum_current_poisson{ }
    Convergence of current equation, i.e. for Current-Poisson with quantum densities