运行官网例子出错,求大神指教,万分感谢
新手入门,在运行官网Aluminum Dislocation Nucleation例子出错:ERROR: Expected floating point parameter in input script or data file (../fix_nh.cpp:157)
Last command: fix 1 all npt temp 300.0 300.0 1.0 aniso NULL NULL 0.0 0.0 0.0 0.0 1.0 drag 1.0
例子文件如下:
######################################
# INITIALIZATION
units metal
dimension 3
boundary p p p
atom_style atomic
######################################
# ATOM BUILD
lattice fcc 4.05
region whole block 0 10 0 10 0 10
create_box 1 whole
region sc block INF INF INF INF INF INF units box
lattice fcc 4.05 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
create_atoms 1 region sc
variable natoms equal "count(all)"
print "# of atoms are: ${natoms}"
######################################
# INTERATOMIC POTENTIAL
pair_style eam/alloy
pair_coeff * * Al99.eam.alloy Al
# Define computes required
compute csym all centro/atom
######################################
# EQUILIBRATION
reset_timestep 0
timestep 0.001
velocity all create 300 12345 mom yes rot no
fix 1 all npt 300 300 1 xyz 0 0 1 drag 1
# Set thermo output
thermo 100
thermo_style custom step lx ly lz press pxx pyy pzz pe temp
# Run for at least 10 picosecond (assuming 1 fs timestep)
run 10000
unfix 1
# Store final cell length for strain calculations
variable tmp equal "lx"
variable L0 equal ${tmp}
print "Initial Length, L0: ${L0}"
######################################
# DEFORMATION
reset_timestep 0
fix 1 all npt 300 300 1 aniso NULL NULL 0 0 0 0 1 drag 1
variable srate equal 1.0e9
variable srate1 equal "v_srate / 1.0e12"
fix 2 all deform 1 x erate ${srate1} units box remap x
# Output strain and stress info to file
# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
# p2, p3, p4 are in GPa
variable strain equal "(lx - v_L0)/v_L0"
variable p1 equal "v_strain"
variable p2 equal "-pxx/10000"
variable p3 equal "-pyy/10000"
variable p4 equal "-pzz/10000"
fix def1 all print 100 "${p1} ${p2} ${p3} ${p4}" file Al_SC_100.def1.txt screen no
# Dump coordinates to file (for void size calculations)
dump 1 all custom 2500 dump.* x y z c_csym
# Display thermo
thermo 100
thermo_style custom step v_strain temp v_p2 v_p3 v_p4 ke pe press
run 150000
######################################
# SIMULATION DONE
print "All done" 返回小木虫查看更多
楼主也是做形核的吗?我也是,有兴趣加个QQ,1064359907
Last command: fix 1 all npt temp 300.0 300.0 1.0 aniso NULL NULL 0.0 0.0 0.0 0.0 1.0 drag 1.0
Read the following text from the document carefully:
The iso, aniso, and tri keywords are simply shortcuts that are equivalent to specifying several other keywords together.
The keyword iso means couple all 3 diagonal components together when pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using “iso Pstart Pstop Pdamp” is the same as specifying these 4 keywords:
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple xyz
The keyword aniso means x, y, and z dimensions are controlled independently using the Pxx, Pyy, and Pzz components of the stress tensor as the driving forces, and the specified scalar external pressure. Using “aniso Pstart Pstop Pdamp” is the same as specifying these 4 keywords:
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple none
可否加个好友交流一下?我看了手册, aniso NULL NULL 0.0 0.0 0.0 0.0 1.0 这个命令是低版本的命令
press control
1st parameter = style of pressure control
2nd parameter = pressure coupling
3rd-9th parameters = coeffs 1 to 7
styles:
none = no control (constant volume)
nose/hoover = Nose-Hoover constant P
coupling:
xyz = couple all 3 dimensions together (isotropic)
xy or yz or xz = couple 2 dimensions together, other is independent
aniso = all 3 dimensions are independent (anisotropic)
coeffs: none
no other parameters required
nose/hoover xyz
(1) desired P at beginning of run
(2) desired P at end of run
nose/hoover xy or yz or xz or aniso
(1) desired Px at beginning of run (or NULL, see below)
(2) desired Px at end of run
(3) desired Py at beginning of run
(4) desired Py at end of run
(5) desired Pz at beginning of run
(6) desired Pz at end of run
(7) frequency constant for volume adjust (inverse time units)
那这样,转换成新版本的命令,应该是什么呢?我不太理解这里的NULL代表什么意思,是代表着x方向不控制?另外aniso Pstart Pstop Pdamp好理解,毕竟各个方向上Pstart和Pstop是一样的,而aniso代表着三个方向各自控制,那aniso Pstart Pstop Pdamp怎么写呢?我没找到aniso的例子,所以现在一直困在这里,敬请专家赐教,不胜感激
,
楼主这个命令会用嘛,我也遇到这个问题了,不知道怎么解决呀