[DFTB-Plus-User] MD: Rapid overheating crashes melt-and-quench procedure

Christian Søndergaard Pedersen chrsop at dtu.dk
Tue Jun 23 21:08:30 CEST 2020


Greetings,


I am having trouble melting a structure using DFTB+. Ideally, I want to use the Nosé thermostat, but I have been trying Berendsen as well. Specifically, at some point the temperature (and pressure) will increase rapidly and the calculation crashes. I have tried the following:


Applying the Stoner-Wales defect template from the recipes to my system (crashes)

Changing thermostats between berendsen and nose-hoover (using highest phonon frequency - both crashed)

Adding/removing 1atm (10e5 Pa) pressure barostat (crashed)

Reducing the timestep to Timestep [fs] = 0.2 (crashes)


The problem sometimes occurs at step ~5000 or even ~10000. It goes away somewhat if I use the MD module within ASE and call dftb+ as a calculator, but there's a significant overhead to this, partly due to having to control the temperature ramp/quench using a for loop (that's the only way I have figured out, at any rate). I would much rather just run dftb+.


I am appending a sample dftb_in.hsd script to this e-mail. I am using only the Gamma point, but my cell has lattice parameters (12.5, 14.8 and 11.49) and I really just want to create an amorphous structure, so accuracy is less important. Any advice on combating this issue will be greatly appreciated.


Best regards
Christian


Geometry = GenFormat {
  <<< geo.gen
}

Driver = VelocityVerlet {

  # Using a thermostat, so conserved properties of dynamics are less #
  # important
  TimeStep [Femtosecond] = 0.25

  Thermostat = Berendsen {

    # Probabalistically replaces atomic velocities from a
    # Maxwell-Boltzmann distribution
    TimeScale [ps] = 0.1

    # Simulated annealing profile for the temperature
    Temperature [Kelvin] = TemperatureProfile {
      constant      1    100.0 # Start
      linear     2449   5000.0 # Ramp up
      constant   2000   5000.0 # 'cook'
      linear     2449    100.0 # Quench
    }

    AdaptFillingTemp = Yes # Adjust electron temperature to match

  }

  Barostat { # Apply pressure control
    Pressure [Pa] = 1.0E5
    Timescale [ps] = 0.1
  }

  MDRestartFrequency = 1 # Only write output every 10 steps

  OutputPrefix = "geo_end"

}

Hamiltonian = DFTB {
  SCC = Yes
  MaxAngularMomentum {
    O = "p"
    Ta = "d"
  }

  Charge = 0.0

  Filling = Fermi {} # electronic temperature is controlled by the
  # thermostat

  SlaterKosterFiles = Type2FileNames {
    Prefix = "./"
    Separator = "-"
    Suffix = ".skf"
  }
  # Gamma point - use more accurate sampling for a realistic calculation
  KPointsAndWeights {
    0 0 0 1.0
  }
}

Analysis {
  MullikenAnalysis = No
  WriteBandOut = No
}

Options {
  WriteDetailedOut = No
  RandomSeed = 589105024 # specify the rand number generator
  # starting seed
}

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.zfn.uni-bremen.de/pipermail/dftb-plus-user/attachments/20200623/863517a2/attachment.htm>


More information about the DFTB-Plus-User mailing list