34 lines
3.3 KiB
Plaintext
34 lines
3.3 KiB
Plaintext
## This script first uses fix qtb to equilibrate liquid methane to an initial state with quantum nuclear correction and then simulate shock induced chemical reactions through the quantum thermal bath multi-scale shock technique
|
|
#The default system size may take a while to run you can change to a smaller size
|
|
variable x_rep equal 5 #x-direction replication number
|
|
variable y_rep equal 5 #y-direction replication number
|
|
variable z_rep equal 10 #z-direction replication number
|
|
variable temperature equal 110.0 #Target quantum temperature (K in real units)
|
|
variable delta_t equal 0.25 #MD timestep length (fs in real units)
|
|
variable damp_qtb equal 200 #1/gamma where gamma is the friction coefficient in quantum thermal bath (fs in real units)
|
|
variable v_msst equal 0.122 #Shock velocity (Angstrom/fs in metal units)
|
|
variable q_msst equal 25.0 #Box mass-like parameter in the MSST (mass^2/length^4, where mass=grams/mole and length=Angstrom in real units)
|
|
variable mu_msst equal 0.9 #Artificial viscosity in the MSST (mass/length/time, where mass=grams/mole, length=Angstrom and time=fs in real units)
|
|
variable tscale_msst equal 0.01 #Temperature reduction parameter in the MSST (unitless)
|
|
variable eta_qbmsst equal 1.0 #Coupling constant between the shock and the quantum thermal bath (unitless constant)
|
|
|
|
|
|
##The included part first constructs a liquid methane structure of a given size. It then uses fix qtb to equilibrate the computational cell to the specified temperature and pressure.
|
|
include methane_qtb.mod
|
|
|
|
|
|
##Shock compression with quantum nuclear corrections
|
|
reset_timestep 0
|
|
fix shock all qbmsst z ${v_msst} q ${q_msst} mu ${mu_msst} tscale ${tscale_msst} damp ${damp_qtb} f_max 0.3 N_f 50 seed 35082 eta ${eta_qbmsst} beta 400 T_init ${temperature}
|
|
fix_modify shock energy yes
|
|
variable dhug equal f_shock[1]
|
|
variable dray equal f_shock[2]
|
|
variable lgr_vel equal f_shock[3]
|
|
variable lgr_pos equal f_shock[4]
|
|
variable T_qm equal f_shock[5] #Temperature with quantum nuclear correction
|
|
thermo_style custom step v_T_qm press etotal vol lx ly lz pzz v_dhug v_dray v_lgr_vel v_lgr_pos
|
|
thermo 20
|
|
timestep ${delta_t}
|
|
#restart 1000 restart
|
|
run 500
|