25
MDStressLab Computing Stress in Atomistic Simulations Nikhil Chandra Admal University of California Los Angeles Min Shi, Ellad Tadmor University of Minnesota, Minneapolis

MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

MDStressLab Computing Stress in Atomistic Simulations

Nikhil Chandra Admal University of California Los Angeles

Min Shi, Ellad Tadmor University of Minnesota, Minneapolis

Page 2: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Motivation

Connection with continuum models Stability of protein molecules under stress

VisualizationAmit Singh, PhD thesis, University of Minnesota

Nucleation of defectsJu Li, Nature Materials 14, 656–657 (2015)2

Page 3: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Not a field

Current implementation of atomistic stress• LAMMPS: Stress/atom

• Goal: Implement a atomistic stress calculator that identically satisfies the balance law (in the absence of body forces):

Div (Stress) = 0

3

Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009).

Page 4: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Outline• The notion of stress in atomistic systems

• MDStressLab

• Example

• Conclusions

4

Page 5: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Outline• The notion of stress in atomistic systems

• MDStressLab

• Example

• Conclusions

5

Page 6: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Atomistic stress

I–K–N pointwisestress tensors

Symmetric stress tensorscorresponding to different extensions

Unsymmetric stress tensorscorresponding to

different non-central force decompositions

Unsymmetric stress tensorscorresponding to

different bond shapes

Does not satisfy thestrong law of action-reaction

Materials withinternal structure?

Hardy stress tensor

Tsai stress tensor

Virial stress tensor

Cauchy stress tensor

Straight bonds Non-central

Central

Curved bonds Non-central

Central

Spatial averaging

Replace ensembleavg w/ time avg

collapse the avgdomain to a plain

constant w +neglect surface

bonds

TD limit

6

Admal, Nikhil Chandra, and Ellad B. Tadmor. "A unified interpretation of stress in molecular systems." Journal of elasticity 100.1 (2010): 63-143.

Page 7: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Spatial averaging• IKN pointwise Cauchy stress

• A true macroscopic quantity is by necessity an average over some spatial region surrounding the continuum point where it is nominally defined

• The Hardy Cauchy stress is obtained by spatially averaging the IKN point wise stress.

�v(x, t) =X

↵,�↵<�

�f↵� ⌦ (x↵ � x�)

Z 1

s=0�((1� s)x↵ + sx� � x) ds

Not a continuum stress field

7

Page 8: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

• Hardy Cauchy stress

• Tsai Cauchy stress

• Virial stress

Atomistic stress tensor fields�w = �w,v + �w,k,

xrw

u

v

w((1 − s)u + sv − x)

s

0

1

