~roberto-robles/siesta/trunk-RRR

« back to all changes in this revision

Viewing changes to Src/Makefile

  • Committer: Nick Papior
  • Date: 2016-08-18 05:56:45 UTC
  • Revision ID: nickpapior@gmail.com-20160818055645-judotnqdl75x5y9b
Run all tests, solved merge problems and updated convergence criteria

- Re-run all tests.

  This showed a couple of interesting things.

  1. There was a mistake in the compute_dm code after
  the PEXSI merge when spin-orbit coupling was introduced
  2. I have removed Hprev as it essentially is the same as
  Hold. Either way it shouldn't produce a huge difference
  in the tracking of the dEbs, etc. (after all they are
  not physically used other than for convergence criteria)
  3. The change to SCF.Mix Hamiltonian resulted in a huge
  number of changes in the output. This is because the first
  step prints out the energies at INIT. However, the Hamiltonian
  is different because it is initialized after the compute_dm step.

- Changed the logic in convergence criteria.
  Now the convergence criterias are additive and may be fully controlled.
  However, at least one convergence criteria must be used.

  Now the default convergence criteria is both the Hamiltonian and the density
  matrix.

  This is updated in the manual and the compatibility note.

- Initially I thought the above differences in the energies was
  due to inconsistencies after r538. Hence I have created some
  simple routines in the m_energies.f90 code which updates a selected
  few of the energies.
  I think this should be adopted in the future to ensure that all
  calls to update energies are consistent.
  This will make changes to energy calculations less error-prone.

- Implemented the spin-type in the following routines:
   compute_dm
   final_H_f_stress
   state_init

- Changed the m_compute_max_diff to an interface code with appropriate
  size calculations. There was no reason for explicitly using the
  sparse pattern.

- Fixed a bug in the molecularmechanics code (introduced by Nick r542)

- Added a cyclediffs.sh script which loops on OUT.diffs files and
  it lets one easily cycle the diffs, simply do:

  cd Tests
  make check
  ./cyclediffs.sh

  and answer all the questions. Basically it makes deletes OUT.diffs
  which you have agreed isn't really a change.

- The tests may now be runned via:

   make MPI="mpirun -np 4"
   
  which then uses the default SIESTA location.

  Currently the script checks whether mpirun/mpiexec
  is in SIESTA variable, and if so, does not use MPI variable.
  This makes it easier to decide on the number of cores without
  writing the full path.

Show diffs side-by-side

added added

removed removed

Lines of Context:
658
658
compute_energies.o: files.o m_dipol.o m_energies.o m_mpi_utils.o m_ntm.o
659
659
compute_energies.o: m_rhog.o m_spin.o precision.o siesta_geom.o
660
660
compute_energies.o: siesta_options.o sparse_matrices.o
661
 
compute_max_diff.o: atomlist.o m_mpi_utils.o m_spin.o precision.o
662
 
compute_max_diff.o: sparse_matrices.o
 
661
compute_max_diff.o: m_mpi_utils.o precision.o
663
662
compute_norm.o: m_mpi_utils.o m_spin.o precision.o sparse_matrices.o
664
663
compute_pw_matrix.o: alloc.o m_planewavematrix.o m_planewavematrixvar.o
665
664
compute_pw_matrix.o: parallel.o precision.o siesta2wannier90.o
736
735
fft.o: alloc.o fft1d.o m_timer.o mesh.o parallel.o parallelsubs.o precision.o
737
736
fft.o: sys.o
738
737
fft1d.o: parallel.o precision.o sys.o
739
 
final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o dnaefs.o files.o
740
 
final_H_f_stress.o: grdsam.o kinefsm.o ldau.o ldau_specs.o m_dipol.o
741
 
final_H_f_stress.o: m_energies.o m_forces.o m_gamma.o m_hsx.o m_mpi_utils.o
742
 
final_H_f_stress.o: m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o m_stress.o
743
 
final_H_f_stress.o: m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o m_ts_options.o
744
 
final_H_f_stress.o: metaforce.o molecularmechanics.o naefs.o nlefsm.o overfsm.o
745
 
final_H_f_stress.o: parallel.o siesta_geom.o siesta_options.o sparse_matrices.o
746
 
final_H_f_stress.o: spinorbit.o sys.o
 
738
final_H_f_stress.o: alloc.o atomlist.o class_SpData2D.o compute_max_diff.o
 
739
final_H_f_stress.o: dnaefs.o files.o grdsam.o kinefsm.o ldau.o ldau_specs.o
 
740
final_H_f_stress.o: m_dipol.o m_energies.o m_forces.o m_gamma.o m_hsx.o
 
741
final_H_f_stress.o: m_mpi_utils.o m_ncdf_siesta.o m_ntm.o m_spin.o m_steps.o
 
742
final_H_f_stress.o: m_stress.o m_ts_global_vars.o m_ts_io.o m_ts_kpoints.o
 
743
final_H_f_stress.o: m_ts_options.o metaforce.o molecularmechanics.o naefs.o
 
744
final_H_f_stress.o: nlefsm.o overfsm.o parallel.o siesta_geom.o
 
745
final_H_f_stress.o: siesta_options.o sparse_matrices.o spinorbit.o sys.o
 
746
final_H_f_stress.o: units.o
747
747
find_kgrid.o: alloc.o minvec.o parallel.o precision.o units.o
748
748
fire_optim.o: alloc.o m_fire.o m_mpi_utils.o parallel.o precision.o
749
749
fire_optim.o: siesta_options.o units.o