"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c :link(lws,http://lammps.sandia.gov) :link(ld,Manual.html) :link(lc,Section_commands.html#comm) :line fix qbmsst command :h3 [Syntax:] fix ID group-ID qbmsst dir shockvel keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l qbmsst = style name of this fix :l dir = {x} or {y} or {z} :l shockvel = shock velocity (strictly positive, velocity units) :l zero or more keyword/value pairs may be appended :l keyword = {q} or {mu} or {p0} or {v0} or {e0} or {tscale} or {damp} or {seed}or {f_max} or {N_f} or {eta} or {beta} or {T_init} :l {q} value = cell mass-like parameter (mass^2/distance^4 units) {mu} value = artificial viscosity (mass/distance/time units) {p0} value = initial pressure in the shock equations (pressure units) {v0} value = initial simulation cell volume in the shock equations (distance^3 units) {e0} value = initial total energy (energy units) {tscale} value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) {damp} value = damping parameter (time units) inverse of friction γ {seed} value = random number seed (positive integer) {f_max} value = upper cutoff frequency of the vibration spectrum (1/time units) {N_f} value = number of frequency bins (positive integer) {eta} value = coupling constant between the shock system and the quantum thermal bath (positive unitless) {beta} value = the quantum temperature is updated every beta time steps (positive integer) {T_init} value = quantum temperature for the initial state (temperature units) :pre :ule [Examples:] fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units) fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units) :pre Two example input scripts are given, including shocked alpha quartz and shocked liquid methane. The input script first equilibrate an initial state with the quantum thermal bath at the target temperature and then apply the qbmsst to simulate shock compression with quantum nuclear correction. The following two figures plot related quantities for shocked alpha quartz. :c,image(JPG/qbmsst_init.jpg) Figure 1. Classical temperature Tcl = ∑ mivi2/3NkB vs. time for coupling the alpha quartz initial state with the quantum thermal bath at target quantum temperature Tqm = 300 K. The NpH ensemble is used for time integration while QTB provides the colored random force. Tcl converges at the timescale of {damp} which is set to be 1 ps. :c,image(JPG/qbmsst_shock.jpg) Figure 2. Quantum temperature and pressure vs. time for simulating shocked alpha quartz with the QBMSST. The shock propagates along the z direction. Restart of the QBMSST command is demonstrated in the example input script. Thermodynamic quantities stay continuous before and after the restart. [Description:] This command performs the Quantum-Bath coupled Multi-Scale Shock Technique (QBMSST) integration. See "(Qi)"_#Qi for a detailed description of this method. The QBMSST provides description of the thermodynamics and kinetics of shock processes while incorporating quantum nuclear effects. The {shockvel} setting determines the steady shock velocity that will be simulated along direction {dir}. Quantum nuclear effects "(fix qtb)"_fix_qtb.html can be crucial especially when the temperature of the initial state is below the classical limit or there is a great change in the zero point energies between the initial and final states. Theoretical post processing quantum corrections of shock compressed water and methane have been reported as much as 30% of the temperatures "(Goldman)"_#Goldman. A self-consistent method that couples the shock to a quantum thermal bath described by a colored noise Langevin thermostat has been developed by Qi et al "(Qi)"_#Qi and applied to shocked methane. The onset of chemistry is reported to be at a pressure on the shock Hugoniot that is 40% lower than observed with classical molecular dynamics. It is highly recommended that the system be already in an equilibrium state with a quantum thermal bath at temperature of {T_init}. The fix command "fix qtb"_fix_qtb.html at constant temperature {T_init} could be used before applying this command to introduce self-consistent quantum nuclear effects into the initial state. The parameters {q}, {mu}, {e0}, {p0}, {v0} and {tscale} are described in the command "fix msst"_fix_msst.html. The values of {e0}, {p0}, or {v0} will be calculated on the first step if not specified. The parameter of {damp}, {f_max}, and {N_f} are described in the command "fix qtb"_fix_qtb.html. The fix qbmsst command couples the shock system to a quantum thermal bath with a rate that is proportional to the change of the total energy of the shock system, etot - etot0. Here etot consists of both the system energy and a thermal term, see "(Qi)"_#Qi, and etot0 = {e0} is the initial total energy. The {eta} (η) parameter is a unitless coupling constant between the shock system and the quantum thermal bath. A small {eta} value cannot adjust the quantum temperature fast enough during the temperature ramping period of shock compression while large {eta} leads to big temperature oscillation. A value of {eta} between 0.3 and 1 is usually appropriate for simulating most systems under shock compression. We observe that different values of {eta} lead to almost the same final thermodynamic state behind the shock, as expected. The quantum temperature is updated every {beta} (β) steps with an integration time interval {beta} times longer than the simulation time step. In that case, etot is taken as its average over the past {beta} steps. The temperature of the quantum thermal bath Tqm changes dynamically according to the following equation where Δt is the MD time step and γ is the friction constant which is equal to the inverse of the {damp} parameter.