G
Name GaugeFieldDelay
Section Hamiltonian
Type float
Default 0.
The application of the gauge field acts as a probe of the system. For dynamical
systems one can apply this probe with a delay relative to the start of the simulation.
Name GaugeFieldDynamics
Section Hamiltonian
Type integer
Default polarization
This variable select the dynamics of the gauge field used to
apply a finite electric field to periodic systems in
time-dependent runs.
Options:
- none:
The gauge field does not have dynamics. The induced polarization field is zero.
- polarization:
The gauge field follows the dynamic described in
Bertsch et al, Phys. Rev. B 62 7998 (2000).
Name GaugeFieldPropagate
Section Hamiltonian
Type logical
Default no
Propagate the gauge field with initial condition set by GaugeVectorField or zero if not specified
Name GaugeVectorField
Section Hamiltonian
Type block
The gauge vector field is used to include a uniform (but time-dependent)
external electric field in a time-dependent run for
a periodic system. An optional second row specifies the initial
value for the time derivative of the gauge field (which is set
to zero by default). By default this field is not included.
If KPointsUseSymmetries = yes, then SymmetryBreakDir
must be set in the same direction.
This is used with utility oct-dielectric_function
according to GF Bertsch, J-I Iwata, A Rubio, and K Yabana,
Phys. Rev. B 62, 7998-8002 (2000).
Name GOCenter
Section Calculation Modes::Geometry Optimization
Type logical
Default no
(Experimental) If set to yes, Octopus centers the geometry at
every optimization step. It also reduces the degrees of
freedom of the optimization by using the translational
invariance.
Name GOConstrains
Section Calculation Modes::Geometry Optimization
Type block
If XYZGOConstrains, PDBConstrains, and XSFGOConstrains
are not present, Octopus will try to fetch the geometry optimization
contrains from this block. If this block is not present, Octopus
will not set any constrains. The format of this block can be
illustrated by this example:
%GOConstrains
‘C’ | 1 | 0 | 0
‘O’ | 1 | 0 | 0
%
Coordinates with a constrain value of 0 will be optimized, while coordinates with a constrain different from zero will be kept fixed. So, in this example the x coordinates of both atoms will remain fixed and the distance between the two atoms along the x axis will be constant.
Note: It is important for the constrains to maintain the ordering
in which the atoms were defined in the coordinates specifications.
Moreover, constrains impose fixed absolute coordinates, therefore
constrains are not compatible with GOCenter = yes
Name GOFireIntegrator
Section Calculation Modes::Geometry Optimization
Type integer
Default verlet
The Fire algorithm (GOMethod = fire) uses a molecular dynamics
integrator to compute new geometries and velocities.
Currently, two integrator schemes can be selected
Options:
- verlet:
The Velocity Verlet algorithm.
- euler:
The Euler method.
Name GOFireMass
Section Calculation Modes::Geometry Optimization
Type float
Default 1.0 amu
The Fire algorithm (GOMethod = fire) assumes that all degrees of freedom
are comparable. All the velocities should be on the same
scale, which for heteronuclear systems can be roughly
achieved by setting all the atom masses equal, to the value
specified by this variable.
By default the mass of a proton is selected (1 amu).
However, a selection of GOFireMass = 0.01 can, in manys systems,
speed up the geometry optimization procedure.
If GOFireMass <= 0, the masses of each
species will be used.
Name GOLineTol
Section Calculation Modes::Geometry Optimization
Type float
Default 0.1
Tolerance for line-minimization. Applies only to GSL methods
that use the forces.
WARNING: in some weird units.
Name GOMaxIter
Section Calculation Modes::Geometry Optimization
Type integer
Default 200
Even if the convergence criterion is not satisfied, the minimization will stop
after this number of iterations.
Name GOMethod
Section Calculation Modes::Geometry Optimization
Type integer
Default fire
Method by which the minimization is performed. For more information see the
GSL documentation.
Options:
- steep:
Simple steepest descent.
- steep_native:
(Experimental) Non-gsl implementation of steepest descent.
- cg_fr:
Fletcher-Reeves conjugate-gradient algorithm. The
conjugate-gradient algorithm proceeds as a succession of line
minimizations. The sequence of search directions is used to build
up an approximation to the curvature of the function in the
neighborhood of the minimum.
- cg_pr:
Polak-Ribiere conjugate-gradient algorithm.
- cg_bfgs:
Vector Broyden-Fletcher-Goldfarb-Shanno (BFGS) conjugate-gradient algorithm.
It is a quasi-Newton method which builds up an approximation to the second
derivatives of the function f using the difference between successive gradient
vectors. By combining the first and second derivatives, the algorithm is able
to take Newton-type steps towards the function minimum, assuming quadratic
behavior in that region.
- cg_bfgs2:
The bfgs2 version of this minimizer is the most efficient version available,
and is a faithful implementation of the line minimization scheme described in
Fletcher, Practical Methods of Optimization, Algorithms 2.6.2 and 2.6.4.
- simplex:
This is experimental, and in fact, not recommended unless you just want to
fool around. It is the Nead-Melder simplex algorithm, as implemented in the
GNU Scientific Library (GSL). It does not make use of the gradients (i.e., the
forces) which makes it less efficient than other schemes. It is included here
for completeness, since it is free.
- fire:
The FIRE algorithm. See also GOFireMass and GOFireIntegrator.
Ref: E. Bitzek, P. Koskinen, F. Gahler, M. Moseler, and P. Gumbsch, Phys. Rev. Lett. 97, 170201 (2006).
Name GOMinimumMove
Section Calculation Modes::Geometry Optimization
Type float
Convergence criterion, for stopping the minimization. In
units of length; minimization is stopped when the coordinates
of all species change less than GOMinimumMove, or the
GOTolerance criterion is satisfied.
If GOMinimumMove < 0, this criterion is ignored.
Default is -1, except 0.001 b with GOMethod = simplex.
Note that if you use GOMethod = simplex,
then you must supply a non-zero GOMinimumMove.
Name GOObjective
Section Calculation Modes::Geometry Optimization
Type integer
Default minimize_energy
This rather esoteric option allows one to choose which
objective function to minimize during a geometry
minimization. The use of this variable may lead to
inconsistencies, so please make sure you know what you are
doing.
Options:
- minimize_energy:
Use the total energy as objective function.
- minimize_forces:
Use $\sqrt{\sum_i \left| f_i \right|^2}$ as objective function.
Note that in this case one still uses the forces as the gradient of the objective function.
This is, of course, inconsistent, and may lead to very strange behavior.
Name GOStep
Section Calculation Modes::Geometry Optimization
Type float
Initial step for the geometry optimizer. The default is 0.5.
WARNING: in some weird units.
For the FIRE minimizer, default value is 0.1 fs,
and corresponds to the initial time-step for the MD.
Name GOTolerance
Section Calculation Modes::Geometry Optimization
Type float
Default 0.001 H/b (0.051 eV/A)
Convergence criterion, for stopping the minimization. In
units of force; minimization is stopped when all forces on
ions are smaller than this criterion, or the
GOMinimumMove is satisfied. If GOTolerance < 0,
this criterion is ignored.
Name GOType
Section Calculation Modes::Geometry Optimization
Type flag
Default ions
This variable defines which parameters are allowed to change during the optimization.
Multiple options can be chosen e.g. “ion_positions + cell_shape”.
Only one type of lattice vectors relaxation is possible.
Options:
- ion_positions:
Relax position of ions
- cell_shape:
Relax cell shape. This changes lattice vector lengths and directions.
- cell_volume:
Relax cell volume. Only allow for rescaling the lengths of lattice vectors.
Name GPUAwareMPI
Section Execution::Accel
Type logical
If Octopus was compiled with GPU support and MPI support and if the MPI
implementation is GPU-aware (i.e., it supports communication using device pointers),
this switch can be set to true to use the GPU-aware MPI features. The advantage
of this approach is that it can do, e.g., peer-to-peer copies between devices without
going through the host memory.
The default is false, except when the configure switch –enable-cudampi is set, in which
case this variable is set to true.
Name GuessMagnetDensity
Section SCF::LCAO
Type integer
Default ferromagnetic
The guess density for the SCF cycle is just the sum of all the atomic densities.
When performing spin-polarized or non-collinear-spin calculations this option sets
the guess magnetization density.
For anti-ferromagnetic configurations, the user_defined option should be used.
Note that if the paramagnetic option is used, the final ground state will also be
paramagnetic, but the same is not true for the other options.
Options:
- paramagnetic:
Magnetization density is zero.
- ferromagnetic:
Magnetization density is the sum of the atomic magnetization densities.
- random:
Each atomic magnetization density is randomly rotated.
- user_defined:
The atomic magnetization densities are rotated so that the magnetization
vector has the same direction as a vector provided by the user. In this case,
the AtomsMagnetDirection block has to be set.
Name GyromagneticRatio
Section Hamiltonian
Type float
Default 2.0023193043768
The gyromagnetic ratio of the electron. This is of course a physical
constant, and the default value is the exact one that you should not
touch, unless:
(i) You want to disconnect the anomalous Zeeman term in the Hamiltonian
(then set it to zero; this number only affects that term);
(ii) You are using an effective Hamiltonian, as is the case when
you calculate a 2D electron gas, in which case you have an effective
gyromagnetic factor that depends on the material.