b(x; u, v)(

�w,k(x, t) = �X

m↵(vrel↵ ⌦ v

rel↵ )w(x↵ � x)

divx

�w,v(x, t) =X

f↵w(x� x↵)

�w,v(x, t) =X

↵,�↵<�

�f↵� ⌦ (x↵ � x�)b(x,x↵,x�),

b(x,x↵,x�) :=

Z 1

s=0w((1� s)x↵ + sx� � x) ds

t(x,n) = limT!1

1

AT

2

4Z T

0

X

↵�\l

f↵�(x↵ � x�) · n|(x↵ � x�) · n|

dt�TX

↵$l

m↵v↵(t$)(v↵(t$) · n)|v↵(t$) · n|

3

5 ,

(

f↵� = � @V@r↵�

x↵ � x�

r↵�

8

Page 9: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Outline• The notion of stress in atomistic systems

• MDStressLab

• Example

• Conclusions

9

Page 10: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

MDStressLab

• Available at www.mdstresslab.org

• What is MDStressLab, and what can it do?

MDStressLabbin src docs examples utils

• A tool to post-process MS or MD simulation results to obtain various notions of stress fields

• A KIM-compliant test simulator that can couple with any interatomic potential in the Open KIM repository

• Cauchy and Piola—Kirchhoff versions of the Hardy, Tsai and viral stresses

• Helmholtz-Hodge-Beltrami type decomposition of the atomistic stress

10

Page 11: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Input file

1.4. Units

The units used by the MDStressLab program are:

• Distance: Å

• Energy: eV

• Time: ps

• Mass: eV · ps2/Å2

In the next section, the format of the input file to MDStressLab is described.

2. Input file

Below is a sample input file to MDStressLab. This is followed by a detailed explanation of the commands thatappear in it.

% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. (However, % appearing in the middle of the text is not treated as comments.) Each stage(except stop) contains commands and their associated arguments in the following format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. Note that the six stages and their corresponding commands(except the commands in stress stage) should be in sequence as the example shows. Violation of the sequencemight lead to undefined behavior. The six stages are described separately below.

3

11

Page 12: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Input file% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

1.4. Units

The units used by the MDStressLab program are:

• Distance: Å

• Energy: eV

• Time: ps

• Mass: eV · ps2/Å2

In the next section, the format of the input file to MDStressLab is described.

2. Input file

Below is a sample input file to MDStressLab. This is followed by a detailed explanation of the commands thatappear in it.

% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. (However, % appearing in the middle of the text is not treated as comments.) Each stage(except stop) contains commands and their associated arguments in the following format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. Note that the six stages and their corresponding commands(except the commands in stress stage) should be in sequence as the example shows. Violation of the sequencemight lead to undefined behavior. The six stages are described separately below.

3

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. Each stage (except stop) contains commands and their associated arguments in thefollowing format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. The six stages are described separately below.

2.1. Stage ’read’In this stage, the state of the system is read as an input from a configuration file and a species file. The two files are

expected to have an extension .data. The configuration and species files are specified using the commands conf andspec, respectively. For example, in the input file shown above, the conf commands reads in the the configurationfile ’config.data’, and the spec commands reads in the species file ’species.data’. The format for theconfiguration file is shown below.

<d=Dim> <n=Number of atoms><Initial box size> <Final box size><Periodic boundary conditions><Species_1> <Position_1>_i <Velocity_1>_i<Species_2> <Position_2>_i <Velocity_2>_i.. .. .. .. .. .. .. .. .. .. .. .. .. ..<Species_n> <Position_n>_i <Velocity_n>_i<Species_1> <Position_1>_f <Velocity_1>_f<Species_2> <Position_2>_f <Velocity_2>_f.. .. .. .. .. .. .. .. .. .. .. .. .. ..<Species_n> <Position_n>_f <Velocity_n>_f

The subscripts i and f shown above correspond to initial and final configurations. The <PBC> field accepts a d-dimensional logical (boolean) array indicating whether or not (T/F) each of the Cartesian directions is periodic. Thefields <Box size_i> and <Box size_f> accept a d-dimensional double precision array. The value of the finalbox size (in all periodic directions) must be greater than twice the cutoff of the interatomic model. The <Species_k>field is a string of length 2 of the element name. A snippet of a configuration file of Aluminum atoms is shown below.

3 582601000.00 1000.00 26.46 1000.00 1000.00 26.46F F T

Al -129.658 -148.180 2.6460 0.00 0.00 0.00Al -129.658 -148.180 13.230 0.00 0.00 0.00Al -129.658 -148.180 7.9382 0.00 0.00 0.00..

Note that the order of the atomic positions in the final configuration should be identical to the order of the atomicpositions in the initial configuration. The species file contains masses of different species of atoms. The format of thespecies file is shown below.

<Species_1> <mass_1><Species_2> <mass_2>..<mass_nsp_file> <mass_nsp_file>

A sample species file is given below.

Al 0.0027964393Ar 0.0041406102Si 0.0029111119

4

config.data

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. Each stage (except stop) contains commands and their associated arguments in thefollowing format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. The six stages are described separately below.

2.1. Stage ’read’In this stage, the state of the system is read as an input from a configuration file and a species file. The two files are

expected to have an extension .data. The configuration and species files are specified using the commands conf andspec, respectively. For example, in the input file shown above, the conf commands reads in the the configurationfile ’config.data’, and the spec commands reads in the species file ’species.data’. The format for theconfiguration file is shown below.

<d=Dim> <n=Number of atoms><Initial box size> <Final box size><Periodic boundary conditions><Species_1> <Position_1>_i <Velocity_1>_i<Species_2> <Position_2>_i <Velocity_2>_i.. .. .. .. .. .. .. .. .. .. .. .. .. ..<Species_n> <Position_n>_i <Velocity_n>_i<Species_1> <Position_1>_f <Velocity_1>_f<Species_2> <Position_2>_f <Velocity_2>_f.. .. .. .. .. .. .. .. .. .. .. .. .. ..<Species_n> <Position_n>_f <Velocity_n>_f

The subscripts i and f shown above correspond to initial and final configurations. The <PBC> field accepts a d-dimensional logical (boolean) array indicating whether or not (T/F) each of the Cartesian directions is periodic. Thefields <Box size_i> and <Box size_f> accept a d-dimensional double precision array. The value of the finalbox size (in all periodic directions) must be greater than twice the cutoff of the interatomic model. The <Species_k>field is a string of length 2 of the element name. A snippet of a configuration file of Aluminum atoms is shown below.

3 582601000.00 1000.00 26.46 1000.00 1000.00 26.46F F T

Al -129.658 -148.180 2.6460 0.00 0.00 0.00Al -129.658 -148.180 13.230 0.00 0.00 0.00Al -129.658 -148.180 7.9382 0.00 0.00 0.00..

Note that the order of the atomic positions in the final configuration should be identical to the order of the atomicpositions in the initial configuration. The species file contains masses of different species of atoms. The format of thespecies file is shown below.

<Species_1> <mass_1><Species_2> <mass_2>..<mass_nsp_file> <mass_nsp_file>

A sample species file is given below.

Al 0.0027964393Ar 0.0041406102Si 0.0029111119

4

species.data

12

Page 13: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Input file% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

1.4. Units

The units used by the MDStressLab program are:

• Distance: Å

• Energy: eV

• Time: ps

• Mass: eV · ps2/Å2

In the next section, the format of the input file to MDStressLab is described.

2. Input file

Below is a sample input file to MDStressLab. This is followed by a detailed explanation of the commands thatappear in it.

% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. (However, % appearing in the middle of the text is not treated as comments.) Each stage(except stop) contains commands and their associated arguments in the following format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. Note that the six stages and their corresponding commands(except the commands in stress stage) should be in sequence as the example shows. Violation of the sequencemight lead to undefined behavior. The six stages are described separately below.

3

13

Page 14: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Input file% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

1.4. Units

The units used by the MDStressLab program are:

• Distance: Å

• Energy: eV

• Time: ps

• Mass: eV · ps2/Å2

In the next section, the format of the input file to MDStressLab is described.

2. Input file

Below is a sample input file to MDStressLab. This is followed by a detailed explanation of the commands thatappear in it.

% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. (However, % appearing in the middle of the text is not treated as comments.) Each stage(except stop) contains commands and their associated arguments in the following format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. Note that the six stages and their corresponding commands(except the commands in stress stage) should be in sequence as the example shows. Violation of the sequencemight lead to undefined behavior. The six stages are described separately below.

3

14

Page 15: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Input file% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

1.4. Units

The units used by the MDStressLab program are:

• Distance: Å

• Energy: eV

• Time: ps

• Mass: eV · ps2/Å2

In the next section, the format of the input file to MDStressLab is described.

2. Input file

Below is a sample input file to MDStressLab. This is followed by a detailed explanation of the commands thatappear in it.

% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. (However, % appearing in the middle of the text is not treated as comments.) Each stage(except stop) contains commands and their associated arguments in the following format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. Note that the six stages and their corresponding commands(except the commands in stress stage) should be in sequence as the example shows. Violation of the sequencemight lead to undefined behavior. The six stages are described separately below.

3

15

Page 16: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Input file% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

1.4. Units

The units used by the MDStressLab program are:

• Distance: Å

• Energy: eV

• Time: ps

• Mass: eV · ps2/Å2

In the next section, the format of the input file to MDStressLab is described.

2. Input file

Below is a sample input file to MDStressLab. This is followed by a detailed explanation of the commands thatappear in it.

% Read in atomic configuration and species informationread

spec,speciesconf,config

end

% Set up the grid for computing the stress fieldgrid

gfit,300,300,0end

% Define the KIM model used to compute the atomic interactionspotential

modl,Pair_LJ_Smooth_Bernardes_Ar__MO_764178710049_000end

% Specify whether to decompose stress into unique and non-unique partsuniqueness

project,Tend

% Setup and begin stress calculationstress

pkstr,Favgsize,10.0virial,Ftsai,Fhardy,T

end

stop

The input file consists of six stages: read, grid, potential, uniqueness, stress and stop. All linesstarting with % are comments. (However, % appearing in the middle of the text is not treated as comments.) Each stage(except stop) contains commands and their associated arguments in the following format:

command,value_1,value_2,...

Each stage (except stop) ends with an ’end’ command. Note that the six stages and their corresponding commands(except the commands in stress stage) should be in sequence as the example shows. Violation of the sequencemight lead to undefined behavior. The six stages are described separately below.

3

Spherical averaging domain of radius 10 Angstrom

16

Page 17: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Outline• The notion of stress in atomistic systems

• MDStressLab

• Example

• Conclusions

17

Page 18: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Example

−tx txx

y

H

H

R

virial TsaiHardy

exact

0.0

+1.0

+2.0

σ11

Exact

Hardy Virial Tsai

18

Page 19: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Role of the averaging domain

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σw,v)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σw,v)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σw,v)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σw,v)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σw,v)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σw,v)xx/σ∞

