Hello,
I am running a tensile simulation and facing some problems with my results. For the tensile simulation I defined some fixed areas and increased the box bound with a predefined strain via the “change_box” command.
Looking at the stress-strain curve, my result seems to be quit nice, but after the separation, there is still some stress in the fixed areas. So after the separation of the material I have an increasing strain, because of the stress left in the fixed areas.
I am not sure if this is a numerical lammps problem or I did something wrong. I tried a few ways, but nothing really worked out. Do you maybe have some suggestions for me to solve that problem?
Here is my Lammps Input File:
------------------------ INITIALIZATION ----------------------------
units metal
dimension 3
boundary p p p
atom_style atomic
atom_modify map array
----------------------- ATOM DEFINITION ----------------------------
lattice fcc ${latparam}
region whole block 0 30 -30 30 0 5 units box
create_box 2 whole
region middle block INF INF INF INF INF INF units box
create_atoms 2 region middle
group middle type 1
------------------------ FORCE FIELDS ------------------------------
pair_style eam/alloy
pair_coeff * * Al99.eam.alloy Al Al
---------------------- COMPUTE SETTINGS ----------------------------
compute csym all centro/atom fcc
compute eng all pe/atom #stores in eng potenergy of each atom
compute eatoms all reduce sum c_eng
compute peratom all pe/atom
compute stress all stress/atom NULL
compute stress1 all reduce sum c_stress[1]
compute stress2 all reduce sum c_stress[2]
compute stress3 all reduce sum c_stress[3]
compute stress4 all reduce sum c_stress[4]
compute stress5 all reduce sum c_stress[5]
compute stress6 all reduce sum c_stress[6]
---------------------- MINIMIZE SYSTEM ----------------------------
reset_timestep 0
thermo 10
thermo_style custom step pe lx ly lz press pxx pyy pzz c_stress1 c_stress2 c_stress3 c_stress4 c_stress5 c_stress6 c_eatoms temp fmax
fix 1 all box/relax y 1000.0 vmax 0.01
min_style cg
minimize 1.0e-15 1.0e-15 100000 100000
unfix 1
------------------------ STRESS STRAIN OUTPUT ----------------------
variable strain equal 0.001
variable ly1 equal ly
variable ly0 equal {ly1}
variable lydelta equal "v_strain*v_ly0/2"
variable p1 equal "(ly-v_ly0)/v_ly0"
variable p2 equal "-pxx/10000"
variable p3 equal "-pyy/10000"
variable p4 equal "-pzz/10000"
variable p5 equal "-pxy/10000"
variable p6 equal "-pxz/10000"
variable p7 equal "-pyz/10000"
variable p8 equal "pe"
fix equil1 all print 1 "{p1} {p2} {p3} {p4} {p5} {p6} {p7} ${p8}" file data.RESULT.txt screen no
fix 1 all nve
run 1
unfix 1
----------------------- TENSILE SIMULATION -------------------------
region rgblow block 0 200 -200 -29 0 200 units box
region rgbhigh block 0 200 29 200 0 200 units box
group gbhigh region rgbhigh
group gblow region rgblow
fix 2 gbhigh setforce 0 0 0
fix 3 gblow setforce 0 0 0
variable nloop equal 600
variable a loop {nloop}
label loop
change_box gblow y delta -{lydelta} 0 remap units box
change_box gbhigh y delta 0 ${lydelta} remap units box
minimize 1.0e-35 1.0e-35 10000 100000
run 1
next a
jump single_tensile.in loop
unfix equil1
You can have a look at my results following this link:
Best Regards
Philipp