Switched all command and class names from pressure to stress

This commit is contained in:
Aidan Thompson
2022-03-07 11:27:37 -07:00
parent c2b0347b30
commit 8d5a59c0fa
20 changed files with 251 additions and 246 deletions

View File

@ -100,9 +100,6 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`pe/tally <compute_tally>`
* :doc:`plasticity/atom <compute_plasticity_atom>`
* :doc:`pressure <compute_pressure>`
* :doc:`pressure/cartesian <compute_pressure_cartesian>`
* :doc:`pressure/cylinder <compute_pressure_cartesian>`
* :doc:`pressure/spherical <compute_pressure_cartesian>`
* :doc:`pressure/uef <compute_pressure_uef>`
* :doc:`property/atom <compute_property_atom>`
* :doc:`property/chunk <compute_property_chunk>`
@ -145,8 +142,11 @@ KOKKOS, o = OPENMP, t = OPT.
* :doc:`sph/t/atom <compute_sph_t_atom>`
* :doc:`spin <compute_spin>`
* :doc:`stress/atom <compute_stress_atom>`
* :doc:`stress/cartesian <compute_stress_cartesian>`
* :doc:`stress/cylinder <compute_stress_cartesian>`
* :doc:`stress/mop <compute_stress_mop>`
* :doc:`stress/mop/profile <compute_stress_mop>`
* :doc:`stress/spherical <compute_stress_cartesian>`
* :doc:`stress/tally <compute_tally>`
* :doc:`tdpd/cc/atom <compute_tdpd_cc_atom>`
* :doc:`temp (k) <compute_temp>`

View File

@ -246,9 +246,6 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
* :doc:`pe/tally <compute_tally>` - potential energy between two groups of atoms via the tally callback mechanism
* :doc:`plasticity/atom <compute_plasticity_atom>` - Peridynamic plasticity for each atom
* :doc:`pressure <compute_pressure>` - total pressure and pressure tensor
* :doc:`pressure/cartesian <compute_pressure_cartesian>` - pressure tensor in cartesian coordinates
* :doc:`pressure/cylinder <compute_pressure_cartesian>` - pressure tensor in cylindrical coordinates
* :doc:`pressure/spherical <compute_pressure_cartesian>` - pressure tensor in spherical coordinates
* :doc:`pressure/uef <compute_pressure_uef>` - pressure tensor in the reference frame of an applied flow field
* :doc:`property/atom <compute_property_atom>` - convert atom attributes to per-atom vectors/arrays
* :doc:`property/chunk <compute_property_chunk>` - extract various per-chunk attributes
@ -291,8 +288,11 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
* :doc:`sph/t/atom <compute_sph_t_atom>` - per-atom internal temperature of Smooth-Particle Hydrodynamics atoms
* :doc:`spin <compute_spin>` - magnetic quantities for a system of atoms having spins
* :doc:`stress/atom <compute_stress_atom>` - stress tensor for each atom
* :doc:`stress/cartesian <compute_stress_cartesian>` - stress tensor in cartesian coordinates
* :doc:`stress/cylinder <compute_stress_cartesian>` - stress tensor in cylindrical coordinates
* :doc:`stress/mop <compute_stress_mop>` - normal components of the local stress tensor using the method of planes
* :doc:`stress/mop/profile <compute_stress_mop>` - profile of the normal components of the local stress tensor using the method of planes
* :doc:`stress/spherical <compute_stress_cartesian>` - stress tensor in spherical coordinates
* :doc:`stress/tally <compute_tally>` - stress between two groups of atoms via the tally callback mechanism
* :doc:`tdpd/cc/atom <compute_tdpd_cc_atom>` - per-atom chemical concentration of a specified species for each tDPD particle
* :doc:`temp <compute_temp>` - temperature of group of atoms

View File

@ -1,15 +1,15 @@
.. index:: compute pressure/cartesian
.. index:: compute pressure/cylinder
.. index:: compute pressure/spherical
.. index:: compute stress/cartesian
.. index:: compute stress/cylinder
.. index:: compute stress/spherical
compute pressure/cartesian command
compute stress/cartesian command
==================================
compute pressure/cylinder command
compute stress/cylinder command
=================================
compute pressure/spherical command
compute stress/spherical command
==================================
Syntax
@ -20,22 +20,22 @@ Syntax
compute ID group-ID style args
* ID, group-ID are documented in :doc:`compute <compute>` command
* style = pressure/cartesian or pressure/spherical or pressure/cylinder
* style = stress/cartesian or stress/spherical or stress/cylinder
* args = argument specific to the compute style
.. parsed-literal::
*pressure/cartesian* args = dim bin_width
*stress/cartesian* args = dim bin_width
dim = x, y, or z. One or two dim/bin_width pairs may be appended
bin_width = width of the bin
*pressure/cylinder* args = zlo zh Rmax bin_width keyword
*stress/cylinder* args = zlo zh Rmax bin_width keyword
zlo = minimum z-boundary for cylinder
zhi = maximum z-boundary for cylinder
Rmax = maximum radius to perform calculation to
bin_width = width of radial bins to use for calculation
keyword = ke (zero or one can be specified)
ke = yes or no
*pressure/spherical*
*stress/spherical*
x0, y0, z0 = origin of the spherical coordinate system
bin_width = width of spherical shells
Rmax = maximum radius of spherical shells
@ -45,40 +45,40 @@ Examples
.. code-block:: LAMMPS
compute 1 all pressure/cartesian x 0.1
compute 1 all pressure/cartesian y 0.25 z 0.1
compute 1 all pressure/cylinder -10.0 10.0 15.0 0.25
compute 1 all pressure/cylinder -10.0 10.0 15.0 0.25 ke no
compute 1 all pressure/spherical 0 0 0 0.1 10
compute 1 all stress/cartesian x 0.1
compute 1 all stress/cartesian y 0.25 z 0.1
compute 1 all stress/cylinder -10.0 10.0 15.0 0.25
compute 1 all stress/cylinder -10.0 10.0 15.0 0.25 ke no
compute 1 all stress/spherical 0 0 0 0.1 10
Description
"""""""""""
Compute *pressure/cartesian*, compute *pressure/cylinder*, and compute
*pressure/spherical* define computations that calculate profiles of the
diagonal components of the local pressure tensor in the specified
coordinate system. The pressure tensor is split into a kinetic
Compute *stress/cartesian*, compute *stress/cylinder*, and compute
*stress/spherical* define computations that calculate profiles of the
diagonal components of the local stress tensor in the specified
coordinate system. The stress tensor is split into a kinetic
contribution :math:`P^k` and a virial contribution :math:`P^v`. The sum
gives the total pressure tensor :math:`P = P^k+P^v`. These computes can
gives the total stress tensor :math:`P = P^k+P^v`. These computes can
for example be used to calculate the diagonal components of the local
pressure tensor of interfaces with flat, cylindrical, or spherical
stress tensor of interfaces with flat, cylindrical, or spherical
symmetry. These computes obeys momentum balance through fluid
interfaces. They use the Irving-Kirkwood contour, which is the straight
line between particle pairs.
The *pressure/cartesian* computes the pressure profile along one or two
The *stress/cartesian* computes the stress profile along one or two
Cartesian coordinates, as described in :ref:`(Ikeshoji)<Ikeshoji2>`. The
compute *pressure/cylinder* computes the pressure profile along the
compute *stress/cylinder* computes the stress profile along the
radial direction in cylindrical coordinates, as described in
:ref:`(Addington)<Addington1>`. The compute *pressure/spherical*
computes the pressure profile along the radial direction in spherical
:ref:`(Addington)<Addington1>`. The compute *stress/spherical*
computes the stress profile along the radial direction in spherical
coordinates, as described in :ref:`(Ikeshoji)<Ikeshoji2>`.
Output info
"""""""""""
The output columns for *pressure/cartesian* are the position of the
The output columns for *stress/cartesian* are the position of the
center of the local volume in the first and second dimensions, number
density, :math:`P^k_{xx}`, :math:`P^k_{yy}`, :math:`P^k_{zz}`,
:math:`P^v_{xx}`, :math:`P^v_{yy}`, and :math:`P^v_{zz}`. There are 8
@ -89,7 +89,7 @@ simulation box in the specified dimensions, and bin_width1 and
bin_width2 are the specified bin widths. When only one dimension is
specified the number of bins/rows are L1/bin_width.
The default output columns for *pressure/cylinder* are the radius to the
The default output columns for *stress/cylinder* are the radius to the
center of the cylindrical shell, number density, :math:`P^k_{rr}`,
:math:`P^k_{\phi\phi}`, :math:`P^k_{zz}`, :math:`P^v_{rr}`,
:math:`P^v_{\phi\phi}`, and :math:`P^v_{zz}`. When the keyword *ke* is
@ -99,7 +99,7 @@ cylindrical shell, number density, :math:`P^v_{rr}`,
:math:`P^v_{\phi\phi}`, :math:`P^v_{zz}`. The number of bins/rows are
Rmax/bin_width.
The output columns for *pressure/spherical* are the radius to the center
The output columns for *stress/spherical* are the radius to the center
of the spherical shell, number density, :math:`P^k_{rr}`,
:math:`P^k_{\theta\theta}`, :math:`P^k_{\phi\phi}`, :math:`P^v_{rr}`,
:math:`P^v_{\theta\theta}`, and :math:`P^v_{\phi\phi}`. There are 8
@ -109,15 +109,16 @@ This array can be output with :doc:`fix ave/time <fix_ave_time>`,
.. code-block:: LAMMPS
compute p all pressure/cartesian x 0.1
compute p all stress/cartesian x 0.1
fix 2 all ave/time 100 1 100 c_p[*] file dump_p.out mode vector
The values calculated by this compute are "intensive". The pressure
The values calculated by this compute are "intensive". The stress
values will be in pressure :doc:`units <units>`. The number density
values are in inverse volume :doc:`units <units>`.
NOTE 1: The local stress does not include any Lennard-Jones tail
corrections to the pressure added by the :doc:`pair_modify tail yes <pair_modify>` command, since those are contributions to the global system pressure.
corrections to the stress added by the :doc:`pair_modify tail yes <pair_modify>`
command, since those are contributions to the global system pressure.
NOTE 2: The local stress profiles generated by these computes are
similar to those obtained by the
@ -125,14 +126,14 @@ similar to those obtained by the
A key difference
is that compute `stress/mop/profile <compute_stress_mop>`
considers particles crossing a set of planes, while
*pressure/cartesian* computes averages for a set of small volumes.
*stress/cartesian* computes averages for a set of small volumes.
More information on the similarities and differences can be found in
:ref:`(Ikeshoji)<Ikeshoji2>`.
Restrictions
""""""""""""
These computes calculate the pressure tensor contributions for pair
These computes calculate the stress tensor contributions for pair
styles only (i.e. no bond, angle, dihedral, etc. contributions, and in
the presence of bonded interactions, the result will be incorrect due to
exclusions for special bonds) and requires pairwise force calculations
@ -151,7 +152,7 @@ Related commands
Default
"""""""
The keyword default for ke in style *pressure/cylinder* is yes.
The keyword default for ke in style *stress/cylinder* is yes.
----------