19

Page 20: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Comparison with LAMMPS

0

1

2

σ11[eV/A

3]

−80 −60 −40 −20 0 20 40 60 80

x[A]

20

Page 21: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

• Non-uniqueness due to force decomposition

• Decomposition of interatomic forces using rigidity theory

Helmholtz-Hodge-Beltrami decomposition

(�c)xx/tx0.00 +1.00 +2.00 +3.00

(�kc )xx/tx

= +

0.00 +1.00 +2.00 +3.00

(�?c )xx/tx

�0.20 0.00 +0.20

(a)

(�c)yy/tx�1.00 0.00

(�kc )yy/tx

= +

�1.00 0.00

(�?c )yy/tx

�0.08 0.00 +0.08

(b)

(�c)xy/tx�0.75 0.00 +0.75

(�kc )xy/tx

= +

�0.75 0.00 +0.75

(�?c )xy/tx

�0.08 0.00 +0.08

(c)

Figure 4: A plot showing the decomposition of the continuum stress into an irrotational part �kc , and a

traction-free solenoidal part �?c . Parts (a), (b), and (c) show the decomposition of the xx, yy and xy

components of �c, respectively. The stresses are normalized by the applied traction t

x

.

where r↵�

is the distance between particles ↵ and � in the equilibrium fcc lattice at zero temper-ature corresponding to VMLJ, and the spring constant k

