[lammps-users] adiabatic loading, quasi static loading and stress/atom


Dear All

I am doing a tensile test on a block of gold atoms at 300K. I am doing the following steps.

1) Fix the top and bottom most layers and equilibrate the sytem using NVT.

2) As none of the boundaries are periodic, I can use only velocity command for loading the block. Am i correct?

3) While applying adiabatic tensile loading using velocity command, I did not put thermal constarints. But the temperature oscillates in the range of 295-305K instead of increasing gradually. I do not understand why the temp is not increasing

4) I applied quasi static loading in the following steps
a) Apply velocity for N no of time steps
b) Equilibrate the system using NVT
(The length of the wire is increasing in the step ‘b’, which should not be)
c) Apply again velocity for N no of time steps
d) Equilibrate the system using NVT …

Am i correctly applying quasi static loading

This is my input script:

units metal
boundary s s s
atom_style atomic
lattice fcc 4.08
region box block 0 40.0 0 6.0 0 6.0
create_box 3 box
create_atoms 1 box

pair_style eam
pair_coeff * * Au.eam
neighbor 0.3 bin
neigh_modify delay 1


region lower block INF 2 INF INF INF INF
region upper block 38 INF INF INF INF INF
group lower region lower
group upper region upper
group boundary union lower upper
group mobile subtract all boundary

set group lower type 2
set group upper type 3

# temp controllers
compute new3d mobile temp

# eqilibriate
velocity mobile create 300.0 581277.5 temp new3d

fix 1 all nvt 300.0 300.0 0.01
fix 2 boundary setforce 0 0 0

compute stpa mobile stress/atom
compute stgb mobile reduce sum c_stpa[1]

variable sxx equal c_stgb/vol
variable eps equal (lx-163.2)/163.2

dump 1 all xyz 100 tens1
thermo 100
thermo_style custom step lx v_eps v_sxx pe temp
thermo_modify temp new3d
timestep 0.001
run 200000

# tension
velocity upper set 0.163 0 0
velocity mobile ramp vx 0 0.163 x 2 38 sum yes

thermo 100
thermo_style custom step lx v_eps v_sxx pe temp
thermo_modify temp new3d

reset_timestep 0.001
run 200000

#equilibration after first loading step

unfix 1
fix 1 all nvt 300 300 0.01

reset_timestep 0.001
run 25000

6) Am i using the correct stress for plotting the stress-strain curve

Any one can help me

Thanks in advance
Sivashankar


|

Comments below.

Steve


Dear All

I am doing a tensile test on a block of gold atoms at 300K. I am doing the following steps.

1) Fix the top and bottom most layers and equilibrate the sytem using NVT.

2) As none of the boundaries are periodic, I can use only velocity command for loading the block. Am i correct?

That’s fine.



3) While applying adiabatic tensile loading using velocity command, I did not put thermal constarints. But the temperature oscillates in the range of 295-305K instead of increasing gradually. I do not understand why the temp is not increasing

If you mean the termperature of the interior atoms is not increasing when you pull on the ends,
you are still thermostatting those with fix NVT, so it shouldn’t increase. But it will
oscillate since you are driving the system (adding energy) and NVT has a hard time
keeping the temperature constant when that happens. In any event you want to
be careful about which atoms you are measuring the temperature of, and what components
you let contribute to the temperature, and what temperature you use with the thermostat.
LAMMPS gives you control over all those things, but you have to think about what you are doing.


4) I applied quasi static loading in the following steps
a) Apply velocity for N no of time steps
b) Equilibrate the system using NVT
(The length of the wire is increasing in the step ‘b’, which should not be)
c) Apply again velocity for N no of time steps
d) Equilibrate the system using NVT …

Am i correctly applying quasi static loading

I don’t know. The LAMMPS commands are pretty clear about what
they are doing. It’s up to you to figure out if they match the mental
model you have for what you want to do to your system.

Did you visualize your tensile results. Are you sure atoms are not
crossing the boundaries for your box sizes are just the wire sizes. I
would dump the data into a file for initial lattice position from
bulk. And read it with bigger box size and then do the tensile test.

Hi Steve and Ajing
thanks for ur suggestions

Ajing,
I visualized the results, and the atoms are not crossing the box boundaries.

Sivashankar

— On Fri, 23/4/10, Ajing Cao <caolammps@…24…> wrote:


