Basic Improvements

The following improvements were made:

  1. The random number generator is appended to the end of the coord.d file. This ensures that after a restart, the same results are obtained as if the code would not have been stopped.
  2. I gave control of flushing I/O back to the operating system.
  3. I set the third Nordsieck parameter from the forces if it is undefined (i.e. all zero). This should reduce startup-transients.
  4. I write output for the initial state too, as you would normally like. The program only did output after a step was taken.
  5. I added a, currently trivial, subroutine step_end_hook, which can be used to perform desired custom output after each time step, or whatever.
  6. I also wrote the potential energy per atom out to output.d.
  7. I reduced the screen output frequency, but increased the amount of info written to the screen.
  8. I put in smoothing of the cut-off in the rotational potential.
  9. I put in removal of the jump in the Lennard-Jones potential.
  10. The files are ready to run.

Files

Unzipping mdmod.zip will create a directory mdexe with the following modified or new files:

check_box.f
close.inc
common_files.inc
common_leon.inc
coord_read_hook.f
coord_write_hook.f
flush.f
input.d
main.f
open.inc
param_mod.f
parameters.inc
random_numbers.f
read_write.f
setin.f
setr2.f
setran_hook.f
step_end-hook.f
subroutines.inc

Note: I initially wanted to create a version of main.f without energy minimization and tight-binding, by making special crashing subroutines minimize_bo.f and tight_bind_bo.f. But since the executable was only 70 kb smaller, I concluded it was not worth it.


Return