View File

@ -68,15 +68,16 @@ configurational stress (conf), and/or total stress (total).
NOTE 1: The configurational stress is computed considering all pairs of atoms where at least one atom belongs to group group-ID.
NOTE 2: The local stress does not include any Lennard-Jones tail
corrections to the pressure added by the :doc:`pair_modify tail yes <pair_modify>` command, since those are contributions to the global system pressure.
corrections to the stress added by the :doc:`pair_modify tail yes <pair_modify>`
command, since those are contributions to the global system pressure.
NOTE 3: The local stress profile generated by compute *stress/mop/profile*
is similar to that obtained by compute
:doc:`pressure/cartesian <compute_pressure_cartesian>`.
:doc:`stress/cartesian <compute_stress_cartesian>`.
A key difference
is that compute *stress/mop/profile* considers particles
crossing a set of planes,
while compute *pressure/cartesian* computes averages for a set of
while compute *stress/cartesian* computes averages for a set of
small volumes. More information
on the similarities and differences can be found in
:ref:`(Ikeshoji)<Ikeshoji2>`.
@ -98,7 +99,10 @@ and stress_dir,z.
The values are in pressure :doc:`units <units>`.
The values produced by this compute can be accessed by various :doc:`output commands <Howto_output>`. For instance, the results can be written to a file using the :doc:`fix ave/time <fix_ave_time>` command. Please see the example in the examples/PACKAGES/mop folder.
The values produced by this compute can be accessed by various :doc:`output commands <Howto_output>`.
For instance, the results can be written to a file using the
:doc:`fix ave/time <fix_ave_time>` command. Please see the example
in the examples/PACKAGES/mop folder.
Restrictions
""""""""""""
@ -118,7 +122,7 @@ intra-molecular interactions, and long range (kspace) interactions.
Related commands
""""""""""""""""
:doc:`compute stress/atom <compute_stress_atom>`, :doc:`compute pressure <compute_pressure>`, :doc:`compute pressure/cartesian <compute_pressure_cartesian>`, :doc:`compute pressure/cylinder <compute_pressure_cartesian>`, :doc:`compute pressure/spherical <compute_pressure_cartesian>`
:doc:`compute stress/atom <compute_stress_atom>`, :doc:`compute pressure <compute_pressure>`, :doc:`compute stress/cartesian <compute_stress_cartesian>`, :doc:`compute stress/cylinder <compute_stress_cartesian>`, :doc:`compute stress/spherical <compute_stress_cartesian>`
Default
"""""""

View File

@ -1,4 +1,4 @@
# compute pressure/cylinder for a cylindrical liquid-vapor interface
# compute stress/cylinder for a cylindrical liquid-vapor interface
units lj
atom_style atomic
@ -31,7 +31,7 @@ fix 1 all nvt temp 0.65 0.65 0.2
#dump_modify 3 pad 3
fix 2 all recenter 0 0 NULL units lattice
compute p all pressure/cylinder 0 10 15 0.25
compute p all stress/cylinder 0 10 15 0.25
fix 3 all ave/time 100 1 100 c_p[*] file cylinder.out mode vector
thermo 50

View File

@ -1,4 +1,4 @@
# compute pressure/cartesian for a flat liquid-vapor interface
# compute stress/cartesian for a flat liquid-vapor interface
units lj
atom_style atomic
@ -32,7 +32,7 @@ fix 1 all nvt temp 0.7 0.7 0.2
#dump_modify 3 pad 3
fix 2 all recenter NULL NULL 15 units lattice
compute p1 all pressure/cartesian z 0.5
compute p1 all stress/cartesian z 0.5
fix 3 all ave/time 100 1 100 c_p1[*] file flat.out mode vector
thermo 50

View File

@ -1,4 +1,4 @@
# compute pressure/spherical for a spherical droplet
# compute stress/spherical for a spherical droplet
units lj
atom_style atomic
@ -31,7 +31,7 @@ fix 1 all nvt temp 0.65 0.65 0.2
#dump_modify 3 pad 3
fix 2 all recenter 0 0 0 units lattice
compute p all pressure/spherical 0 0 0 0.25 15
compute p all stress/spherical 0 0 0 0.25 15
fix 3 all ave/time 100 1 100 c_p[*] file sphere.out mode vector
thermo 50

View File

@ -1,5 +1,5 @@
LAMMPS (17 Feb 2022)
# compute pressure/cylinder for a cylindrical liquid-vapor interface
# compute stress/cylinder for a cylindrical liquid-vapor interface
units lj
atom_style atomic
@ -36,7 +36,7 @@ fix 1 all nvt temp 0.65 0.65 0.2
#dump_modify 3 pad 3
fix 2 all recenter 0 0 NULL units lattice
compute p all pressure/cylinder 0 10 15 0.25
compute p all stress/cylinder 0 10 15 0.25
fix 3 all ave/time 100 1 100 c_p[*] file cylinder.out mode vector
thermo 50
@ -48,7 +48,7 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- compute pressure/cylinder:
- compute stress/cylinder:
@Article{Addington,
author = {C. K. Addington, Y. Long, K. E. Gubbins},
@ -74,7 +74,7 @@ Neighbor list info ...
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
(2) compute pressure/cylinder, occasional, copy from (1)
(2) compute stress/cylinder, occasional, copy from (1)
attributes: half, newton on
pair build: copy
stencil: none
@ -102,20 +102,20 @@ Step Temp E_pair E_mol TotEng Press c_p[15][3] c_p[15][4] c_p[15][5]
900 0.64904492 -5.1463816 0 -4.1731214 -0.015999133 0.50996272 0.40697988 0.69606954
950 0.64624835 -5.1529515 0 -4.1838847 0.0037696411 0.46323559 0.64562517 0.6484849
1000 0.64602274 -5.1525985 0 -4.1838701 0.022248112 0.62372474 0.46065491 0.45844619
Loop time of 3.23802 on 1 procs for 1000 steps with 3170 atoms
Loop time of 4.13231 on 1 procs for 1000 steps with 3170 atoms
Performance: 133414.796 tau/day, 308.831 timesteps/s
99.9% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 104542.050 tau/day, 241.995 timesteps/s
99.5% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.90962 | 0.90962 | 0.90962 | 0.0 | 28.09
Neigh | 0.13687 | 0.13687 | 0.13687 | 0.0 | 4.23
Comm | 0.0048607 | 0.0048607 | 0.0048607 | 0.0 | 0.15
Output | 1.4242 | 1.4242 | 1.4242 | 0.0 | 43.98
Modify | 0.7598 | 0.7598 | 0.7598 | 0.0 | 23.46
Other | | 0.002623 | | | 0.08
Pair | 1.1551 | 1.1551 | 1.1551 | 0.0 | 27.95
Neigh | 0.17391 | 0.17391 | 0.17391 | 0.0 | 4.21
Comm | 0.0064512 | 0.0064512 | 0.0064512 | 0.0 | 0.16
Output | 1.7974 | 1.7974 | 1.7974 | 0.0 | 43.50
Modify | 0.99617 | 0.99617 | 0.99617 | 0.0 | 24.11
Other | | 0.003226 | | | 0.08
Nlocal: 3170 ave 3170 max 3170 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -128,4 +128,4 @@ Total # of neighbors = 101768
Ave neighs/atom = 32.10347
Neighbor list builds = 50
Dangerous builds not checked
Total wall time: 0:00:03
Total wall time: 0:00:04

View File

@ -1,5 +1,5 @@
LAMMPS (17 Feb 2022)
# compute pressure/cylinder for a cylindrical liquid-vapor interface
# compute stress/cylinder for a cylindrical liquid-vapor interface
units lj
atom_style atomic
@ -14,7 +14,7 @@ Created orthogonal box = (-16.795962 -16.795962 0) to (16.795962 16.795962 16.79
create_atoms 1 region liquid
Created 3170 atoms
using lattice units in orthogonal box = (-16.795962 -16.795962 0) to (16.795962 16.795962 16.795962)
create_atoms CPU = 0.001 seconds
create_atoms CPU = 0.000 seconds
mass 1 1.0
velocity all create 0.65 87287 loop geom
@ -36,7 +36,7 @@ fix 1 all nvt temp 0.65 0.65 0.2
#dump_modify 3 pad 3
fix 2 all recenter 0 0 NULL units lattice
compute p all pressure/cylinder 0 10 15 0.25
compute p all stress/cylinder 0 10 15 0.25
fix 3 all ave/time 100 1 100 c_p[*] file cylinder.out mode vector
thermo 50
@ -48,7 +48,7 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- compute pressure/cylinder:
- compute stress/cylinder:
@Article{Addington,
author = {C. K. Addington, Y. Long, K. E. Gubbins},
@ -74,7 +74,7 @@ Neighbor list info ...
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
(2) compute pressure/cylinder, occasional, copy from (1)
(2) compute stress/cylinder, occasional, copy from (1)
attributes: half, newton on
pair build: copy
stencil: none
@ -102,20 +102,20 @@ Step Temp E_pair E_mol TotEng Press c_p[15][3] c_p[15][4] c_p[15][5]
900 0.64904492 -5.1463816 0 -4.1731214 -0.015999133 0.50996272 0.40697988 0.69606954
950 0.64624835 -5.1529515 0 -4.1838847 0.0037696411 0.46323559 0.64562517 0.6484849
1000 0.64602274 -5.1525985 0 -4.1838701 0.022248112 0.62372474 0.46065491 0.45844619
Loop time of 0.961057 on 4 procs for 1000 steps with 3170 atoms
Loop time of 1.33052 on 4 procs for 1000 steps with 3170 atoms
Performance: 449505.261 tau/day, 1040.521 timesteps/s
99.9% CPU use with 4 MPI tasks x no OpenMP threads
Performance: 324683.906 tau/day, 751.583 timesteps/s
98.5% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.24978 | 0.2556 | 0.26053 | 1.0 | 26.60
Neigh | 0.036812 | 0.037364 | 0.03795 | 0.2 | 3.89
Comm | 0.027115 | 0.033034 | 0.040202 | 3.2 | 3.44
Output | 0.40636 | 0.40704 | 0.40727 | 0.1 | 42.35
Modify | 0.22584 | 0.22683 | 0.2283 | 0.2 | 23.60
Other | | 0.001187 | | | 0.12
Pair | 0.35212 | 0.36191 | 0.36751 | 1.0 | 27.20
Neigh | 0.05132 | 0.052345 | 0.053278 | 0.3 | 3.93
Comm | 0.060839 | 0.06792 | 0.079544 | 2.9 | 5.10
Output | 0.54 | 0.54103 | 0.54137 | 0.1 | 40.66
Modify | 0.30402 | 0.30522 | 0.30726 | 0.2 | 22.94
Other | | 0.002104 | | | 0.16
Nlocal: 792.5 ave 794 max 791 min
Histogram: 1 0 0 1 0 0 1 0 0 1

View File

@ -1,5 +1,5 @@
LAMMPS (17 Feb 2022)
# compute pressure/cartesian for a flat liquid-vapor interface
# compute stress/cartesian for a flat liquid-vapor interface
units lj
atom_style atomic
@ -37,8 +37,8 @@ fix 1 all nvt temp 0.7 0.7 0.2
#dump_modify 3 pad 3
fix 2 all recenter NULL NULL 15 units lattice
compute p1 all pressure/cartesian z 0.5
Adjusting first bin width for compute pressure/cartesian from 0.500000 to 0.503879
compute p1 all stress/cartesian z 0.5
Adjusting first bin width for compute stress/cartesian from 0.500000 to 0.503879
fix 3 all ave/time 100 1 100 c_p1[*] file flat.out mode vector
thermo 50
@ -50,12 +50,12 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- compute pressure/cartesian:
- compute stress/cartesian:
@article{galteland2021nanothermodynamic,
title={Nanothermodynamic description and molecular simulation of a single-phase fluid in a slit pore},
author={Galteland, Olav and Bedeaux, Dick and Kjelstrup, Signe}
,journal={Nanomaterials},
author={Galteland, Olav and Bedeaux, Dick and Kjelstrup, Signe},
journal={Nanomaterials},
volume={11},
number={1},
pages={165},
@ -78,7 +78,7 @@ Neighbor list info ...
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
(2) compute pressure/cartesian, occasional, copy from (1)
(2) compute stress/cartesian, occasional, copy from (1)
attributes: half, newton on
pair build: copy
stencil: none
@ -106,20 +106,20 @@ Step Temp E_pair E_mol TotEng Press c_p1[50][3] c_p1[50][4] c_p1[50][5] c_p1[50]
900 0.67608249 -5.711593 0 -4.6977107 -0.28650991 0.41295263 0.58244529 0.51061419 1.1176204 0.85808642 -0.50262868
950 0.68080988 -5.6043546 0 -4.5833829 -0.29765481 0.50435084 0.49611677 0.5263358 -1.0396644 -0.85737705 -1.3764034
1000 0.68792271 -5.5015077 0 -4.4698694 -0.27955533 0.63890467 0.66446292 0.51353613 -0.39241484 -0.64122487 -0.78501452
Loop time of 1.84234 on 1 procs for 1000 steps with 4200 atoms
Loop time of 2.06097 on 1 procs for 1000 steps with 4200 atoms
Performance: 234484.767 tau/day, 542.789 timesteps/s
99.9% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 209609.664 tau/day, 485.208 timesteps/s
99.3% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.3351 | 1.3351 | 1.3351 | 0.0 | 72.47
Neigh | 0.19357 | 0.19357 | 0.19357 | 0.0 | 10.51
Comm | 0.015339 | 0.015339 | 0.015339 | 0.0 | 0.83
Output | 0.14428 | 0.14428 | 0.14428 | 0.0 | 7.83
Modify | 0.14965 | 0.14965 | 0.14965 | 0.0 | 8.12
Other | | 0.00435 | | | 0.24
Pair | 1.4899 | 1.4899 | 1.4899 | 0.0 | 72.29
Neigh | 0.22785 | 0.22785 | 0.22785 | 0.0 | 11.06
Comm | 0.017142 | 0.017142 | 0.017142 | 0.0 | 0.83
Output | 0.15511 | 0.15511 | 0.15511 | 0.0 | 7.53
Modify | 0.16608 | 0.16608 | 0.16608 | 0.0 | 8.06
Other | | 0.004898 | | | 0.24
Nlocal: 4200 ave 4200 max 4200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
@ -132,4 +132,4 @@ Total # of neighbors = 144737
Ave neighs/atom = 34.46119
Neighbor list builds = 50
Dangerous builds not checked
Total wall time: 0:00:01
Total wall time: 0:00:02

View File

@ -1,5 +1,5 @@
LAMMPS (17 Feb 2022)
# compute pressure/cartesian for a flat liquid-vapor interface
# compute stress/cartesian for a flat liquid-vapor interface
units lj
atom_style atomic
@ -15,7 +15,7 @@ Created orthogonal box = (0 0 0) to (16.795962 16.795962 50.387886)
create_atoms 1 region liquid
Created 4200 atoms
using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 50.387886)
create_atoms CPU = 0.001 seconds
create_atoms CPU = 0.000 seconds
mass 1 1.0
velocity all create 0.65 87287 loop geom
@ -37,8 +37,8 @@ fix 1 all nvt temp 0.7 0.7 0.2
#dump_modify 3 pad 3
fix 2 all recenter NULL NULL 15 units lattice
compute p1 all pressure/cartesian z 0.5
Adjusting first bin width for compute pressure/cartesian from 0.500000 to 0.503879
compute p1 all stress/cartesian z 0.5
Adjusting first bin width for compute stress/cartesian from 0.500000 to 0.503879
fix 3 all ave/time 100 1 100 c_p1[*] file flat.out mode vector
thermo 50
@ -50,12 +50,12 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- compute pressure/cartesian:
- compute stress/cartesian:
@article{galteland2021nanothermodynamic,
title={Nanothermodynamic description and molecular simulation of a single-phase fluid in a slit pore},
author={Galteland, Olav and Bedeaux, Dick and Kjelstrup, Signe}
,journal={Nanomaterials},
author={Galteland, Olav and Bedeaux, Dick and Kjelstrup, Signe},
journal={Nanomaterials},
volume={11},
number={1},
pages={165},
@ -78,7 +78,7 @@ Neighbor list info ...
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
(2) compute pressure/cartesian, occasional, copy from (1)
(2) compute stress/cartesian, occasional, copy from (1)
attributes: half, newton on
pair build: copy
stencil: none
@ -106,20 +106,20 @@ Step Temp E_pair E_mol TotEng Press c_p1[50][3] c_p1[50][4] c_p1[50][5] c_p1[50]
900 0.67608249 -5.711593 0 -4.6977107 -0.28650991 0.41295263 0.58244529 0.51061419 1.0812494 0.85110914 -0.52125789
950 0.68080988 -5.6043546 0 -4.5833829 -0.29765481 0.50435084 0.49611677 0.5263358 -1.1084255 -0.87093225 -1.4488231
1000 0.68792271 -5.5015077 0 -4.4698694 -0.27955533 0.63890467 0.66446292 0.51353613 -0.39754859 -0.7422202 -0.84836654
Loop time of 0.575049 on 4 procs for 1000 steps with 4200 atoms
Loop time of 0.67272 on 4 procs for 1000 steps with 4200 atoms
Performance: 751240.091 tau/day, 1738.982 timesteps/s
99.8% CPU use with 4 MPI tasks x no OpenMP threads
Performance: 642168.946 tau/day, 1486.502 timesteps/s
99.2% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.37292 | 0.38209 | 0.39205 | 1.1 | 66.44
Neigh | 0.054607 | 0.054984 | 0.055671 | 0.2 | 9.56
Comm | 0.036134 | 0.046597 | 0.055864 | 3.3 | 8.10
Output | 0.042435 | 0.043507 | 0.043865 | 0.3 | 7.57
Modify | 0.045591 | 0.046196 | 0.04751 | 0.4 | 8.03
Other | | 0.001678 | | | 0.29
Pair | 0.42649 | 0.43416 | 0.44515 | 1.2 | 64.54
Neigh | 0.063766 | 0.064411 | 0.065468 | 0.3 | 9.57
Comm | 0.053491 | 0.065409 | 0.07366 | 3.2 | 9.72
Output | 0.050856 | 0.052036 | 0.052435 | 0.3 | 7.74
Modify | 0.054128 | 0.054608 | 0.055873 | 0.3 | 8.12
Other | | 0.002091 | | | 0.31
Nlocal: 1050 ave 1071 max 1026 min
Histogram: 1 0 0 0 0 2 0 0 0 1

View File

@ -1,5 +1,5 @@
LAMMPS (17 Feb 2022)
# compute pressure/spherical for a spherical droplet
# compute stress/spherical for a spherical droplet
units lj
atom_style atomic
@ -36,8 +36,8 @@ fix 1 all nvt temp 0.65 0.65 0.2
#dump_modify 3 pad 3
fix 2 all recenter 0 0 0 units lattice
compute p all pressure/spherical 0 0 0 0.25 15
Adjusting bin width for compute pressure/spherical from 0.250000 to 0.245902
compute p all stress/spherical 0 0 0 0.25 15
Adjusting bin width for compute stress/spherical from 0.250000 to 0.245902
fix 3 all ave/time 100 1 100 c_p[*] file sphere.out mode vector
thermo 50
@ -49,7 +49,7 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- compute pressure/spherical:
- compute stress/spherical:
@article{galteland2022defining,
title={Defining the pressures of a fluid in a nanoporous, heterogeneous medium},
@ -73,7 +73,7 @@ Neighbor list info ...
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
(2) compute pressure/spherical, occasional, copy from (1)
(2) compute stress/spherical, occasional, copy from (1)
attributes: half, newton on
pair build: copy
stencil: none
@ -101,20 +101,20 @@ Step Temp E_pair E_mol TotEng Press c_p[15][3] c_p[15][4] c_p[15][5] c_p[15][6]
900 0.65308258 -5.0187376 0 -4.0395752 0.016798783 0.50392257 0.49473611 0.46727165 -0.096394732 -1.3622008 -1.0134429
950 0.65225966 -4.9974305 0 -4.0195019 0.0195366 0.47764992 0.56974826 0.58927977 0.93251392 -0.29722045 0.17614353
1000 0.6407875 -4.9770134 0 -4.0162849 0.0064419231 0.87635667 0.51303644 0.45437033 0.14319333 0.10005421 0.29188404
Loop time of 1.33554 on 1 procs for 1000 steps with 2123 atoms
Loop time of 1.69288 on 1 procs for 1000 steps with 2123 atoms
Performance: 323464.483 tau/day, 748.760 timesteps/s
99.8% CPU use with 1 MPI tasks x no OpenMP threads
Performance: 255186.474 tau/day, 590.709 timesteps/s
99.3% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.57217 | 0.57217 | 0.57217 | 0.0 | 42.84
Neigh | 0.084723 | 0.084723 | 0.084723 | 0.0 | 6.34
Comm | 0.0010257 | 0.0010257 | 0.0010257 | 0.0 | 0.08
Output | 0.42685 | 0.42685 | 0.42685 | 0.0 | 31.96
Modify | 0.24946 | 0.24946 | 0.24946 | 0.0 | 18.68
Other | | 0.001311 | | | 0.10
Pair | 0.71479 | 0.71479 | 0.71479 | 0.0 | 42.22
Neigh | 0.10962 | 0.10962 | 0.10962 | 0.0 | 6.48
Comm | 0.0014258 | 0.0014258 | 0.0014258 | 0.0 | 0.08
Output | 0.53333 | 0.53333 | 0.53333 | 0.0 | 31.50
Modify | 0.3319 | 0.3319 | 0.3319 | 0.0 | 19.61
Other | | 0.001817 | | | 0.11
Nlocal: 2123 ave 2123 max 2123 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,5 @@
LAMMPS (17 Feb 2022)
# compute pressure/spherical for a spherical droplet
# compute stress/spherical for a spherical droplet
units lj
atom_style atomic
@ -36,8 +36,8 @@ fix 1 all nvt temp 0.65 0.65 0.2
#dump_modify 3 pad 3
fix 2 all recenter 0 0 0 units lattice
compute p all pressure/spherical 0 0 0 0.25 15
Adjusting bin width for compute pressure/spherical from 0.250000 to 0.245902
compute p all stress/spherical 0 0 0 0.25 15
Adjusting bin width for compute stress/spherical from 0.250000 to 0.245902
fix 3 all ave/time 100 1 100 c_p[*] file sphere.out mode vector
thermo 50
@ -49,7 +49,7 @@ CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- compute pressure/spherical:
- compute stress/spherical:
@article{galteland2022defining,
title={Defining the pressures of a fluid in a nanoporous, heterogeneous medium},
@ -73,7 +73,7 @@ Neighbor list info ...
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
(2) compute pressure/spherical, occasional, copy from (1)
(2) compute stress/spherical, occasional, copy from (1)
attributes: half, newton on
pair build: copy
stencil: none
@ -101,20 +101,20 @@ Step Temp E_pair E_mol TotEng Press c_p[15][3] c_p[15][4] c_p[15][5] c_p[15][6]
900 0.65308258 -5.0187376 0 -4.0395752 0.016798783 0.50392257 0.49473611 0.46727165 -0.093317056 -1.3498298 -0.99991957
950 0.65225966 -4.9974305 0 -4.0195019 0.0195366 0.47764992 0.56974826 0.58927977 0.93251392 -0.29722045 0.17614353
1000 0.6407875 -4.9770134 0 -4.0162849 0.006441923 0.87635667 0.51303643 0.45437033 0.19199806 0.09464003 0.42241535
Loop time of 0.445005 on 4 procs for 1000 steps with 2123 atoms
Loop time of 0.482332 on 4 procs for 1000 steps with 2123 atoms
Performance: 970776.406 tau/day, 2247.168 timesteps/s
99.8% CPU use with 4 MPI tasks x no OpenMP threads
Performance: 895649.023 tau/day, 2073.262 timesteps/s
99.5% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.14588 | 0.16497 | 0.18451 | 4.0 | 37.07
Neigh | 0.021027 | 0.023815 | 0.026465 | 1.6 | 5.35
Comm | 0.01933 | 0.042225 | 0.064711 | 9.3 | 9.49
Output | 0.133 | 0.13376 | 0.13402 | 0.1 | 30.06
Modify | 0.07858 | 0.079474 | 0.080939 | 0.3 | 17.86
Other | | 0.000762 | | | 0.17
Pair | 0.16099 | 0.1807 | 0.19799 | 3.5 | 37.46
Neigh | 0.024387 | 0.027158 | 0.030308 | 1.6 | 5.63
Comm | 0.022206 | 0.043381 | 0.066483 | 8.5 | 8.99
Output | 0.14055 | 0.14125 | 0.14149 | 0.1 | 29.29
Modify | 0.087967 | 0.088908 | 0.090377 | 0.3 | 18.43
Other | | 0.0009305 | | | 0.19
Nlocal: 530.75 ave 542 max 513 min
Histogram: 1 0 0 0 1 0 0 0 0 2

12
src/.gitignore vendored
View File

@ -489,14 +489,8 @@
/compute_plasticity_atom.h
/compute_pressure_bocs.cpp
/compute_pressure_bocs.h
/compute_pressure_cartesian.cpp
/compute_pressure_cartesian.h
/compute_pressure_cylinder.cpp
/compute_pressure_cylinder.h
/compute_pressure_grem.cpp
/compute_pressure_grem.h
/compute_pressure_spherical.cpp
/compute_pressure_spherical.h
/compute_ptm_atom.cpp
/compute_ptm_atom.h
/compute_rigid_local.cpp
@ -505,10 +499,16 @@
/compute_smd_triangle_vertices.h
/compute_spec_atom.cpp
/compute_spec_atom.h
/compute_stress_cartesian.cpp
/compute_stress_cartesian.h
/compute_stress_cylinder.cpp
/compute_stress_cylinder.h
/compute_stress_mop.cpp
/compute_stress_mop.h
/compute_stress_mop_profile.cpp
/compute_stress_mop_profile.h
/compute_stress_spherical.cpp
/compute_stress_spherical.h
/compute_stress_tally.cpp
/compute_stress_tally.h
/compute_temp_asphere.cpp

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS dir1ectory.
------------------------------------------------------------------------- */
#include "compute_pressure_cartesian.h"
#include "compute_stress_cartesian.h"
#include "atom.h"
#include "citeme.h"
@ -37,8 +37,8 @@ using namespace LAMMPS_NS;
olav.galteland@ntnu.no
------------------------------------------------------------------------------------*/
static const char cite_compute_pressure_cartesian[] =
"compute pressure/cartesian:\n\n"
static const char cite_compute_stress_cartesian[] =
"compute stress/cartesian:\n\n"
"@article{galteland2021nanothermodynamic,\n"
"title={Nanothermodynamic description and molecular simulation of a single-phase fluid in a "
"slit pore},\n"
@ -54,13 +54,13 @@ static const char cite_compute_pressure_cartesian[] =
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char **arg) :
ComputeStressCartesian::ComputeStressCartesian(LAMMPS *lmp, int narg, char **arg) :
Compute(lmp, narg, arg), dens(NULL), pkxx(NULL), pkyy(NULL), pkzz(NULL), pcxx(NULL), pcyy(NULL),
pczz(NULL), tdens(NULL), tpkxx(NULL), tpkyy(NULL), tpkzz(NULL), tpcxx(NULL), tpcyy(NULL),
tpczz(NULL)
{
if (lmp->citeme) lmp->citeme->add(cite_compute_pressure_cartesian);
if (lmp->citeme) lmp->citeme->add(cite_compute_stress_cartesian);
// narg == 5 for one-dimensional and narg == 7 for two-dimensional
if (narg == 5)
@ -68,7 +68,7 @@ ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char *
else if (narg == 7)
dims = 2;
else
error->all(FLERR, "Illegal compute pressure/cartesian command. Illegal number of arguments.");
error->all(FLERR, "Illegal compute stress/cartesian command. Illegal number of arguments.");
if (strcmp(arg[3], "x") == 0)
dir1 = 0;
@ -77,7 +77,7 @@ ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char *
else if (strcmp(arg[3], "z") == 0)
dir1 = 2;
else
error->all(FLERR, "Illegal compute pressure/cartesian command.");
error->all(FLERR, "Illegal compute stress/cartesian command.");
dir2 = 0;
bin_width1 = utils::numeric(FLERR, arg[4], false, lmp);
@ -92,9 +92,9 @@ ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char *
bin_width1 = invV;
if (bin_width1 <= 0.0)
error->all(FLERR, "Illegal compute pressure/cartesian command. Bin width must be > 0");
error->all(FLERR, "Illegal compute stress/cartesian command. Bin width must be > 0");
else if (bin_width1 > domain->boxhi[dir1] - domain->boxlo[dir1])
error->all(FLERR, "Illegal compute pressure/cartesian command. Bin width larger than box.");
error->all(FLERR, "Illegal compute stress/cartesian command. Bin width larger than box.");
if (dims == 2) {
if (strcmp(arg[5], "x") == 0)
@ -104,7 +104,7 @@ ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char *
else if (strcmp(arg[5], "z") == 0)
dir2 = 2;
else
error->all(FLERR, "Illegal compute pressure/cartesian command.");
error->all(FLERR, "Illegal compute stress/cartesian command.");
bin_width2 = utils::numeric(FLERR, arg[6], false, lmp);
nbins2 = (int) ((domain->boxhi[dir2] - domain->boxlo[dir2]) / bin_width2);
@ -117,9 +117,9 @@ ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char *
invV *= bin_width2;
if (bin_width2 <= 0.0)
error->all(FLERR, "Illegal compute pressure/cartesian command. Bin width must be > 0");
error->all(FLERR, "Illegal compute stress/cartesian command. Bin width must be > 0");
else if (bin_width2 > domain->boxhi[dir2] - domain->boxlo[dir2])
error->all(FLERR, "Illegal compute pressure/cartesian command. Bin width larger than box");
error->all(FLERR, "Illegal compute stress/cartesian command. Bin width larger than box");
}
for (int i = 0; i < 3; i++)
@ -147,12 +147,12 @@ ComputePressureCartesian::ComputePressureCartesian(LAMMPS *lmp, int narg, char *
memory->create(tpcxx, nbins1 * nbins2, "tpcxx");
memory->create(tpcyy, nbins1 * nbins2, "tpcyy");
memory->create(tpczz, nbins1 * nbins2, "tpczz");
memory->create(array, size_array_rows, size_array_cols, "pressure:cartesian:output");
memory->create(array, size_array_rows, size_array_cols, "stress:cartesian:output");
}
/* ---------------------------------------------------------------------- */
ComputePressureCartesian::~ComputePressureCartesian()
ComputeStressCartesian::~ComputeStressCartesian()
{
memory->destroy(dens);
memory->destroy(pkxx);
@ -173,12 +173,12 @@ ComputePressureCartesian::~ComputePressureCartesian()
/* ---------------------------------------------------------------------- */
void ComputePressureCartesian::init()
void ComputeStressCartesian::init()
{
if (force->pair == NULL)
error->all(FLERR, "No pair style is defined for compute pressure/cartesian");
error->all(FLERR, "No pair style is defined for compute stress/cartesian");
if (force->pair->single_enable == 0)
error->all(FLERR, "Pair style does not support compute pressure/cartesian");
error->all(FLERR, "Pair style does not support compute stress/cartesian");
// need an occasional half neighbor list.
int irequest = neighbor->request(this, instance_me);
@ -189,7 +189,7 @@ void ComputePressureCartesian::init()
/* ---------------------------------------------------------------------- */
void ComputePressureCartesian::init_list(int /* id */, NeighList *ptr)
void ComputeStressCartesian::init_list(int /* id */, NeighList *ptr)
{
list = ptr;
}
@ -203,7 +203,7 @@ void ComputePressureCartesian::init_list(int /* id */, NeighList *ptr)
if flag is set, compute requested info about pair
------------------------------------------------------------------------- */
void ComputePressureCartesian::compute_array()
void ComputeStressCartesian::compute_array()
{
int i, j, ii, jj, inum, jnum, itype, jtype;
int bin, bin1, bin2, bin3;
@ -358,7 +358,7 @@ void ComputePressureCartesian::compute_array()
}
}
void ComputePressureCartesian::compute_pressure_1d(double fpair, double xi, double xj, double delx,
void ComputeStressCartesian::compute_pressure_1d(double fpair, double xi, double xj, double delx,
double dely, double delz)
{
int bin_s, bin_e, bin_step, bin, bin_limit;
@ -456,7 +456,7 @@ void ComputePressureCartesian::compute_pressure_1d(double fpair, double xi, doub
}
}
void ComputePressureCartesian::compute_pressure_2d(double fpair, double xi, double yi, double xj,
void ComputeStressCartesian::compute_pressure_2d(double fpair, double xi, double yi, double xj,
double yj, double delx, double dely, double delz)
{
int bin1, bin2, next_bin1, next_bin2;
@ -531,7 +531,7 @@ void ComputePressureCartesian::compute_pressure_2d(double fpair, double xi, doub
memory usage of data
------------------------------------------------------------------------- */
double ComputePressureCartesian::memory_usage()
double ComputeStressCartesian::memory_usage()
{
return (14.0 + dims + 7) * (double) (nbins1 * nbins2) * sizeof(double);
}

View File

@ -13,21 +13,21 @@
#ifdef COMPUTE_CLASS
// clang-format off
ComputeStyle(pressure/cartesian,ComputePressureCartesian);
ComputeStyle(stress/cartesian,ComputeStressCartesian);
// clang-format on
#else
#ifndef LMP_COMPUTE_PRESSURE_CARTESIAN_H
#define LMP_COMPUTE_PRESSURE_CARTESIAN_H
#ifndef LMP_COMPUTE_STRESS_CARTESIAN_H
#define LMP_COMPUTE_STRESS_CARTESIAN_H
#include "compute.h"
namespace LAMMPS_NS {
class ComputePressureCartesian : public Compute {
class ComputeStressCartesian : public Compute {
public:
ComputePressureCartesian(class LAMMPS *, int, char **);
~ComputePressureCartesian() override;
ComputeStressCartesian(class LAMMPS *, int, char **);
~ComputeStressCartesian() override;
void init() override;
void init_list(int, class NeighList *) override;
void compute_array() override;
@ -58,13 +58,13 @@ Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: No pair style is defined for compute pressure/cartesian
E: No pair style is defined for compute stress/cartesian
Self-explanatory.
E: Pair style does not support compute pressure/cartesian
E: Pair style does not support compute stress/cartesian
The pair style does not have a single() function, so it can
not be invoked by compute pressure/cartesian.
not be invoked by compute stress/cartesian.
*/

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS directory.
------------------------------------------------------------------------- */
#include "compute_pressure_cylinder.h"
#include "compute_stress_cylinder.h"
#include "atom.h"
#include "citeme.h"
@ -43,8 +43,8 @@ using MathSpecial::square;
olav.galteland@ntnu.no
------------------------------------------------------------------------------------*/
static const char cite_compute_pressure_cylinder[] =
"compute pressure/cylinder:\n\n"
static const char cite_compute_stress_cylinder[] =
"compute stress/cylinder:\n\n"
"@Article{Addington,\n"
" author = {C. K. Addington, Y. Long, K. E. Gubbins},\n"
" title = {The pressure in interfaces having cylindrical geometry},\n"
@ -55,19 +55,19 @@ static const char cite_compute_pressure_cylinder[] =
"}\n\n";
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Calculate the configurational components of the pressure tensor in
Calculate the configurational components of the stress tensor in
cylindrical geometry, according to the formulation of Addington et al. (2018)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
ComputePressureCyl::ComputePressureCyl(LAMMPS *lmp, int narg, char **arg) :
ComputeStressCyl::ComputeStressCyl(LAMMPS *lmp, int narg, char **arg) :
Compute(lmp, narg, arg), Pvr_temp(nullptr), Pvr_all(nullptr), Pvz_temp(nullptr),
Pvz_all(nullptr), Pvphi_temp(nullptr), Pvphi_all(nullptr), R(nullptr), Rinv(nullptr),
R2(nullptr), PrAinv(nullptr), PzAinv(nullptr), R2kin(nullptr), density_temp(nullptr),
invVbin(nullptr), density_all(nullptr), tangent(nullptr), ephi_x(nullptr), ephi_y(nullptr),
binz(nullptr)
{
if (lmp->citeme) lmp->citeme->add(cite_compute_pressure_cylinder);
if ((narg != 7) && (narg != 9)) error->all(FLERR, "Illegal compute pressure/cylinder command");
if (lmp->citeme) lmp->citeme->add(cite_compute_stress_cylinder);
if ((narg != 7) && (narg != 9)) error->all(FLERR, "Illegal compute stress/cylinder command");
zlo = utils::numeric(FLERR, arg[3], false, lmp);
zhi = utils::numeric(FLERR, arg[4], false, lmp);
@ -79,19 +79,19 @@ ComputePressureCyl::ComputePressureCyl(LAMMPS *lmp, int narg, char **arg) :
int iarg = 7;
if (narg > iarg) {
if (strcmp("ke", arg[iarg]) == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Invalid compute pressure/cylinder command");
if (iarg + 2 > narg) error->all(FLERR, "Invalid compute stress/cylinder command");
kinetic_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
iarg += 2;
} else
error->all(FLERR, "Unknown compute pressure/cylinder command");
error->all(FLERR, "Unknown compute stress/cylinder command");
}
if ((bin_width <= 0.0) || (bin_width > Rmax))
error->all(FLERR, "Illegal compute pressure/cylinder command");
error->all(FLERR, "Illegal compute stress/cylinder command");
if ((zhi < zlo) || ((zhi - zlo) < bin_width))
error->all(FLERR, "Illegal compute pressure/cylinder command");
error->all(FLERR, "Illegal compute stress/cylinder command");
if ((zhi > domain->boxhi[2]) || (zlo < domain->boxlo[2]))
error->all(FLERR, "Illegal compute pressure/cylinder command");
error->all(FLERR, "Illegal compute stress/cylinder command");
nbins = (int) (Rmax / bin_width);
nzbins = (int) ((zhi - zlo) / bin_width);
@ -100,7 +100,7 @@ ComputePressureCyl::ComputePressureCyl(LAMMPS *lmp, int narg, char **arg) :
// memory on a 32-bit environment. so we use this as an upper limit.
if ((nbins < 1) || (nzbins < 1) || (nbins > 2 << 22) || (nzbins > 2 << 22))
error->all(FLERR, "Illegal compute pressure/cylinder command");
error->all(FLERR, "Illegal compute stress/cylinder command");
array_flag = 1;
vector_flag = 0;
@ -147,7 +147,7 @@ ComputePressureCyl::ComputePressureCyl(LAMMPS *lmp, int narg, char **arg) :
/* ---------------------------------------------------------------------- */
ComputePressureCyl::~ComputePressureCyl()
ComputeStressCyl::~ComputeStressCyl()
{
memory->destroy(array);
if (kinetic_flag == 1) {
@ -181,12 +181,12 @@ ComputePressureCyl::~ComputePressureCyl()
/* ---------------------------------------------------------------------- */
void ComputePressureCyl::init()
void ComputeStressCyl::init()
{
if (force->pair == nullptr)
error->all(FLERR, "No pair style is defined for compute pressure/cylinder");
error->all(FLERR, "No pair style is defined for compute stress/cylinder");
if (force->pair->single_enable == 0)
error->all(FLERR, "Pair style does not support compute pressure/cylinder");
error->all(FLERR, "Pair style does not support compute stress/cylinder");
double phi;
for (int iphi = 0; iphi < nphi; iphi++) {
@ -224,7 +224,7 @@ void ComputePressureCyl::init()
/* ---------------------------------------------------------------------- */
void ComputePressureCyl::init_list(int /* id */, NeighList *ptr)
void ComputeStressCyl::init_list(int /* id */, NeighList *ptr)
{
list = ptr;
}
@ -238,7 +238,7 @@ void ComputePressureCyl::init_list(int /* id */, NeighList *ptr)
if flag is set, compute requested info about pair
------------------------------------------------------------------------- */
void ComputePressureCyl::compute_array()
void ComputeStressCyl::compute_array()
{
invoked_array = update->ntimestep;
@ -556,7 +556,7 @@ void ComputePressureCyl::compute_array()
/* ----------------------------------------------------------------------
memory usage of data
------------------------------------------------------------------------- */
double ComputePressureCyl::memory_usage()
double ComputeStressCyl::memory_usage()
{
double bytes =
(3.0 * (double) nphi + 16.0 * (double) nbins + (5.0 + 3.0 * kinetic_flag) * (double) nbins) *

View File

@ -13,21 +13,21 @@
#ifdef COMPUTE_CLASS
// clang-format off
ComputeStyle(pressure/cylinder,ComputePressureCyl);
ComputeStyle(stress/cylinder,ComputeStressCyl);
// clang-format on
#else
#ifndef LMP_COMPUTE_PRESSURE_CYLINDER_H
#define LMP_COMPUTE_PRESSURE_CYLINDER_H
#ifndef LMP_COMPUTE_STRESS_CYLINDER_H
#define LMP_COMPUTE_STRESS_CYLINDER_H
#include "compute.h"
namespace LAMMPS_NS {
class ComputePressureCyl : public Compute {
class ComputeStressCyl : public Compute {
public:
ComputePressureCyl(class LAMMPS *, int, char **);
~ComputePressureCyl() override;
ComputeStressCyl(class LAMMPS *, int, char **);
~ComputeStressCyl() override;
void init() override;
void init_list(int, class NeighList *) override;
void compute_array() override;
@ -62,13 +62,13 @@ Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: No pair style is defined for compute pressure/cylinder
E: No pair style is defined for compute stress/cylinder
Self-explanatory.
E: Pair style does not support compute pressure/cylinder
E: Pair style does not support compute stress/cylinder
The pair style does not have a single() function, so it can
not be invoked by compute pressure/cylinder.
not be invoked by compute stress/cylinder.
*/

View File

@ -11,7 +11,7 @@
See the README file in the top-level LAMMPS dir1ectory.
------------------------------------------------------------------------- */
#include "compute_pressure_spherical.h"
#include "compute_stress_spherical.h"
#include "atom.h"
#include "citeme.h"
@ -45,8 +45,8 @@ using MathSpecial::square;
olav.galteland@ntnu.no
------------------------------------------------------------------------------------*/
static const char cite_compute_pressure_sphere[] =
"compute pressure/spherical:\n\n"
static const char cite_compute_stress_sphere[] =
"compute stress/spherical:\n\n"
"@article{galteland2022defining,\n"
"title={Defining the pressures of a fluid in a nanoporous, heterogeneous medium},\n"
"author={Galteland, Olav and Rauter, Michael T and Varughese, Kevin K and Bedeaux, Dick and "
@ -58,15 +58,15 @@ static const char cite_compute_pressure_sphere[] =
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
ComputePressureSpherical::ComputePressureSpherical(LAMMPS *lmp, int narg, char **arg) :
ComputeStressSpherical::ComputeStressSpherical(LAMMPS *lmp, int narg, char **arg) :
Compute(lmp, narg, arg), dens(nullptr), pkrr(nullptr), pktt(nullptr), pkpp(nullptr),
pcrr(nullptr), pctt(nullptr), pcpp(nullptr), tdens(nullptr), tpkrr(nullptr), tpktt(nullptr),
tpkpp(nullptr), tpcrr(nullptr), tpctt(nullptr), tpcpp(nullptr)
{
if (lmp->citeme) lmp->citeme->add(cite_compute_pressure_sphere);
if (lmp->citeme) lmp->citeme->add(cite_compute_stress_sphere);
if (narg != 8)
error->all(FLERR, "Illegal compute pressure/spherical command. Illegal number of arguments.");
error->all(FLERR, "Illegal compute stress/spherical command. Illegal number of arguments.");
x0 = utils::numeric(FLERR, arg[3], false, lmp);
y0 = utils::numeric(FLERR, arg[4], false, lmp);
@ -81,7 +81,7 @@ ComputePressureSpherical::ComputePressureSpherical(LAMMPS *lmp, int narg, char *
bin_width = tmp_width;
if (bin_width <= 0.0)
error->all(FLERR, "Illegal compute pressure/spherical command. Bin width must be > 0");
error->all(FLERR, "Illegal compute stress/spherical command. Bin width must be > 0");
array_flag = 1;
vector_flag = 0;
@ -89,27 +89,27 @@ ComputePressureSpherical::ComputePressureSpherical(LAMMPS *lmp, int narg, char *
size_array_cols = 8; // r, dens, pkrr, pktt, pkpp, pcrr, pctt, pcpp
size_array_rows = nbins;
memory->create(invV, nbins, "compute/pressure/spherical:invV");
memory->create(dens, nbins, "compute/pressure/spherical:dens");
memory->create(pkrr, nbins, "compute/pressure/spherical:pkrr");
memory->create(pktt, nbins, "compute/pressure/spherical:pktt");
memory->create(pkpp, nbins, "compute/pressure/spherical:pkpp");
memory->create(pcrr, nbins, "compute/pressure/spherical:pcrr");
memory->create(pctt, nbins, "compute/pressure/spherical:pctt");
memory->create(pcpp, nbins, "compute/pressure/spherical:pcpp");
memory->create(tdens, nbins, "compute/pressure/spherical:tdens");
memory->create(tpkrr, nbins, "compute/pressure/spherical:tpkrr");
memory->create(tpktt, nbins, "compute/pressure/spherical:tpktt");
memory->create(tpkpp, nbins, "compute/pressure/spherical:tpkpp");
memory->create(tpcrr, nbins, "compute/pressure/spherical:tpcrr");
memory->create(tpctt, nbins, "compute/pressure/spherical:tpctt");
memory->create(tpcpp, nbins, "compute/pressure/spherical:tpcpp");
memory->create(array, size_array_rows, size_array_cols, "compute/pressure/spherical:array");
memory->create(invV, nbins, "compute/stress/spherical:invV");
memory->create(dens, nbins, "compute/stress/spherical:dens");
memory->create(pkrr, nbins, "compute/stress/spherical:pkrr");
memory->create(pktt, nbins, "compute/stress/spherical:pktt");
memory->create(pkpp, nbins, "compute/stress/spherical:pkpp");
memory->create(pcrr, nbins, "compute/stress/spherical:pcrr");
memory->create(pctt, nbins, "compute/stress/spherical:pctt");
memory->create(pcpp, nbins, "compute/stress/spherical:pcpp");
memory->create(tdens, nbins, "compute/stress/spherical:tdens");
memory->create(tpkrr, nbins, "compute/stress/spherical:tpkrr");
memory->create(tpktt, nbins, "compute/stress/spherical:tpktt");
memory->create(tpkpp, nbins, "compute/stress/spherical:tpkpp");
memory->create(tpcrr, nbins, "compute/stress/spherical:tpcrr");
memory->create(tpctt, nbins, "compute/stress/spherical:tpctt");
memory->create(tpcpp, nbins, "compute/stress/spherical:tpcpp");
memory->create(array, size_array_rows, size_array_cols, "compute/stress/spherical:array");
}
/* ---------------------------------------------------------------------- */
ComputePressureSpherical::~ComputePressureSpherical()
ComputeStressSpherical::~ComputeStressSpherical()
{
memory->destroy(invV);
memory->destroy(dens);
@ -131,12 +131,12 @@ ComputePressureSpherical::~ComputePressureSpherical()
/* ---------------------------------------------------------------------- */
void ComputePressureSpherical::init()
void ComputeStressSpherical::init()
{
if (force->pair == nullptr)
error->all(FLERR, "No pair style is defined for compute pressure/spherical");
error->all(FLERR, "No pair style is defined for compute stress/spherical");
if (force->pair->single_enable == 0)
error->all(FLERR, "Pair style does not support compute pressure/spherical");
error->all(FLERR, "Pair style does not support compute stress/spherical");
// Inverse volume of each spherical shell (bin)
for (int bin = 0; bin < nbins; bin++)
@ -150,7 +150,7 @@ void ComputePressureSpherical::init()
/* ---------------------------------------------------------------------- */
void ComputePressureSpherical::init_list(int /* id */, NeighList *ptr)
void ComputeStressSpherical::init_list(int /* id */, NeighList *ptr)
{
list = ptr;
}
@ -164,7 +164,7 @@ void ComputePressureSpherical::init_list(int /* id */, NeighList *ptr)
if flag is set, compute requested info about pair
------------------------------------------------------------------------- */
void ComputePressureSpherical::compute_array()
void ComputeStressSpherical::compute_array()
{
invoked_array = update->ntimestep;
@ -416,7 +416,7 @@ void ComputePressureSpherical::compute_array()
}
}
double ComputePressureSpherical::memory_usage()
double ComputeStressSpherical::memory_usage()
{
return 15.0 * (double) (nbins + size_array_rows * size_array_cols) * sizeof(double);
}

View File

@ -13,21 +13,21 @@
#ifdef COMPUTE_CLASS
// clang-format off
ComputeStyle(pressure/spherical,ComputePressureSpherical);
ComputeStyle(stress/spherical,ComputeStressSpherical);
// clang-format on
#else
#ifndef LMP_COMPUTE_PRESSURE_SPHERICAL_H
#define LMP_COMPUTE_PRESSURE_SPHERICAL_H
#ifndef LMP_COMPUTE_STRESS_SPHERICAL_H
#define LMP_COMPUTE_STRESS_SPHERICAL_H
#include "compute.h"
namespace LAMMPS_NS {
class ComputePressureSpherical : public Compute {
class ComputeStressSpherical : public Compute {
public:
ComputePressureSpherical(class LAMMPS *, int, char **);
~ComputePressureSpherical() override;
ComputeStressSpherical(class LAMMPS *, int, char **);
~ComputeStressSpherical() override;
void init() override;
void init_list(int, class NeighList *) override;
void compute_array() override;
@ -56,13 +56,13 @@ Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: No pair style is defined for compute pressure/spherical
E: No pair style is defined for compute stress/spherical
Self-explanatory.
E: Pair style does not support compute pressure/spherical
E: Pair style does not support compute stress/spherical
The pair style does not have a single() function, so it can
not be invoked by compute pressure/spherical
not be invoked by compute stress/spherical
*/