- reversed a recent change to "input_from_file" that has made temporary files
"input_tmp.in" to appear after running many executables
- in epw_readin.f90 and phq_readin.f90, call to "input_from_file" replaced by
"open_input_file"; added call to "close_input_file" to remove temporary file
- Various cleanup and streamlining
We implemented the new vdW-DF type functionals vdW-DF3-opt1, vdW-DF3-opt2, and
vdW-DF-C6. For purposes of non-local functional implementation and evaluation,
we also grouped similar implementations into ranges for the "inlc" variable. To
this end, we have reserved inlc=1 to inlc=25 for vdW-DF development and we
moved rVV10 to inlc=26. This allows for a cleaner code when parsing through the
various non-local functionals. In addition, we have removed all instances of
"inlc" and "get_inlc" in several source files where they are no longer needed.
This work was performed by T. Thonhauser and is supported by NSF Grant No.
1712425.
The old restriction on allocatable arrays in derived type no longer applies,
so all pointers in the derived-type upf variables are converted to allocatable
questionable usefulness) in upf%grid%, and finally another one in module atom,
pointing to the former, or vice versa. The latter was set when the pseudo file
were read. I don't think this makes sense, so I removed upf%grid and set up the
grid in module atom after the upf variable is read.
BEWARE: not sure I correctly decyphered the (il)logic of grids in atomic/src/.
Additionally: fixed a few more glitches in the broadcast of upf%.
Most of the changes consist in small updates to Makefile and make.depend and
in the replacement of module "parameters" with "upf_params" whenever variables
lmaxx and lqmax are USEd. Routine "read_pseudo" moved back to Modules/;
"simpsn" moved to upflib/; a copy of "matches" temporarily added to upflib/
Note that everything compiles (except EPW) but nothing has been tested yet!