From 7b2bedafb553d5073f131139b3167dc3959b7113 Mon Sep 17 00:00:00 2001 From: wujing81 Date: Wed, 8 Mar 2023 10:49:43 +0800 Subject: [PATCH 1/2] Lammps template for MD+MC --- examples/run/dp-lammps-MC+MD/param.json | 126 ++++++++++++++++++ .../run/dp-lammps-MC+MD/template/lammps.in | 55 ++++++++ 2 files changed, 181 insertions(+) create mode 100644 examples/run/dp-lammps-MC+MD/param.json create mode 100644 examples/run/dp-lammps-MC+MD/template/lammps.in diff --git a/examples/run/dp-lammps-MC+MD/param.json b/examples/run/dp-lammps-MC+MD/param.json new file mode 100644 index 000000000..32f3df184 --- /dev/null +++ b/examples/run/dp-lammps-MC+MD/param.json @@ -0,0 +1,126 @@ +{ + "type_map": ["Sr", "Pb", "Ti", "O"], + "mass_map": [87.62, 207.2, 47.867, 15.999], + "init_data_prefix": "./data", + "init_data_sys": [ + "deepmd" + ], + + "sys_configs": [ + ["someplace/POSCAR"] + ], + + "_comment": " 00.train ", + "numb_models": 4, + "default_training_param": { + "model":{ + "type_map":[ + "Sr", + "Pb", + "Ti", + "O" + ], + "descriptor": { + "type": "se_e2_a", + "sel": "auto", + "rcut_smth": 0.5, + "rcut": 6.00, + "neuron": [25, 50, 100], + "resnet_dt": false, + "axis_neuron": 16, + "seed": 1 + }, + "fitting_net": { + "neuron": [ + 240, + 240, + 240 + ], + "resnet_dt": true, + "seed": 1 + } + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "stop_lr":3.51e-8, + "decay_steps": 2000 + }, + "loss": { + "type":"ener", + "start_pref_e": 0.02, + "limit_pref_e": 1, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0.0, + "limit_pref_v": 0.0 + }, + "training": { + "set_prefix": "set", + "stop_batch": 400000, + "batch_size": "auto", + "disp_file": "lcurve.out", + "disp_freq": 1000, + "numb_test": 4, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json", + "_comment": "that's all" + } + }, + + "model_devi_dt": 0.002, + "model_devi_skip": 0, + "model_devi_f_trust_lo": 0.1, + "model_devi_f_trust_hi": 0.20, + "model_devi_clean_traj": true, + "model_devi_jobs": [ + {"_idx": 0, "ensemble": "npt","sys_idx": [0], "trj_freq": 10, + "rev_mat":{"lmp":{ + "${MC_NSTEPS}":[50], + "${MD_NSTEPS}":[1000], + "${PRES}":[0,100], + "${TEMP_MD}":[100,300], + "${TEMP_MC}":[100,300], + "${RANDOM_SEED}":[15196], + "${ELEMENT_TYPE_1}":[1], + "${ELEMENT_TYPE_2}":[2], + "${N_LOOP}":[10] + } + }, + "template":{"lmp":"template/lammps.in"} + + }, + {"_idx": 1, "ensemble": "npt","press": [1,100],"sys_idx": [0], "trj_freq": 10, + "rev_mat":{"lmp":{ + "${MC_NSTEPS}":[50], + "${MD_NSTEPS}":[1000], + "${PRES}":[0,100], + "${TEMP_MD}":[100], + "${TEMP_MC}":[100], + "${RANDOM_SEED}":[15196], + "${ELEMENT_TYPE_1}":[1], + "${ELEMENT_TYPE_2}":[2], + "${N_LOOP}":[10] + } + }, + "template":{"lmp":"template/lammps.in"} + + } + ], + "fp_style": "vasp", + "shuffle_poscar": false, + "fp_task_max": 100, + "fp_task_min": 10, + "fp_pp_path": "workplace", + "fp_pp_files": [ + "POTCAR_Sr", + "POTCAR_Pb", + "POTCAR_Ti", + "POTCAR_O" + ], + "fp_incar": "workplace/INCAR" +} diff --git a/examples/run/dp-lammps-MC+MD/template/lammps.in b/examples/run/dp-lammps-MC+MD/template/lammps.in new file mode 100644 index 000000000..c41d26a6f --- /dev/null +++ b/examples/run/dp-lammps-MC+MD/template/lammps.in @@ -0,0 +1,55 @@ +variable MD_NSTEPS equal MD_NSTEPS +variable MC_NSTEPS equal MC_NSTEPS +variable THERMO_FREQ equal 10 +variable TEMP_MD equal TEMP_MD +variable TEMP_MC equal TEMP_MC +variable PRES equal press +variable TAU_T equal 0.100000 +variable TAU_P equal 0.500000 +variable RANDOM_SEED equal RANDOM_SEED +variable ELEMENT_TYPE_1 equal ELEMENT_TYPE_1 +variable ELEMENT_TYPE_2 equal ELEMENT_TYPE_2 +variable N_LOOP equal N_LOOP + +#Initialization +units metal +boundary p p p +atom_style atomic +neighbor 1.0 bin + +#read data +read_data conf.lmp +mass 1 87.620000 +mass 2 207.200000 +mass 3 47.867000 +mass 4 15.999000 + +# read in the potentia +pair_style deepmd ../graph.001.pb ../graph.000.pb ../graph.003.pb ../graph.002.pb out_freq ${THERMO_FREQ} out_file model_devi.out +pair_coeff + +# output observables +thermo_style custom step temp pe ke etotal press vol lx ly lz xy xz yz +thermo ${THERMO_FREQ} +dump dpgen_dump + +timestep 0.002000 + +variable loop1 loop ${N_LOOP} +label runloop1 + +# Monte Carlo followed by short md +fix mc1 all atom/swap 1 1 500 ${TEMP_MC} ke no semi-grand no types ${ELEMENT_TYPE_1} ${ELEMENT_TYPE_2} +run ${MC_NSTEPS} +unfix mc1 + +velocity all create ${TEMP_MD} ${RANDOM_SEED}" +velocity all zero linear +fix md1 all npt temp ${TEMP_MD} ${TEMP_MD} ${TAU_T} iso ${PRES} ${PRES} ${TAU_P} +run ${MD_NSTEPS} +unfix md1 + +variable idx equal "(v_loop1-1)" +write_data conf.${idx}.lmp +next loop1 +jump SELF runloop1 From 2ae7756def83b39d3487702dbac0df0a36a69193 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 9 Mar 2023 01:56:32 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- examples/run/dp-lammps-MC+MD/param.json | 16 ++++++++-------- examples/run/dp-lammps-MC+MD/template/lammps.in | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/run/dp-lammps-MC+MD/param.json b/examples/run/dp-lammps-MC+MD/param.json index 32f3df184..392a926d0 100644 --- a/examples/run/dp-lammps-MC+MD/param.json +++ b/examples/run/dp-lammps-MC+MD/param.json @@ -16,9 +16,9 @@ "model":{ "type_map":[ "Sr", - "Pb", + "Pb", "Ti", - "O" + "O" ], "descriptor": { "type": "se_e2_a", @@ -78,7 +78,7 @@ "model_devi_f_trust_hi": 0.20, "model_devi_clean_traj": true, "model_devi_jobs": [ - {"_idx": 0, "ensemble": "npt","sys_idx": [0], "trj_freq": 10, + {"_idx": 0, "ensemble": "npt","sys_idx": [0], "trj_freq": 10, "rev_mat":{"lmp":{ "${MC_NSTEPS}":[50], "${MD_NSTEPS}":[1000], @@ -89,12 +89,12 @@ "${ELEMENT_TYPE_1}":[1], "${ELEMENT_TYPE_2}":[2], "${N_LOOP}":[10] - } + } }, "template":{"lmp":"template/lammps.in"} - + }, - {"_idx": 1, "ensemble": "npt","press": [1,100],"sys_idx": [0], "trj_freq": 10, + {"_idx": 1, "ensemble": "npt","press": [1,100],"sys_idx": [0], "trj_freq": 10, "rev_mat":{"lmp":{ "${MC_NSTEPS}":[50], "${MD_NSTEPS}":[1000], @@ -105,10 +105,10 @@ "${ELEMENT_TYPE_1}":[1], "${ELEMENT_TYPE_2}":[2], "${N_LOOP}":[10] - } + } }, "template":{"lmp":"template/lammps.in"} - + } ], "fp_style": "vasp", diff --git a/examples/run/dp-lammps-MC+MD/template/lammps.in b/examples/run/dp-lammps-MC+MD/template/lammps.in index c41d26a6f..dd308226e 100644 --- a/examples/run/dp-lammps-MC+MD/template/lammps.in +++ b/examples/run/dp-lammps-MC+MD/template/lammps.in @@ -6,10 +6,10 @@ variable TEMP_MC equal TEMP_MC variable PRES equal press variable TAU_T equal 0.100000 variable TAU_P equal 0.500000 -variable RANDOM_SEED equal RANDOM_SEED +variable RANDOM_SEED equal RANDOM_SEED variable ELEMENT_TYPE_1 equal ELEMENT_TYPE_1 -variable ELEMENT_TYPE_2 equal ELEMENT_TYPE_2 -variable N_LOOP equal N_LOOP +variable ELEMENT_TYPE_2 equal ELEMENT_TYPE_2 +variable N_LOOP equal N_LOOP #Initialization units metal @@ -25,8 +25,8 @@ mass 3 47.867000 mass 4 15.999000 # read in the potentia -pair_style deepmd ../graph.001.pb ../graph.000.pb ../graph.003.pb ../graph.002.pb out_freq ${THERMO_FREQ} out_file model_devi.out -pair_coeff +pair_style deepmd ../graph.001.pb ../graph.000.pb ../graph.003.pb ../graph.002.pb out_freq ${THERMO_FREQ} out_file model_devi.out +pair_coeff # output observables thermo_style custom step temp pe ke etotal press vol lx ly lz xy xz yz