> From: Ajing Cao <caolammps@…24…>
> Subject: Re: [lammps-users] adiabatic loading, quasi static loading and stress/atom
> To: “siva shankar” <shankara546@…545…>
> Cc: lammps-users@…430…orge.net
> Date: Friday, 23 April, 2010, 10:24 PM
>
> Did you visualize your tensile results. Are you sure atoms are not
> crossing the boundaries for your box sizes are just the wire sizes. I
> would dump the data into a file for initial lattice position from
> bulk. And read it with bigger box size and then do the tensile test.
>
> On 4/23/10, Steve Plimpton [email protected] wrote:
> > Comments below.
> >
> > Steve
> >
> > On Thu, Apr 22, 2010 at 10:28 AM, siva shankar
> > <shankara546@…1241…45…>wrote:
> >
> >> Dear All
> >>
> >> I am doing a tensile test on a block of gold atoms at 300K. I am doing the
> >> following steps.
> >>
> >> 1) Fix the top and bottom most layers and equilibrate the sytem using NVT.
> >>
> >> 2) As none of the boundaries are periodic, I can use only velocity command
> >> for loading the block. Am i correct?
> >>
> >
> > That’s fine.
> >
> >
> >>
> >> 3) While applying adiabatic tensile loading using velocity command, I did
> >> not put thermal constarints. But the temperature oscillates in the range
> >> of
> >> 295-305K instead of increasing gradually. I do not understand why the temp
> >> is not increasing
> >>
> >
> > If you mean the termperature of the interior atoms is not increasing when
> > you pull on the ends,
> > you are still thermostatting those with fix NVT, so it shouldn’t increase.
> > But it will
> > oscillate since you are driving the system (adding energy) and NVT has a
> > hard time
> > keeping the temperature constant when that happens. In any event you want
> > to
> > be careful about which atoms you are measuring the temperature of, and what
> > components
> > you let contribute to the temperature, and what temperature you use with the
> > thermostat.
> > LAMMPS gives you control over all those things, but you have to think about
> > what you are doing.
> >
> >
> >
> >> 4) I applied quasi static loading in the following steps
> >> a) Apply velocity for N no of time steps
> >> b) Equilibrate the system using NVT
> >> (The length of the wire is increasing in the step ‘b’, which should not
> >> be)
> >> c) Apply again velocity for N no of time steps
> >> d) Equilibrate the system using NVT
> >> …
> >>
> >> Am i correctly applying quasi static loading
> >>
> >
> > I don’t know. The LAMMPS commands are pretty clear about what
> > they are doing. It’s up to you to figure out if they match the mental
> > model you have for what you want to do to your system.
> >
> >
> >> This is my input script:
> >>
> >> units metal
> >> boundary s s s
> >> atom_style atomic
> >> lattice fcc 4.08
> >> region box block 0 40.0 0 6.0 0 6.0
> >> create_box 3 box
> >> create_atoms 1 box
> >>
> >> pair_style eam
> >> pair_coeff * * Au.eam
> >> neighbor 0.3 bin
> >> neigh_modify delay 1
> >>
> >>
> >> region lower block INF 2 INF INF INF INF
> >> region upper block 38 INF INF INF INF INF
> >> group lower region lower
> >> group upper region upper
> >> group boundary union lower upper
> >> group mobile subtract all boundary
> >>
> >> set group lower type 2
> >> set group upper type 3
> >>
> >> # temp controllers
> >> compute new3d mobile temp
> >>
> >> # eqilibriate
> >> velocity mobile create 300.0 581277.5 temp new3d
> >>
> >> fix 1 all nvt 300.0 300.0 0.01
> >> fix 2 boundary setforce 0 0 0
> >>
> >> compute stpa mobile stress/atom
> >> compute stgb mobile reduce sum c_stpa[1]
> >>
> >> variable sxx equal c_stgb/vol
> >> variable eps equal (lx-163.2)/163.2
> >>
> >> dump 1 all xyz 100 tens1
> >> thermo 100
> >> thermo_style custom step lx v_eps v_sxx pe temp
> >> thermo_modify temp new3d
> >> timestep 0.001
> >> run 200000
> >>
> >> # tension
> >> velocity upper set 0.163 0 0
> >> velocity mobile ramp vx 0 0.163 x 2 38 sum yes
> >>
> >> thermo 100
> >> thermo_style custom step lx v_eps v_sxx pe temp
> >> thermo_modify temp new3d
> >>
> >> reset_timestep 0.001
> >> run 200000
> >>
> >> #equilibration after first loading step
> >>
> >> unfix 1
> >> fix 1 all nvt 300 300 0.01
> >>
> >> reset_timestep 0.001
> >> run 25000
> >>
> >> 6) Am i using the correct stress for plotting the stress-strain curve
> >>
> >> Any one can help me
> >>
> >> Thanks in advance
> >> Sivashankar
> >>
> >>
> >>
> >>
> >> ------------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> lammps-users mailing list
> >> [email protected]
> >> https://lists.sourceforge.net/lists/listinfo/lammps-users
> >>
> >>
> >

|