1. Ports to new machines or machine specific changes
5. ALGORITHMS: additions or changes to existing functional ability
·
added new sysvars.sp3npaci submitted by Filipe Ribeiro
· added updates of fft_macros.m4h and fft_workspace.f90p for the
new SGI
math
library used on Hodgkin (sgi o2000) at cambridge.
· fixed bug in read_band
routine. Changed declaration of
mmin to be a 2-dim array.
·
fixed bug that arose when relaxing at a fixed pressure. It was introduced in
5.1.8.
· fixed
a bug in relax_method 2 (the limted memory BFGS option)
the problem
arised with multiple types of atoms with differing numbers of
atoms of said type.
· fixed bug in flevel to change the value
of ifmax that was causing
problems
in the nmr code. - thanks to mickael Profeta
·
added keywords iter_diag_add and iter_diag_add_metal. The values
associated with these keywords add the number of extra CG
iterations
above max_iter_diag for the Grassmann and Grassmann_metal
methods
respectively. These additional iterations are done until the
norm of
the gradient
decreases by 70% or max_iter_diag + iter_diag_add is reached
· fixed output for data explorer (dxplot
files) pursuant to changes
proposed by Filipe Ribeiro. This was a
known problem as the code
defines
the structure factor backwards.
· added output flags to choose
specific wavefunctions in output
for GW
code. added num_gwout for fixed # of bands and gwout_mid_energy
to specify
energy level num_gwout WF are output on either side of this
value.
Also can input gwout_low_energy and
gwout_high_energy can also
be used if
an energy window is preferred over the fixed # of bands method
· added updates to perlibs out.pm and
pw_log.pm
· fixed output of wavefunctions to handle
spin in naming of output files
thanks to Je-Luen Li for suggestion.
· altered the thom_fer routine to check if the total energy is
minimized.
If not the
charge density is reset and the CG routine is also reset.
· altered pulay mixing to use the last 20 SCF iterations
instead
of
restarting at a set number. More stable and better.
· altered
the algorithm for deciding the number of additional CG steps
to do for
Grassmann_metal. No absolute minimum and only 3 additional.
· altered the Grassmann_metal algorithm to
change the number of bands
for each
k-point so that each k-point has at most an additional 15 bands
on top of
any bands with an occupation above 1d-12.
Before it
was a fixed number which was in efficient as different bands
may have
widely varying occupations
· fixed
a bug in grassmann_metal. The occupations had been made to be
reused when
MD was put in. We do not want to reuse them when the unit
cell
changes during relaxation. A check for wavefunction reuse ( and thus
equivalently also for unit cell celaxation) was put in to remedy the
situation.
· for
Grassmann_metal option, the 1st SCF cycle is done with Grassmann as
no
occupation values are available. This is set to be done even when
MD is done.
May want to change this in future.
· added
iter_diag_add to maxit in check for return when too many resets are
done in Grassmann and Grassmann_metal