↵���

is obtained from VMLJ as

k↵���

=

8

>

<

>

:

@

2VMLJ

@r

2↵�

� 1r↵�

@VMLJ@r↵�

(r↵�), if ↵ = � and � = �,

@

2VMLJ@r↵�@r��

(r↵�), otherwise.

(7.9)

25

f↵ =X

↵,�↵ 6=�

f↵�

Results from a QM calculation

Not unique

(f↵�) = (fk↵�) + (f?

↵�)

extension-independent

extension-dependent

21

Page 22: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Helmholtz-Hodge-Beltrami decomposition

R = 5R = 7.5

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

R = 12.0

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

6

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

R = 4.5 R = 4.0 R = 3.5

22

Page 23: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Helmholtz-Hodge-Beltrami decomposition

R = 5R = 7.5

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

R = 12.0

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

−5

−4

−3

−2

−1

0

1

2

3

6

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

R = 4.5 R = 4.0 R = 3.5

−5

−4

−3

−2

−1

0

1

2

3

4

5

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

R = 12.0

−5

−4

−3

−2

−1

0

1

2

3

6

0.1 0.2 0.3 0.4 0.5y/L

(σ⊥w,v

)xx/σ∞

(σ∥w,v

)xx/σ∞

R = 3.5

23

Page 24: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Outline• The notion of stress in atomistic systems

• MDStressLab

• Example

• Conclusions

24

Page 25: MDStressLab Computing Stress in Atomistic Simulationslammps.sandia.gov/workshops/Aug17/pdf/admal.pdf · 2017-09-15 · project,T end % Setup and begin stress calculation stress pkstr,F

Conclusions• MDStressLab: A post-processing tool to compute stress fields that satisfy the

exact balance laws of continuum mechanics. Available at

www.mdstresslab.org

• Currently MDStressLab computes the Cauchy and Piola—Kirchhoff stress corresponding to the Hardy, Virial and Tsai definition of atomistic stress

• In addition, a discrete Helmholtz—Hodge—Beltrami decomposition of the stress field can be computed. The demonstrated example highlights the use of this decomposition in the noise reduction of atomistic stress field.

25

A Unified Interpretation of Stress in Molecular Systems. Journal of Elasticity, 100(1–2), 63–143 The non-uniqueness of the atomistic stress tensor and its relationship to the generalized Beltrami representation. Journal of the Mechanics and Physics of Solids, 1–21. Material fields in atomistics as pull-backs of spatial distributions. Journal of the Mechanics and Physics of Solids, 89, 59–76. Stress and heat flux for arbitrary multibody potentials: A unified framework. Journal of Chemical Physics, 134(18)