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