| 5 | 1/1 | 返回列表 |
| 查看: 2550 | 回復(fù): 4 | |||
[交流]
【討論】LAMMPS 晶界計(jì)算 輸入腳本
|
|||
|
在一個(gè)網(wǎng)站上看到的一個(gè)研究晶界的能量隨各個(gè)自由度變化的LAMMPS輸入文件https://ccg.hpc.msstate.edu/medi ... boundary_generation,很強(qiáng)大的樣子,可是有一些設(shè)置不是太明白,拿出來大家討論一下。 我有這么幾處不明白,為什么overlapinic 要設(shè)為86?是怎么得到86這個(gè)數(shù)的? overlapdist 為什么要設(shè)為0.275+0.005*(v_c-1)?我知道它應(yīng)該是測試晶界區(qū)域中不同的原子數(shù)帶來的影響,可是這個(gè)0.275是怎么得到的? if $d == 2 then "delete_atoms overlap ${overlapdist} upper lower" 這句看起來比較奇怪,好像d只能是1,為什么還有這個(gè)句子? 望高手予以解答!! # LAMMPS Input File for Grain Boundaries # Mark Tschopp, Dec2009 # This file will generate numerous input files for LAMMPS # using a large number of grain boundaries # ---------- Setup Variables --------------------- variable etol equal 1.0e-25 variable ftol equal 1.0e-25 variable maxiter equal 5000 variable maxeval equal 10000 variable latparam equal 2.855312 variable minimumenergy equal -4.122435 variable overlapboth equal 1 variable gbname index Fe_100STGB1 variable counter equal 0 variable inc equal "v_latparam / 6" # Insert x,y,z sizes in LU and calculate in Angstroms variable xsize1 equal "sqrt(0^2 + 2^2 + 1^2)" variable zsize1 equal "sqrt(1^2 + 0^2 + 0^2)" variable xsize2 equal "sqrt(0^2 + 2^2 + -1^2)" variable zsize2 equal "sqrt(1^2 + 0^2 + 0^2)" if ${xsize1} <= ${xsize2} then "variable xsize equal ${xsize1}" else "variable xsize equal ${xsize2}" if ${zsize1} <= ${zsize2} then "variable zsize equal ${zsize1}" else "variable zsize equal ${zsize2}" variable xlen equal "v_xsize * v_latparam" variable zlen equal "v_zsize * v_latparam" # Determine number of increments for displacement grid in the in-plane GB directions variable xinc equal "floor(v_xlen / v_inc)" variable zinc equal "floor(v_zlen / v_inc)" # Implement overlap criterion variable overlapinc equal 86 # ---------- Define loops for simulation --------------------- label loopa variable a loop ${xinc} variable tx equal "(v_a-1) / v_xinc * v_xsize" label loopb variable b loop ${zinc} variable tz equal "(v_b-1) / v_zinc * v_zsize" label loopd variable d loop ${overlapboth} label loopc variable c loop ${overlapinc} variable overlapdist equal "0.275 + 0.005 * (v_c-1)" # ---------- Calculate counter and create data directory --------------------- variable ctemp equal ${counter}+1 variable counter equal ${ctemp} variable ctemp delete print "Counter: ${counter}" shell mkdir ${gbname} # ---------- Initialize Simulation --------------------- clear units metal dimension 3 boundary p p p atom_style atomic # ---------- Create Atomistic Structure --------------------- lattice bcc ${latparam} region whole block 0.000000 6.384672 -121.308763 121.308763 0.000000 2.855312 units box create_box 2 whole region upper block INF INF 0.000000 121.308763 INF INF units box lattice bcc ${latparam} orient x 0 2 1 orient y 0 -1 2 orient z 1 0 0 create_atoms 1 region upper region lower block INF INF -121.308763 0.000000 INF INF units box lattice bcc ${latparam} orient x 0 2 -1 orient y 0 1 2 orient z 1 0 0 create_atoms 2 region lower group upper type 1 group lower type 2 # ---------- Define Interatomic Potential --------------------- pair_style eam/fs pair_coeff * * /cavs/cmd/data1/users/mtschopp/LAMMPS/lammps-12Nov09/potentials/Fe_2.eam.fs Fe Fe neighbor 2.0 bin neigh_modify delay 10 check yes # ---------- Displace atoms and delete overlapping atoms --------------------- displace_atoms upper move ${tx} 0 ${tz} units lattice if $d == 1 then "delete_atoms overlap ${overlapdist} lower upper" if $d == 2 then "delete_atoms overlap ${overlapdist} upper lower" if $c == 1 then "variable atomprev equal 1" variable natoms equal "count(all)" print "Previous: ${atomprev}, Present: ${natoms}" if ${atomprev} == ${natoms} then "jump GB_Fe_100STGB1.in loopend" # ---------- Define Settings --------------------- compute csym all centro/atom compute eng all pe/atom compute eatoms all reduce sum c_eng # ---------- Run Minimization --------------------- reset_timestep 0 thermo 10 thermo_style custom step pe lx ly lz press pxx pyy pzz c_eatoms min_style cg minimize ${etol} ${ftol} ${maxiter} ${maxeval} # ---------- Run Minimization 2--------------------- # Now allow the box to expand/contract perpendicular to the grain boundary reset_timestep 0 thermo 10 thermo_style custom step pe lx ly lz press pxx pyy pzz c_eatoms fix 1 all box/relax aniso NULL 0.0 NULL vmax 0.001 min_style cg minimize ${etol} ${ftol} ${maxiter} ${maxeval} # ---------- Calculate GB Energy --------------------- variable esum equal "v_minimumenergy * count(all)" variable xseng equal "c_eatoms - (v_minimumenergy * count(all))" variable gbarea equal "lx * lz * 2" variable gbe equal "(c_eatoms - (v_minimumenergy * count(all)))/v_gbarea" variable gbemJm2 equal ${gbe}*16021.7733 variable gbernd equal round(${gbemJm2}) print "After third minimization:" print "GB energy is ${gbemJm2} mJ/m^2" # Store number of atoms for overlap criterion, i.e., do not rerun equivalent configurations variable atomprev equal "v_natoms" # ---------- Dump data into Data file ------------- shell cd Fe_100STGB1 reset_timestep 0 timestep 0.001 velocity all create 20 95812384 fix 2 all npt 1 1 100 xyz 0 0 100 drag 0.2 dump 1 all custom 1000 dump.${counter}_${gbernd} id type x y z c_csym c_eng run 0 shell cd .. # ---------- End of loop structure ------------- label loopend next c jump GB_Fe_100STGB1.in loopc variable c delete next d jump GB_Fe_100STGB1.in loopd variable d delete next b jump GB_Fe_100STGB1.in loopb variable b delete next a jump GB_Fe_100STGB1.in loopa print "All done" |
» 搶金幣啦!回帖就可以得到:
+1/1000
+1/191
+5/120
+1/91
+1/43
+1/40
+1/40
+1/34
+1/33
+3/25
+2/20
+1/18
+1/15
+1/12
+1/8
+1/6
+1/4
+1/2
+1/1
+1/1
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 考研調(diào)劑 +6 | Amber00 2026-03-31 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 安徽大學(xué)專碩生物與醫(yī)藥專業(yè)(086000)324分,英語已過四六級,六級521,求調(diào)劑 +10 | 美味可樂雞翅 2026-03-26 | 11/550 |
|
|
[考研] 304求調(diào)劑 +8 | 素年祭語 2026-03-31 | 11/550 |
|
|
[考研] 0856 335分 | 封裝or激光加工 老師看看我!! +9 | cccchenso 2026-03-29 | 9/450 |
|
|
[考研] 一志愿南昌大學(xué)324求調(diào)劑 +6 | hanamiko 2026-03-29 | 6/300 |
|
|
[考研] 311求調(diào)劑 +9 | 藍(lán)月亮亮 2026-03-30 | 9/450 |
|
|
[考研] 282求調(diào)劑 +3 | 呼吸都是減肥 2026-03-31 | 3/150 |
|
|
[考研] 291求調(diào)劑 +12 | Y-cap 2026-03-29 | 15/750 |
|
|
[考研] 一志愿食品科學(xué)與工程083200求調(diào)劑 +4 | XQTJZ 2026-03-30 | 4/200 |
|
|
[考研] 085601材料工程找調(diào)劑 +17 | oatmealR 2026-03-29 | 18/900 |
|
|
[考研] 342求調(diào)劑 +4 | 加油a李zs 2026-03-26 | 4/200 |
|
|
[考研] 296求調(diào)劑 +10 | 彼岸t 2026-03-29 | 10/500 |
|
|
[考研] 299求調(diào)劑 +10 | 15188958825 2026-03-25 | 10/500 |
|
|
[考研] 321求調(diào)劑 +7 | 璞玉~~ 2026-03-25 | 8/400 |
|
|
[考研] 求調(diào)劑 +6 | 蘆lty 2026-03-25 | 7/350 |
|
|
[考研] 070300求調(diào)劑306分 +4 | 26要上岸 2026-03-27 | 4/200 |
|
|
[考研] 315調(diào)劑 +4 | 0860求調(diào)劑 2026-03-26 | 5/250 |
|
|
[考研] 一志愿天津大學(xué)339材料與化工求調(diào)劑 +3 | 江往賣魚 2026-03-26 | 3/150 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +3 | 邱gl 2026-03-25 | 3/150 |
|
|
[考研] 材料專碩 335 分求調(diào)劑 +4 | 拒絕冷暴力 2026-03-25 | 4/200 |
|