only when final data is read but also in case of restart, nscf calculations.
Function qexsd_readschema is now a subroutine, following the rule that
- functions should be preferred when only one variable is changed,
- subroutines should be used instead in all other cases.
name qexsd_readschema. Still not working for CP: it requires a way to read
CP-specific stuff without introducing CP-specific variables. Note: the routine
is now a function returning an error code (-1: no input, 0: all right, 1: no
file, 2-4: error reading general, parallel, output objects) that must be tested
in the calling program.
Routines filling xml objects: qexsd_init_*, with QE variables passed as
arguments, taken out from qexsd_module and moved to a separate qexsd_init
module in file Modules/qexsd_init.f90. In the process, some unused variables
have been removed and make.depend updated.
No true changes and no side effect expected, just some re-ordering.
There are still some qexsd_init_* routines that either follow a different
logic, or that are called inside routines in qexsd_module (notably: general,
parallel, timing info, MD steps) that write the xml file, or that contain
references to QE modules. These will be fixed sooner or later.
* The printout of ibrav in xml data file could be wrong if the
initializing routine had to be called multiple times because of the
missed iinitialization of optional pointers to NULL pointer.
* to describe cases with ibrav < 0 the new boolean attribute
use_alternative_axes has been added to the atomic_structure element
in the xml schema, ibrav < 0 corresponds to bravais_index = abs(ibrav)
and use_alternative_axes = .true.
* more pointers to optional arguments are now initialized run time for
the same reason
* the type n_opt_steps in convergence info has been moved from
positiveInteger to integer the allow the 0 value that is printed when
the structural relaxation makes no steps ( computet forces and stress
are already below the threshold )
The routine crashes wherever the number of strings used to compute the polarization is larger than the number of atoms within the system. The reason is an error in the allocation of memory associated to the str_pol_obj.
1. Added in input/electron_control the element real_space_beta.
It is equivalent to real_space = .true. in the namelist input
2. Added in algorithmic info a real_space_beta which indicates whether
beta projectors are applied in direct space.
3. Fixed the real_space_q variable in which now copied in the file the value of
tqr internal variable of pw
4. Added to output/convergence_info/scf_conv the boolean element convergence_achieved
5. Added to ouptut/convergence_info/opt_conv the boolean element convergence_achieved
6. The output/convergence_info element has been set as optional in the schema and now
in printed only by pw while cp omits printing it.
added the gate element to the electric field section of the xml file.
the initialization of the electric field element in pw_restart new
has been reorganized.
the insertion of optional arguments in qexsd_init subroutines has been
modified. Instead of having a different call for each case with
differentdifferente arguments now a single call is done. Optional
arguments may be allocated according the case. To keep compatibility
with older gfortran versions allocatable scalars are treated as one
dimensional arrays.
PW/src/add_qexsd_step.f90 has been modified and now expects input
argumenarguments in Hartree units.
In CP, this was leading to printing of (harless but incorrect) half ot the
true value of all energy terms. I think that interface routines in qexsd.f90
should accepot Hartree both when reading and when writing.
NOTE: the call to qexsd_init_total_energy in qexsd_step_addstep was in my
opinion not correct before (now I think it is)
IMPORTANT NOTE: in LSDA nbnd is the sum of up and down nbnd, as it should be,
so it must be divided by 2 in PW when it is read from file
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13499 c92efa57-630b-4861-b058-cf58834340f0
qexsd_init_band_structure was needed in order to allow the number of bands
for spin up and for spin down to be different. Some cleanup (a tiny fraction
of what is needed) in cp_restart_new.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13483 c92efa57-630b-4861-b058-cf58834340f0
- error message in latgen also for negative ibrav
- double grid warning for NCPP only if no core charge (Hyungjun Lee)
- PGI problem with new xml format: do not pass unallocated arrays
- more updates to (still unfinished) cp_restart_new
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13459 c92efa57-630b-4861-b058-cf58834340f0
"--disable-xml", or add -D__OLDXML to MANUAL_FLAGS in make.inc, to revert
to the old xml format (note: configure is not yet updated). IMPORTANT NOTICE:
some codes *.e.g CP) will no longer work with the default choice, until fixed.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13405 c92efa57-630b-4861-b058-cf58834340f0