If this variable is present, Octopus will assign random velocities to the atoms following a Boltzmann distribution with temperature given by RandomVelocityTemp (in degrees Kelvin). The seed for the random number generator can be modified by setting GSL_RNG_SEED environment variable.
(Experimental.) For systems described in 2D (electrons confined to 2D in semiconductor structures), one may add the Bychkov-Rashba spin-orbit coupling term [Bychkov and Rashba, J. Phys. C: Solid State Phys. 17, 6031 (1984)]. This variable determines the strength of this perturbation, and has dimensions of energy times length.
Default 1e-6 Ha
Convergence criterion for stopping the overall minimization of the energy with respect to occupation numbers and the orbitals. The minimization of the energy stops when the total energy difference between two subsequent minimizations of the energy with respect to the occupation numbers and the orbitals is smaller than this criterion. It is also used to exit the orbital minimization.
Default 1e-7 Ha
Convergence criterion for stopping the occupation numbers minimization. Minimization is stopped when all derivatives of the energy wrt. each occupation number are smaller than this criterion. The bisection for finding the correct mu that is needed for the occupation number minimization also stops according to this criterion.
In order to calculate some information about the system along the evolution (e.g. projection onto the ground-state KS determinant, projection of the TDKS spin-orbitals onto the ground-state KS spin-orbitals), the ground-state KS orbitals are needed. If the ionic potential changes – that is, the ions move – one may want to recalculate the ground state. You may do this by setting this variable.
The recalculation is not done every time step, but only every
RestartWriteInterval time steps.
Note that in Octopus the origin of coordinates is in the center of the cell, so the coordinates inside the cell are in the range [-0.5, 0.5).
This block cannot be used with the minimum box shape.
The default value means that no relativistic correction is used. To include spin-orbit coupling turn RelativisticCorrection to spin_orbit (this will only work if SpinComponents has been set to non_collinear, which ensures the use of spinors).
No relativistic corrections.
This variable controls whether the ranks are reorganized to have a more compact distribution with respect to domain parallelization which needs to communicate most often. Depending on the system, this can improve communication speeds.
If true, after each SCF iteration Octopus will print information about the memory the code is using. The quantity reported is an approximation to the size of the heap and generally it is a lower bound to the actual memory Octopus is using.
Section Linear Response
Some response properties can be calculated either via Sternheimer linear response or by using finite differences. You can use this variable to select how you want them to be calculated, it applies to em_resp and vib_modes calculation modes. By default, the Sternheimer linear-response technique is used.
The linear response is obtained by solving a self-consistent
Sternheimer equation for the variation of the orbitals. This
is the recommended method.
Properties are calculated as a finite-differences derivative of
the energy obtained by several ground-state calculations. This
method, slow and limited only to static response, is kept
mainly because it is simple and useful for testing purposes.
Octopus usually stores binary information, such as the wavefunctions, to be used in subsequent calculations. The most common example is the ground-state states that are used to start a time-dependent calculation. This variable allows to control where this information is written to or read from. The format of this block is the following: for each line, the first column indicates the type of data, the second column indicates the path to the directory that should be used to read and write that restart information, and the third column, which is optional, allows one to set some flags to modify the way how the data is read or written. For example, if you are running a time-dependent calculation, you can indicate where Octopus can find the ground-state information in the following way:
restart_gs | "gs_restart"
restart_td | "td_restart"
The second line of the above example also tells Octopus that the time-dependent restart data should be read from and written to the "td_restart" directory.
In case you want to change the path of all the restart directories, you can use the restart_all option. When using the restart_all option, it is still possible to have a different restart directory for specific data types. For example, when including the following block in your input file:
restart_all | "my_restart"
restart_td | "td_restart"
the time-dependent restart information will be stored in the "td_restart" directory, while all the remaining restart information will be stored in the "my_restart" directory.
By default, the name of the "restart_all" directory is set to "restart".
Some CalculationModes also take into account specific flags set in the third column of the RestartOptions block. These are used to determine if some specific part of the restart data is to be taken into account or not when reading the restart information. For example, when restarting a ground-state calculation, one can set the restart_rho flags, so that the density used is not built from the saved wavefunctions, but is instead read from the restart directory. In this case, the block should look like this:
restart_gs | "restart" | restart_rho
A list of available flags is given below, but note that the code might ignore some of them, which will happen if they are not available for that particular calculation, or might assume some of them always present, which will happen in case they are mandatory.
Finally, note that all the restart information of a given data type is always stored in a subdirectory of the specified path. The name of this subdirectory is fixed and cannot be changed. For example, ground-state information will always be stored in a subdirectory named "gs". This makes it safe in most situations to use the same path for all the data types. The name of these subdirectories is indicated in the description of the data types below.
Currently, the available restart data types and flags are the following:
Option to globally change the path of all the restart information.
The data resulting from a ground-state calculation.
This information is stored under the "gs" subdirectory.
The data resulting from an unoccupied states calculation. This information also corresponds to a ground state and
can be used as such, so it is stored under the same subdirectory as the one of restart_gs.
The data resulting from a real-time time-dependent calculation.
This information is stored under the "td" subdirectory.
The data resulting from the calculation of the electromagnetic response using the Sternheimer approach.
This information is stored under the "em_resp" subdirectory.
The data resulting from the calculation of the electromagnetic response using finite-differences.
This information is stored under the "em_resp_fd" subdirectory.
The data resulting from the calculation of effective masses by k.p perturbation theory.
This information is stored under the "kdotp" subdirectory.
The data resulting from the calculation of vibrational modes.
This information is stored under the "vib_modes" subdirectory.
The data resulting from the calculation of van der Waals coefficients.
This information is stored under the "vdw" subdirectory.
The data resulting from a Casida calculation.
This information is stored under the "casida" subdirectory.
The data for optimal control calculations.
This information is stored under the "opt-control" subdirectory.
The data for the mesh partitioning.
This information is stored under the "partition" subdirectory.
The ground-state to be used with the td_occup and populations options of TDOutput.
This information should be a ground state, so the "gs" subdirectory is used.
Read the electronic states. (not yet implemented)
Read the electronic density.
Read the Hartree and XC potentials.
Read the SCF mixing information.
This flag allows to selectively skip the reading and writting of specific restart information.
Consider doing a ground-state calculation, and then restarting with new occupations set with the Occupations block, in an attempt to populate the orbitals of the original calculation. However, the eigenvalues may reorder as the density changes, in which case the occupations will now be referring to different orbitals. Setting this variable to yes will try to solve this issue when the restart data is being read, by reordering the occupations according to the order of the expectation values of the restart wavefunctions.
Restart data is written when the iteration number is a multiple of the RestartWriteInterval variable. For time-dependent runs this includes the update of the output controlled by the TDOutput variable. (Other output is controlled by OutputInterval.)