1. Ports to new machines or machine specific changes
4. DEFAULTS in input and throughout the code
7. MINOR or relatively insignificant changes
8. ALGORITHMS: additions or changes to existing functional ability
· removed symbolic links not needed for SR2201
· put in m4_ifnotdef([GPFA] if SR2201 is defined so multiple defintion (jry beleived was reason for crashing on SR2201 doesn’t occur
· Added additional fft numbers for the alpha – Peter Haynes
· bug-fix: change to way data is braodcast to nodes in read_blochl_operator
· bug-fix: small change to initialise an array in recon_crys_j.f90 and recon_j.f90. Was causing SR2201 to crash
· fixed output of kinetic energy of largest unconverged potential element
· Added Grassmann and Grassmann_metal as diagonalization_method for use in SCF methods
· Added Grassmann as diagonalization_method for use in direct methods for insulators
· Added keyword method_mix for choosing new mixing methods
For pulay_tf mixing method there are also options
PTF_num_init_PK def=2 - specifies # of pulay_kerker steps before starting the pulay_tf mixing
PTF_max_iter_cg def=40 - specifies # of conjugate gradient steps in solving the TFW equations
· Modified esdf_mod by adding the lines at 273 Integer :: temp1, Index & at 349d346 temp1 = Index(ctemp,divide) –MC
· Modified input_read.f90 to include option of occupy_levels excited
· begin deformation option
· keywords pp_format and pp_data (necessary for format 3: from FHIPP98 code)
The latter is input withing the block “begin pseudopotential”.
· added the keyword energy_convergence_criterion (default =1d-12)
· set energs%vxc0 = 0 in velect. Needed for pulay_tf mixing
· in spec_test.f90 changed tolerance = 1d-9 and delta = 1d-8 – suggested correction by David Roundy for negative local density of states
· in direct_emin changed ipr to the start_vectors from 0 to 2 – Michel Cote or Peter Haynes
· in dxplot changed outfilename len to 9 from 7
· in lineplot changed outfilename len to 9 from 7
· made diag_method default Mauri for SCF and Grassmann for “optimize insulator”
· changed nfkp from 10000 to 100000. This is the # of kpts in the full zone. Could do something better than just changing default.
· made default mix_method pulay_keker
· added additional output of timing and # of H*Psi operations after every SCF cycle or direct minimization step.
· Added output of submatrix cutoff and diagonalization method to output of parameters in print_pwparams
· Added option diagconv to output flag for putting (G.G) to OUT
· got rid of dgeco and dgedi in ze_hodgkin.f90
· cleaned up input_read.f90 and relax.f90 so that the pw_params is single structure throughout the code.
· added PERL changes of DJR - 10/17
· changed buffer handling in pwmain.f90p before some calls to dxplot- Peter Hyanes
· added support for symmetric matrix inversion (Lapack) and some real*8 (BLAS) in flibcalls.m4h
· added Grassmann_metal algorithm that incorporates occupations into the minimization in order to handle metals better. Routine is diag_ham_metal_gcg.f90
· added Grassmann conjugate gradient algorithm option for SCF and direct methods by adding cgemin_gcg and diagonalize_method_gcg routines
· added method_mix pulay_tf for the Thomas-Fermi mixing replacing the kerker
· added pulay_kerker mixing implemented with new keyword method_mix pulay_kerker
· added new option to flevel.90 to occupy homo and lumo at .5 by occupy_levels excited
· Currently paratec simply uses a symmetric deformation tensor. This is reasonable, but there are times when it is helpful to specify more carefully which directions you want to hold fixed. There is no way to simply specify that you don't want the crystal to rotate, as that is undefined. The best that you can do is to specify a direction that is unrotated, and a plane in which that direction lies which is unrotated. This uses up your rotational degrees of freedom.
· added functionality of convergence by energy