Support constant lambda in APIP.

This commit is contained in:
David Immel
2025-04-10 16:05:16 +02:00
parent 139ecd0e90
commit 8c1aada9cb
24 changed files with 1296 additions and 539 deletions

View File

@ -466,6 +466,7 @@ pkg_depends(ELECTRODE KSPACE)
pkg_depends(EXTRA-MOLECULE MOLECULE) pkg_depends(EXTRA-MOLECULE MOLECULE)
pkg_depends(MESONT MOLECULE) pkg_depends(MESONT MOLECULE)
pkg_depends(RHEO BPM) pkg_depends(RHEO BPM)
pkg_depends(APIP ML-PACE)
# detect if we may enable OpenMP support by default # detect if we may enable OpenMP support by default
set(BUILD_OMP_DEFAULT OFF) set(BUILD_OMP_DEFAULT OFF)
@ -606,7 +607,7 @@ else()
endif() endif()
foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI COLVARS ML-HDNNP MDI MOLFILE NETCDF foreach(PKG_WITH_INCL KSPACE PYTHON ML-IAP VORONOI COLVARS ML-HDNNP MDI MOLFILE NETCDF
PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM COMPRESS APIP ML-PACE LEPTON EXTRA-COMMAND) PLUMED QMMM ML-QUIP SCAFACOS MACHDYN VTK KIM COMPRESS ML-PACE LEPTON EXTRA-COMMAND)
if(PKG_${PKG_WITH_INCL}) if(PKG_${PKG_WITH_INCL})
include(Packages/${PKG_WITH_INCL}) include(Packages/${PKG_WITH_INCL})
endif() endif()

View File

@ -1,3 +0,0 @@
if(NOT PKG_ML-PACE)
message(FATAL_ERROR "Must enable ML-PACE package for enabling APIP package")
endif()

View File

@ -35,6 +35,7 @@ This is the list of packages that may require additional steps.
:columns: 6 :columns: 6
* :ref:`ADIOS <adios>` * :ref:`ADIOS <adios>`
* :ref:`APIP <apip>`
* :ref:`ATC <atc>` * :ref:`ATC <atc>`
* :ref:`AWPMD <awpmd>` * :ref:`AWPMD <awpmd>`
* :ref:`COLVARS <colvar>` * :ref:`COLVARS <colvar>`
@ -1272,6 +1273,46 @@ systems.
---------- ----------
.. _apip:
APIP package
-----------------------------
The APIP package depends on the library of the
:ref:`ML-PACE <ml-pace>` package.
The code for the library can be found
at: `https://github.com/ICAMS/lammps-user-pace/ <https://github.com/ICAMS/lammps-user-pace/>`_
.. tabs::
.. tab:: CMake build
No additional settings are needed besides ``-D PKG_APIP=yes``
and ``-D PKG_ML-PACE=yes``.
One can use a local version of the ML-PACE library instead of
automatically downloading the library as described :ref:`here <ml-pace>`.
.. tab:: Traditional make
You can download and build the ML-PACE library
in one step from the ``lammps/src`` dir, using these commands,
which invoke the ``lib/pace/Install.py`` script.
.. code-block:: bash
# print help message
make lib-pace
# download and build the default version in lib/pace
make lib-pace args="-b"
You should not need to edit the ``lib/pace/Makefile.lammps`` file.
The APIP package itself is activated with ``make yes-APIP``.
----------
.. _atc: .. _atc:
ATC package ATC package

View File

@ -3,7 +3,8 @@ Adaptive-precision interatomic potentials (APIP)
The :ref:`APIP package <PKG-APIP>` allows to use adaptive-precision potentials The :ref:`APIP package <PKG-APIP>` allows to use adaptive-precision potentials
according to :ref:`(Immel) <Immel2025_1>`. according to :ref:`(Immel) <Immel2025_1>`.
The potential energy :math:`E_i` of an atom :math:`i` of an adaptive-precision The potential energy :math:`E_i` of an atom :math:`i` described by an
adaptive-precision
interatomic potential is given by :ref:`(Immel) <Immel2025_1>` interatomic potential is given by :ref:`(Immel) <Immel2025_1>`
.. math:: .. math::
@ -14,7 +15,11 @@ whereas :math:`E_i^\text{(fast)}` is the potential energy of atom :math:`i`
according to a fast interatomic potential, according to a fast interatomic potential,
:math:`E_i^\text{(precise)}` is the potential energy according to a precise :math:`E_i^\text{(precise)}` is the potential energy according to a precise
interatomic potential and :math:`\lambda_i\in[0,1]` is the interatomic potential and :math:`\lambda_i\in[0,1]` is the
switching parameter that decides which potential energy is used. switching parameter that decides how the potential energies are weighted.
Adaptive-precision saves computation time when the computation of the
precise potential is not required for many atoms, i.e., when
:math:`\lambda_i=1` applies for many atoms.
The currently implemented potentials are: The currently implemented potentials are:
@ -33,20 +38,40 @@ interatomic potential. How to implement a new (fast or precise)
adaptive-precision adaptive-precision
potential is explained in :ref:`here <implementing_new_apip_styles>`. potential is explained in :ref:`here <implementing_new_apip_styles>`.
The switching parameter :math:`\lambda_i` that combines the two potentials
can be dynamically calculated during a
simulation.
Alternatively, one can set a constant switching parameter before the start
of a simulation.
To run a simulation with an adaptive-precision potential, one needs the To run a simulation with an adaptive-precision potential, one needs the
following components: following components:
#. :doc:`atom_style apip <atom_style>` so that the switching parameter :math:`\lambda_i` can be stored. .. tabs::
#. A fast potential: :doc:`eam/apip <pair_eam_apip>` or :doc:`pace/apip/fast <pair_pace_apip>`.
#. A precise potential: :doc:`pace/apip/precise <pair_pace_apip>`.
#. :doc:`pair_style lambda_input <pair_lambda_input>` to calculate :math:`\lambda_i^\text{input}`, from which :math:`\lambda_i` is calculated.
#. :doc:`fix lambda <fix_lambda>` to calculate the switching parameter.
#. :doc:`pair_style lambda/zone <pair_lambda_zone>` to calculate the spatial transition zone of the switching parameter.
#. :doc:`pair_style hybrid/overlay <pair_hybrid>` to combine the previously mentioned pair_styles.
#. :doc:`fix lambda_thermostat <fix_lambda_thermostat>` to conserve the energy when switching parameters change.
#. :doc:`fix apip_atom_weight <fix_apip_atom_weight>` to approximate the load caused by every atom, as the computations of the pair_styles are only required for a subset of atoms.
#. :doc:`fix balance <fix_balance>` to perform dynamic load balancing with the calculated load.
.. tab:: dynamic switching parameter
#. :doc:`atom_style apip <atom_style>` so that the switching parameter :math:`\lambda_i` can be stored.
#. A fast potential: :doc:`eam/apip <pair_eam_apip>` or :doc:`pace/apip/fast <pair_pace_apip>`.
#. A precise potential: :doc:`pace/apip/precise <pair_pace_apip>`.
#. :doc:`pair_style lambda_input <pair_lambda_input>` to calculate :math:`\lambda_i^\text{input}`, from which :math:`\lambda_i` is calculated.
#. :doc:`fix lambda <fix_lambda>` to calculate the switching parameter :math:`\lambda_i`.
#. :doc:`pair_style lambda/zone <pair_lambda_zone>` to calculate the spatial transition zone of the switching parameter.
#. :doc:`pair_style hybrid/overlay <pair_hybrid>` to combine the previously mentioned pair_styles.
#. :doc:`fix lambda_thermostat <fix_lambda_thermostat>` to conserve the energy when switching parameters change.
#. :doc:`fix apip_atom_weight <fix_apip_atom_weight>` to approximate the load caused by every atom, as the computations of the pair_styles are only required for a subset of atoms.
#. :doc:`fix balance <fix_balance>` to perform dynamic load balancing with the calculated load.
.. tab:: constant switching parameter
#. :doc:`atom_style apip <atom_style>` so that the switching parameter :math:`\lambda_i` can be stored.
#. A fast potential: :doc:`eam/apip <pair_eam_apip>` or :doc:`pace/apip/fast <pair_pace_apip>`.
#. A precise potential: :doc:`pace/apip/precise <pair_pace_apip>`.
#. :doc:`set <fix_lambda>` command to set the switching parameter :math:`\lambda_i`.
#. :doc:`pair_style hybrid/overlay <pair_hybrid>` to combine the previously mentioned pair_styles.
#. :doc:`fix apip_atom_weight <fix_apip_atom_weight>` to approximate the load caused by every atom, as the computations of the pair_styles are only required for a subset of atoms.
#. :doc:`fix balance <fix_balance>` to perform dynamic load balancing with the calculated load.
----------
Example Example
""""""" """""""
@ -55,40 +80,85 @@ Example
How to select the values of the parameters of an adaptive-precision How to select the values of the parameters of an adaptive-precision
interatomic potential is discussed in detail in :ref:`(Immel) <Immel2025_1>`. interatomic potential is discussed in detail in :ref:`(Immel) <Immel2025_1>`.
The affected parts of a LAMMPS script can look as follows:
.. code-block:: LAMMPS .. tabs::
atom_style apip .. tab:: dynamic switching parameter
comm_style tiled
pair_style hybrid/overlay eam/fs/apip pace/apip/precise lambda_input/csp fcc cutoff 5.0 lambda/zone 12.0 The affected parts of a LAMMPS script can look as follows:
pair_coeff * * eam/fs/apip Cu.eam.fs Cu
pair_coeff * * pace/apip Cu.yace Cu
pair_coeff * * lambda_input/csp
pair_coeff * * lambda/zone
fix 2 all lambda 2.5 3.0 time_averaged_zone 4.0 12.0 110 110 min_delta_lambda 0.01 .. code-block:: LAMMPS
fix 3 all lambda_thermostat N_rescaling 200
fix 4 all apip_atom_weight 100 eam ace lambda_input lambda all
variable myweight atom f_4 atom_style apip
comm_style tiled
fix 5 all balance 100 1.1 rcb weight var myweight pair_style hybrid/overlay eam/fs/apip pace/apip/precise lambda_input/csp fcc cutoff 5.0 lambda/zone 12.0
pair_coeff * * eam/fs/apip Cu.eam.fs Cu
pair_coeff * * pace/apip Cu.yace Cu
pair_coeff * * lambda_input/csp
pair_coeff * * lambda/zone
First, the :doc:`atom_style <atom_style>` and the communication style are set. fix 2 all lambda 2.5 3.0 time_averaged_zone 4.0 12.0 110 110 min_delta_lambda 0.01
fix 3 all lambda_thermostat N_rescaling 200
fix 4 all apip_atom_weight 100 eam ace lambda_input lambda all
.. note:: variable myweight atom f_4
Note, that :doc:`comm_style <comm_style>` *tiled* is required for the style *rcb* of
:doc:`fix balance <fix_balance>`, but not for APIP.
However, the flexibility offered by the balancing style *rcb*, compared to the
balancing style *shift*, is advantageous for APIP.
An adaptive-precision EAM-ACE potential, for which the switching parameter fix 5 all balance 100 1.1 rcb weight var myweight
:math:`\lambda` is calculated from the CSP is defined via
:doc:`pair_style hybrid/overlay <pair_hybrid>`. First, the :doc:`atom_style apip <atom_style>` and the communication style are set.
The fixes ensure that the switching parameter is calculated, the energy conserved,
the weight for the load balancing calculated and the load-balancing itself is done. .. note::
Note, that :doc:`comm_style <comm_style>` *tiled* is required for the style *rcb* of
:doc:`fix balance <fix_balance>`, but not for APIP.
However, the flexibility offered by the balancing style *rcb*, compared to the
balancing style *shift*, is advantageous for APIP.
An adaptive-precision EAM-ACE potential, for which the switching parameter
:math:`\lambda` is calculated from the CSP, is defined via
:doc:`pair_style hybrid/overlay <pair_hybrid>`.
The fixes ensure that the switching parameter is calculated, the energy conserved,
the weight for the load balancing calculated and the load-balancing itself is done.
.. tab:: constant switching parameter
The affected parts of a LAMMPS script can look as follows:
.. code-block:: LAMMPS
atom_style apip
comm_style tiled
pair_style hybrid/overlay eam/fs/apip pace/apip/precise
pair_coeff * * eam/fs/apip Cu.eam.fs Cu
pair_coeff * * pace/apip Cu.yace Cu
# calculate lambda somehow
variable lambda atom ...
set group all lambda v_lambda
fix 4 all apip_atom_weight 100 eam ace lambda_input lambda all
variable myweight atom f_4
fix 5 all balance 100 1.1 rcb weight var myweight
First, the :doc:`atom_style apip <atom_style>` and the communication style are set.
.. note::
Note, that :doc:`comm_style <comm_style>` *tiled* is required for the style *rcb* of
:doc:`fix balance <fix_balance>`, but not for APIP.
However, the flexibility offered by the balancing style *rcb*, compared to the
balancing style *shift*, is advantageous for APIP.
An adaptive-precision EAM-ACE potential is defined via
:doc:`pair_style hybrid/overlay <pair_hybrid>`.
The switching parameter :math:`\lambda_i` of the adaptive-precision
EAM-ACE potential is set via the :doc:`set command <set>`.
The parameter is not updated during the simulation.
Therefore, the potential is conservative.
The fixes ensure that the weight for the load balancing is calculated
and the load-balancing itself is done.
---------- ----------

View File

@ -57,8 +57,9 @@ interatomic potential (APIP) according to :ref:`(Immel) <Immel2025_5>` is given
E_i^\text{APIP} = \lambda_i E_i^\text{(fast)} + (1-\lambda_i) E_i^\text{(precise)}\,, E_i^\text{APIP} = \lambda_i E_i^\text{(fast)} + (1-\lambda_i) E_i^\text{(precise)}\,,
whereas the switching parameter :math:`\lambda_i` is computed by whereas the switching parameter :math:`\lambda_i` is computed
:doc:`fix lambda <fix_lambda>`. dynamically during a simulation by :doc:`fix lambda <fix_lambda>`
or set prior to a simulation via :doc:`set <set>`.
The pair style *eam/fs/apip* computes the potential energy The pair style *eam/fs/apip* computes the potential energy
:math:`\lambda_i E_i^\text{EAM}` and the :math:`\lambda_i E_i^\text{EAM}` and the

View File

@ -63,8 +63,9 @@ interatomic potential (APIP) according to
E_i^\text{APIP} = \lambda_i E_i^\text{(fast)} + (1-\lambda_i) E_i^\text{(precise)}\,, E_i^\text{APIP} = \lambda_i E_i^\text{(fast)} + (1-\lambda_i) E_i^\text{(precise)}\,,
whereas the switching parameter :math:`\lambda_i` is computed by whereas the switching parameter :math:`\lambda_i` is computed
:doc:`fix lambda <fix_lambda>`. dynamically during a simulation by :doc:`fix lambda <fix_lambda>`
or set prior to a simulation via :doc:`set <set>`.
The pair style *pace/apip/precise* computes the potential energy The pair style *pace/apip/precise* computes the potential energy
:math:`(1-\lambda_i) E_i^\text{(pace)}` and the :math:`(1-\lambda_i) E_i^\text{(pace)}` and the

View File

@ -32,7 +32,7 @@ Syntax
*volume* or *image* or *bond* or *angle* or *dihedral* or *volume* or *image* or *bond* or *angle* or *dihedral* or
*improper* or *sph/e* or *sph/cv* or *sph/rho* or *improper* or *sph/e* or *sph/cv* or *sph/rho* or
*smd/contact/radius* or *smd/mass/density* or *dpd/theta* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or
*edpd/temp* or *edpd/cv* or *cc* or *epsilon* or *edpd/temp* or *edpd/cv* or *cc* or *epsilon* or *lambda* or
*i_name* or *d_name* or *i2_name* or *d2_name* *i_name* or *d_name* or *i2_name* or *d2_name*
.. parsed-literal:: .. parsed-literal::
@ -143,6 +143,10 @@ Syntax
index = index of a chemical species (1 to Nspecies) index = index of a chemical species (1 to Nspecies)
cc = chemical concentration of tDPD particles for a species (mole/volume units) cc = chemical concentration of tDPD particles for a species (mole/volume units)
*epsilon* value = dielectric constant of the medium where the atoms reside *epsilon* value = dielectric constant of the medium where the atoms reside
*lambda* value = fast or precise or float
fast = switching parameter of fast potential (1) (APIP package)
precise = switching parameter of fast potential (0) (APIP package)
float = constant float or atom-style variable (between 0 and 1) (APIP package)
*i_name* value = custom integer vector with name *i_name* value = custom integer vector with name
*d_name* value = custom floating-point vector with name *d_name* value = custom floating-point vector with name
*i2_name* value = column of a custom integer array with name *i2_name* value = column of a custom integer array with name
@ -569,6 +573,13 @@ charges, one needs to use the set command with the *charge*
keyword. Care must be taken to ensure that the real and scaled charges, keyword. Care must be taken to ensure that the real and scaled charges,
and dielectric constants are consistent. and dielectric constants are consistent.
Keyword *lambda* sets the switching parameter of an
adaptive-precision interatomic potential (:doc:`APIP <Howto_apip>`).
The precise potential is used for an atom when its switching parameter
:math:`\lambda` is 0. The fast potential is used for an atom when its
switching parameter :math:`\lambda` is 1. Both potentials are partially
used for :math:`\lambda\in(0,1)`.
Keywords *i_name*, *d_name*, *i2_name*, *d2_name* refer to custom Keywords *i_name*, *d_name*, *i2_name*, *d2_name* refer to custom
per-atom integer and floating-point vectors or arrays that have been per-atom integer and floating-point vectors or arrays that have been
added via the :doc:`fix property/atom <fix_property_atom>` command. added via the :doc:`fix property/atom <fix_property_atom>` command.

View File

@ -0,0 +1,80 @@
LAMMPS data file via write_data, version 2 Apr 2025, timestep = 0, units = metal
31 atoms
1 atom types
0 7.23 xlo xhi
0 7.23 ylo yhi
0 7.23 zlo zhi
Masses
1 63.546
Atoms # apip
1 1 3.255649577011424 2.1469408310018205 1.596546647595962 0 0 0
2 1 5.312133977687514 0.2962629940541289 1.7986410677440656 0 0 0
3 1 0.3570136530341179 1.9589665444185802 1.8227120430766197 0 0 0
4 1 1.538770434276094 1.8506888783106994 3.5984777679252336 0 0 0
5 1 5.414379916412933 1.9802551521608864 3.5428423680157133 0 0 0
6 1 3.3396207511420926 0.34696444514694835 3.3284295847601864 0 0 0
7 1 0.04692381499727436 3.470558659189874 0.20838500420697273 0 0 0
8 1 3.5507628116865004 3.419576015011443 0.09808429731968064 0 0 0
9 1 3.4359438466091845 3.3442299605630015 3.344947182361245 0 0 0
10 1 3.262172986855113 1.8898900738753799 5.6074716235080135 0 0 0
11 1 5.616180533384058 0.24272458584617107 5.728614316596936 0 0 0
12 1 0.3320737270957668 2.133631298552561 5.648234772896504 0 0 0
13 1 7.193910458696732 0.040079315967661934 7.007063468494249 -1 0 -1
14 1 1.9428459507398523 2.008894084694746 6.974381464595852 0 0 -1
15 1 5.17195441765988 1.6398976096007498 7.144624559798802 0 0 -1
16 1 3.828212487222493 0.27427274843853566 7.084083006467942 0 0 -1
17 1 0.3576896118392189 3.5593061817506357 3.8539966829342287 0 0 0
18 1 5.549388330643712 3.3771731288636446 5.733276811271104 0 0 0
19 1 1.474782367736 3.311754538948766 5.203036111913638 0 0 0
20 1 3.353885621487343 5.483140337766679 1.559656844576661 0 0 0
21 1 1.4600851633288363 5.3693400677513985 0.16901869775192754 0 0 0
22 1 1.865319826459661 3.680823307523189 1.909829542233995 0 0 0
23 1 6.919428313555163 5.704165921616911 1.5626446154218376 -1 0 0
24 1 5.286111954406888 3.9741177165543746 1.894962129368895 0 0 0
25 1 5.661441532175263 5.770831269632481 0.2726487131030991 0 0 0
26 1 5.749451385769738 5.694440631979816 3.315201684766776 0 0 0
27 1 2.1656354707333425 5.630356615286487 3.525133119978771 0 0 0
28 1 3.4802512558478638 5.136357035041954 5.613687950103865 0 0 0
29 1 6.9476459434582605 5.669871702976 5.748711917622347 -1 0 0
30 1 0.3145319513743893 6.992506749359428 3.748936483911442 0 -1 0
31 1 2.0688280140984934 7.144932953378388 5.071647430554334 0 -1 0
Velocities
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
8 0 0 0
9 0 0 0
10 0 0 0
11 0 0 0
12 0 0 0
13 0 0 0
14 0 0 0
15 0 0 0
16 0 0 0
17 0 0 0
18 0 0 0
19 0 0 0
20 0 0 0
21 0 0 0
22 0 0 0
23 0 0 0
24 0 0 0
25 0 0 0
26 0 0 0
27 0 0 0
28 0 0 0
29 0 0 0
30 0 0 0
31 0 0 0

View File

@ -0,0 +1,52 @@
##################################################
# parameters of the adaptive-precision potential #
##################################################
# We couple an EAM potential with an ACE potential.
variable eamfs_file string "Cu_300K_Immel_2023.eam.fs"
variable ace_file1 string "Cu-1.yace"
variable ace_file2 string "../../../potentials/Cu-PBE-core-rep.ace"
## basic stuff
units metal
atom_style apip # own atom style required for APIP
timestep 0.001
# copper at room temperature with a vacancy
read_data data.vacancy
# set lambda
group vacancy id 145 147 148 149 150 994 997 995 1024 1026 1028 1922
group transition id 77 79 81 84 88 151 152 153 154 155 158 1089 188 189 192 1033 1039 1964 1022 1021 999 998 996 948 950 952 992 993 139 1025 1027 1029 1034 1035 1038 1088 1920 1921 1923 1924 1925 1930
group bulk subtract all vacancy transition
set group vacancy lambda precise
set group transition lambda 0.5
set group bulk lambda fast
fix nve all nve
# Use adaptive-precision eam-ace potential with constant lambda.
# Calculate atomic weight that could be used for load balancing.
pair_style hybrid/overlay eam/fs/apip pace/apip
pair_coeff * * eam/fs/apip ${eamfs_file} Cu
pair_coeff * * pace/apip ${ace_file2} Cu
fix weight_atom all apip_atom_weight 50 eam ace 0.5 0 all
# get statistics about lambda
variable flag_simple atom lambda==1
variable flag_switch atom lambda<1&&lambda>0
variable flag_complex atom lambda==0
compute lambda_types all reduce sum v_flag_simple v_flag_switch v_flag_complex
thermo_style custom step etotal c_lambda_types[*]
thermo 1
run 100
# dump atoms
# write_dump all custom dump.vacancy.* id type x y z fx fy fz lambda lambda_input f_weight_atom

View File

@ -9,8 +9,8 @@ variable ace_file2 string "../../../potentials/Cu-PBE-core-rep.ace"
variable csp_lattice string "fcc" variable csp_lattice string "fcc"
variable csp_cutoff equal 6.0 variable csp_cutoff equal 6.0
# The range [r_sw_lo, r_sw_hi] determines where the switching parameter changes from 0 to 1. # The range [r_sw_lo, r_sw_hi] determines where the switching parameter changes from 0 to 1.
variable r_sw_lo equal 4.0 variable r_sw_lo equal 2.0
variable r_sw_hi equal 12.0 variable r_sw_hi equal 3.0
# Thresholds between which the switching parameter changes from 1 to 0 based on the csp. # Thresholds between which the switching parameter changes from 1 to 0 based on the csp.
variable lambda_input_thr_lo equal 2.5 variable lambda_input_thr_lo equal 2.5
variable lambda_input_thr_hi equal 3.0 variable lambda_input_thr_hi equal 3.0
@ -63,7 +63,14 @@ fix weight_atom all apip_atom_weight 100 eam ace lambda_input lambda/zone all
fix lambda_thermostat all lambda_thermostat N_rescaling ${N_rescaling} store_atomic_forces 100 fix lambda_thermostat all lambda_thermostat N_rescaling ${N_rescaling} store_atomic_forces 100
thermo_style custom step etotal # get statistics about lambda
variable flag_simple atom lambda==1
variable flag_switch atom lambda<1&&lambda>0
variable flag_complex atom lambda==0
compute lambda_types all reduce sum v_flag_simple v_flag_switch v_flag_complex
thermo_style custom step etotal c_lambda_types[*]
thermo 1 thermo 1
run 100 run 100

View File

@ -0,0 +1,51 @@
##################################################
# parameters of the adaptive-precision potential #
##################################################
# We couple an EAM potential with an ACE potential.
variable eamfs_file string "Cu_300K_Immel_2023.eam.fs"
variable ace_file string "Cu-1.yace"
## basic stuff
units metal
atom_style apip # own atom style required for APIP
timestep 0.001
## copper with a vacancy
#lattice fcc 3.615
#region box block 0 2 0 2 0 2 units lattice
#create_box 1 box
#create_atoms 1 box
#mass 1 63.546
#displace_atoms all random 0.1 0.1 0.1 42 units lattice
#delete_atoms random count 1 yes all NULL 42
#write_data data.validate
read_data data.validate
fix 1 all nve
thermo_style custom step pe fnorm fmax
# use ACE potential
pair_style pace
pair_coeff * * ${ace_file} Cu
run 0
# use adaptive-precision EAM-ACE potential with constant lambda
pair_style hybrid/overlay eam/fs/apip pace/apip
pair_coeff * * eam/fs/apip ${eamfs_file} Cu
pair_coeff * * pace/apip ${ace_file} Cu
# use ACE of adaptive-precision potential
set group all lambda precise
run 0
# use EAM of adaptive-precision potential
set group all lambda fast
run 0
# Use EAM potential
pair_style eam/fs
pair_coeff * * ${eamfs_file} Cu
run 0

View File

@ -1,4 +1,4 @@
LAMMPS (4 Feb 2025 - Development - ) LAMMPS (2 Apr 2025 - Development - )
Reading data file ... Reading data file ...
orthogonal box = (0 0 -1.1656272) to (36.15 36.15 362.81506) orthogonal box = (0 0 -1.1656272) to (36.15 36.15 362.81506)
1 by 1 by 4 MPI processor grid 1 by 1 by 4 MPI processor grid
@ -6,7 +6,7 @@ Reading data file ...
40200 atoms 40200 atoms
reading velocities ... reading velocities ...
40200 velocities 40200 velocities
read_data CPU = 1.143 seconds read_data CPU = 0.851 seconds
200 atoms in group group_ignore_csp 200 atoms in group group_ignore_csp
ACE version: 2023.11.25 ACE version: 2023.11.25
Recursive evaluator is used by ACE Recursive evaluator is used by ACE
@ -67,30 +67,30 @@ Setting up Verlet run ...
Per MPI rank memory allocation (min/avg/max) = 297.9 | 306.9 | 315.9 Mbytes Per MPI rank memory allocation (min/avg/max) = 297.9 | 306.9 | 315.9 Mbytes
Step f_balance S/CPU f_weight_atom[1] f_weight_atom[2] f_weight_atom[3] f_weight_atom[4] Step f_balance S/CPU f_weight_atom[1] f_weight_atom[2] f_weight_atom[3] f_weight_atom[4]
0 1.0139303 0 0 0 0 0 0 1.0139303 0 0 0 0 0
10 2.4606058 1.8697255 5.5957166e-06 0.0002553649 2.7500342e-06 4.6802407e-06 10 2.5936737 1.6405928 6.7824918e-06 0.00027531978 2.814652e-06 5.9865269e-06
20 2.0765883 1.7644069 5.9864867e-06 0.0002751227 2.9574758e-06 5.078614e-06 20 2.2558534 1.5527601 6.4904884e-06 0.00029719004 3.0359118e-06 6.7329455e-06
30 2.0955022 1.729507 5.9541701e-06 0.00028593742 3.1165205e-06 5.2349106e-06 30 2.1128983 1.7144878 5.9457369e-06 0.00028945144 3.1335213e-06 5.2179065e-06
40 2.1015667 1.7241359 6.0115135e-06 0.00028640643 3.1154236e-06 5.2528746e-06 40 2.1152337 1.6830798 5.989262e-06 0.00029175311 3.1649722e-06 6.0691653e-06
50 2.0981491 1.6201337 6.0470102e-06 0.00028778687 3.1443635e-06 5.2497711e-06 50 2.2297953 1.3546017 7.3810871e-06 0.00033032216 3.5174346e-06 7.4769821e-06
60 2.1327959 1.3101362 7.7658865e-06 0.00037855901 4.1641447e-06 6.9162514e-06 60 2.0952565 1.3215714 7.6969247e-06 0.00037389329 4.1371414e-06 6.8809259e-06
70 2.098134 1.3357863 7.5378657e-06 0.00037046011 4.0510159e-06 6.9345367e-06 70 2.1496717 1.2703756 7.8880654e-06 0.00037854516 4.1491207e-06 8.9745666e-06
80 2.1000138 1.3475583 7.5679751e-06 0.00036818876 4.0188623e-06 6.7257237e-06 80 2.1004757 1.35167 7.4906788e-06 0.00036672479 4.0278388e-06 6.6668909e-06
90 2.0966073 1.1728052 7.6393621e-06 0.00036755436 4.0052073e-06 6.6818754e-06 90 2.100907 1.3516626 7.5277653e-06 0.00036663236 4.0151159e-06 6.6169414e-06
100 1.8896711 1.3506386 7.5946481e-06 0.00036649967 3.984174e-06 6.6518701e-06 100 2.0989737 1.3387615 7.5571579e-06 0.00036855287 4.049062e-06 6.6754202e-06
Loop time of 67.2407 on 4 procs for 100 steps with 40200 atoms Loop time of 69.3965 on 4 procs for 100 steps with 40200 atoms
Performance: 0.128 ns/day, 186.780 hours/ns, 1.487 timesteps/s, 59.785 katom-step/s Performance: 0.125 ns/day, 192.768 hours/ns, 1.441 timesteps/s, 57.928 katom-step/s
99.8% CPU use with 4 MPI tasks x no OpenMP threads 99.8% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 10.34 | 21.891 | 56.059 | 421.6 | 32.56 Pair | 10.345 | 22.59 | 58.791 | 439.8 | 32.55
Neigh | 8.1064 | 9.1925 | 10.667 | 33.9 | 13.67 Neigh | 8.2397 | 8.843 | 9.4357 | 17.7 | 12.74
Comm | 1.3105 | 23.525 | 45.141 | 437.6 | 34.99 Comm | 0.18526 | 24.065 | 47.415 | 472.2 | 34.68
Output | 0.00053598 | 0.73462 | 2.8834 | 144.7 | 1.09 Output | 0.00050178 | 0.90609 | 3.5672 | 161.4 | 1.31
Modify | 1.4504 | 2.6152 | 5.8041 | 114.0 | 3.89 Modify | 1.427 | 2.7563 | 6.0058 | 114.3 | 3.97
Other | | 9.282 | | | 13.80 Other | | 10.24 | | | 14.75
Nlocal: 10050 ave 10180 max 10000 min Nlocal: 10050 ave 10180 max 10000 min
Histogram: 2 1 0 0 0 0 0 0 0 1 Histogram: 2 1 0 0 0 0 0 0 0 1
@ -105,4 +105,4 @@ Total # of neighbors = 37968882
Ave neighs/atom = 944.49955 Ave neighs/atom = 944.49955
Neighbor list builds = 10 Neighbor list builds = 10
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:01:11 Total wall time: 0:01:13

View File

@ -1,4 +1,4 @@
LAMMPS (4 Feb 2025 - Development - ) LAMMPS (2 Apr 2025 - Development - )
Reading data file ... Reading data file ...
orthogonal box = (0 0 -1.1656272) to (36.15 36.15 362.81506) orthogonal box = (0 0 -1.1656272) to (36.15 36.15 362.81506)
1 by 1 by 4 MPI processor grid 1 by 1 by 4 MPI processor grid
@ -6,7 +6,7 @@ Reading data file ...
40200 atoms 40200 atoms
reading velocities ... reading velocities ...
40200 velocities 40200 velocities
read_data CPU = 1.141 seconds read_data CPU = 1.121 seconds
200 atoms in group group_ignore_csp 200 atoms in group group_ignore_csp
ACE version: 2023.11.25 ACE version: 2023.11.25
Recursive evaluator is used by ACE Recursive evaluator is used by ACE
@ -67,42 +67,42 @@ Setting up Verlet run ...
Per MPI rank memory allocation (min/avg/max) = 298.1 | 306.3 | 314.5 Mbytes Per MPI rank memory allocation (min/avg/max) = 298.1 | 306.3 | 314.5 Mbytes
Step f_balance S/CPU f_weight_atom[1] f_weight_atom[2] f_weight_atom[3] f_weight_atom[4] Step f_balance S/CPU f_weight_atom[1] f_weight_atom[2] f_weight_atom[3] f_weight_atom[4]
0 1 0 0 0 0 0 0 1 0 0 0 0 0
10 1.0010585 1.8144651 5.3526071e-06 0.00025703793 2.7730117e-06 4.7190461e-06 10 1.001054 1.794989 5.513018e-06 0.00026219041 2.7969376e-06 4.7631686e-06
20 1.0016587 3.0895281 6.0547706e-06 0.00030627156 2.9311147e-06 2.8627034e-06 20 1.0015464 2.8738897 6.2800629e-06 0.00032353449 2.9995969e-06 2.791943e-06
30 1.0006595 2.1815977 7.7086095e-06 0.00034346642 3.4831025e-06 3.6494203e-06 30 1.0014139 2.837149 6.9798531e-06 0.00032386765 3.2314297e-06 2.9096779e-06
40 1.0003702 2.7847348 6.9889341e-06 0.00031605872 3.2092228e-06 2.9177266e-06 40 1.0019226 2.6432567 7.2880519e-06 0.00033004823 3.2833618e-06 3.2113953e-06
50 1.0013639 2.8085372 7.1723284e-06 0.00032050748 3.2148509e-06 2.9280764e-06 50 1.000712 2.705476 7.3895345e-06 0.00032565754 3.3222578e-06 3.192773e-06
60 1.001567 2.7692583 7.3191318e-06 0.00032348311 3.2792367e-06 3.0731907e-06 60 1.0023542 2.4624075 7.4663629e-06 0.0003279256 3.3011417e-06 2.9972301e-06
70 1.0008473 2.7848811 7.4547446e-06 0.00032207119 3.2487866e-06 3.0045227e-06 70 1.0005407 1.7467631 9.6443635e-06 0.00042231749 4.4285091e-06 4.6532983e-06
80 1.0008791 2.1902426 8.8463371e-06 0.00037692301 3.878561e-06 3.5166374e-06 80 1.0019949 2.0823778 9.5250745e-06 0.00040798435 4.3057854e-06 4.7402e-06
90 1.0005633 2.0207998 1.0049193e-05 0.00043004983 4.4508803e-06 4.0369005e-06 90 1.0011706 1.5250136 1.1527498e-05 0.00042817327 4.5285099e-06 5.2806779e-06
100 1.0011185 2.11148 9.5552543e-06 0.00040548477 4.282726e-06 4.0021617e-06 100 1.0016234 1.8677865 9.0651408e-06 0.00040492025 4.2461725e-06 4.5493365e-06
Loop time of 41.9356 on 4 procs for 100 steps with 40200 atoms Loop time of 46.5542 on 4 procs for 100 steps with 40200 atoms
Performance: 0.206 ns/day, 116.488 hours/ns, 2.385 timesteps/s, 95.861 katom-step/s Performance: 0.186 ns/day, 129.317 hours/ns, 2.148 timesteps/s, 86.351 katom-step/s
99.2% CPU use with 4 MPI tasks x no OpenMP threads 99.3% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 21.856 | 23.33 | 25.627 | 29.8 | 55.63 Pair | 23.202 | 24.457 | 27.401 | 34.5 | 52.53
Neigh | 12.078 | 12.235 | 12.335 | 2.8 | 29.18 Neigh | 10.878 | 12.469 | 13.393 | 28.5 | 26.78
Comm | 1.8098 | 3.4438 | 5.8848 | 91.3 | 8.21 Comm | 3.6677 | 6.1344 | 8.3571 | 69.6 | 13.18
Output | 0.0013883 | 0.0067437 | 0.010676 | 4.1 | 0.02 Output | 0.032332 | 0.12709 | 0.18299 | 15.9 | 0.27
Modify | 1.7044 | 1.8301 | 1.9304 | 7.0 | 4.36 Modify | 1.8456 | 2.0315 | 2.2111 | 10.0 | 4.36
Other | | 1.09 | | | 2.60 Other | | 1.336 | | | 2.87
Nlocal: 10050 ave 10381 max 9892 min Nlocal: 10050 ave 17716 max 2345 min
Histogram: 1 2 0 0 0 0 0 0 0 1 Histogram: 2 0 0 0 0 0 0 0 0 2
Nghost: 52763 ave 52921 max 52432 min Nghost: 27421.8 ave 45371 max 11537 min
Histogram: 1 0 0 0 0 0 0 0 2 1 Histogram: 2 0 0 0 0 0 0 0 1 1
Neighs: 0 ave 0 max 0 min Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0 Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 9.49222e+06 ave 9.80751e+06 max 9.34231e+06 min FullNghs: 9.49222e+06 ave 1.69833e+07 max 2.10304e+06 min
Histogram: 1 2 0 0 0 0 0 0 0 1 Histogram: 2 0 0 0 0 0 0 0 0 2
Total # of neighbors = 37968882 Total # of neighbors = 37968882
Ave neighs/atom = 944.49955 Ave neighs/atom = 944.49955
Neighbor list builds = 10 Neighbor list builds = 10
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:00:46 Total wall time: 0:00:50

View File

@ -1,4 +1,4 @@
LAMMPS (4 Feb 2025 - Development - ) LAMMPS (2 Apr 2025 - Development - )
Reading data file ... Reading data file ...
orthogonal box = (0 0 -1.1656272) to (36.15 36.15 362.81506) orthogonal box = (0 0 -1.1656272) to (36.15 36.15 362.81506)
1 by 1 by 4 MPI processor grid 1 by 1 by 4 MPI processor grid
@ -6,7 +6,7 @@ Reading data file ...
40200 atoms 40200 atoms
reading velocities ... reading velocities ...
40200 velocities 40200 velocities
read_data CPU = 1.549 seconds read_data CPU = 0.965 seconds
200 atoms in group group_ignore_csp 200 atoms in group group_ignore_csp
ACE version: 2023.11.25 ACE version: 2023.11.25
Recursive evaluator is used by ACE Recursive evaluator is used by ACE
@ -67,42 +67,42 @@ Setting up Verlet run ...
Per MPI rank memory allocation (min/avg/max) = 298.1 | 306.3 | 314.5 Mbytes Per MPI rank memory allocation (min/avg/max) = 298.1 | 306.3 | 314.5 Mbytes
Step f_balance S/CPU f_weight_atom[1] f_weight_atom[2] f_weight_atom[3] f_weight_atom[4] Step f_balance S/CPU f_weight_atom[1] f_weight_atom[2] f_weight_atom[3] f_weight_atom[4]
0 1 0 0 0 0 0 0 1 0 0 0 0 0
10 1.0001725 1.7198837 5.5314343e-06 0.00025930431 2.7883957e-06 4.707143e-06 10 1.0000094 1.6967777 5.4223098e-06 0.00026359839 2.79441e-06 4.7471065e-06
20 1.0001862 1.8265719 5.6099429e-06 0.00027931903 2.9758981e-06 5.002563e-06 20 1.0003659 1.7992475 5.8656846e-06 0.00028206268 3.0201082e-06 4.9997584e-06
30 1.00056 1.8317507 5.9076763e-06 0.0002894911 3.1109902e-06 5.1394341e-06 30 1.0002027 1.6471302 6.9082026e-06 0.00032310724 3.3876639e-06 8.8441387e-06
40 1.0004862 2.5730799 6.243133e-06 0.00030439841 3.1674858e-06 3.784468e-06 40 1.0001601 2.2370248 6.3666095e-06 0.00031580331 3.3384423e-06 3.9798527e-06
50 1.0001422 1.7867846 6.1734458e-06 0.00029065411 3.1286655e-06 5.1705237e-06 50 1.0003448 1.3334761 8.0826418e-06 0.00039576798 4.1750965e-06 7.9019635e-06
60 1.0008942 1.4365047 7.2226216e-06 0.00035501193 3.8052887e-06 6.42234e-06 60 1.0003021 2.0070757 7.987583e-06 0.00038738262 4.1823882e-06 5.120836e-06
70 1.0001463 1.9946081 8.1287731e-06 0.00038928999 4.1631973e-06 4.9840279e-06 70 1.0003852 1.4012708 7.7551177e-06 0.00037121762 4.0443315e-06 7.0812672e-06
80 1.0004234 1.4099223 7.8487793e-06 0.00037185703 4.022587e-06 6.8562431e-06 80 1.0004242 1.4289728 7.6605196e-06 0.0003709174 4.0213518e-06 6.7845259e-06
90 1.000166 1.6477504 1.1740135e-05 0.00039310073 4.5190508e-06 5.9037201e-06 90 1.0001739 2.0361918 8.0591386e-06 0.00038148969 4.0664359e-06 4.8507793e-06
100 1.0004352 1.3977939 7.9664586e-06 0.00037057101 4.0412051e-06 6.8616558e-06 100 1.0001211 1.3126409 8.8622006e-06 0.00039010983 4.1181398e-06 1.0057909e-05
Loop time of 58.5219 on 4 procs for 100 steps with 40200 atoms Loop time of 61.1382 on 4 procs for 100 steps with 40200 atoms
Performance: 0.148 ns/day, 162.561 hours/ns, 1.709 timesteps/s, 68.692 katom-step/s Performance: 0.141 ns/day, 169.828 hours/ns, 1.636 timesteps/s, 65.753 katom-step/s
99.7% CPU use with 4 MPI tasks x no OpenMP threads 99.7% CPU use with 4 MPI tasks x no OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 13.129 | 22.408 | 43.047 | 253.7 | 38.29 Pair | 12.577 | 23.257 | 45.888 | 274.0 | 38.04
Neigh | 2.9649 | 8.8754 | 14.209 | 175.4 | 15.17 Neigh | 3.0492 | 9.3441 | 14.902 | 182.2 | 15.28
Comm | 4.4729 | 19.561 | 38.596 | 306.3 | 33.43 Comm | 3.5989 | 20.427 | 41.634 | 332.3 | 33.41
Output | 0.0076245 | 0.28239 | 0.93926 | 72.3 | 0.48 Output | 0.0056688 | 0.23498 | 0.71828 | 59.6 | 0.38
Modify | 1.0567 | 2.2026 | 4.445 | 92.5 | 3.76 Modify | 0.99534 | 2.2749 | 4.6632 | 96.2 | 3.72
Other | | 5.192 | | | 8.87 Other | | 5.6 | | | 9.16
Nlocal: 10050 ave 16633 max 2176 min Nlocal: 10050 ave 17259 max 2078 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Nghost: 27618.8 ave 42609 max 8947 min
Histogram: 1 0 1 0 0 0 0 0 0 2 Histogram: 1 0 1 0 0 0 0 0 0 2
Nghost: 27619 ave 42218 max 8849 min
Histogram: 1 0 0 1 0 0 0 0 0 2
Neighs: 0 ave 0 max 0 min Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0 Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 9.49222e+06 ave 1.56603e+07 max 1.80672e+06 min FullNghs: 9.49222e+06 ave 1.6261e+07 max 1.71297e+06 min
Histogram: 1 0 1 0 0 0 0 0 0 2 Histogram: 1 1 0 0 0 0 0 0 0 2
Total # of neighbors = 37968882 Total # of neighbors = 37968882
Ave neighs/atom = 944.49955 Ave neighs/atom = 944.49955
Neighbor list builds = 10 Neighbor list builds = 10
Dangerous builds = 0 Dangerous builds = 0
Total wall time: 0:01:02 Total wall time: 0:01:05

View File

@ -0,0 +1,182 @@
LAMMPS (2 Apr 2025 - Development - )
Reading data file ...
orthogonal box = (0 0 0) to (28.92 28.92 28.92)
1 by 1 by 1 MPI processor grid
reading atoms ...
2047 atoms
reading velocities ...
2047 velocities
read_data CPU = 0.008 seconds
12 atoms in group vacancy
42 atoms in group transition
1993 atoms in group bulk
Setting atom values ...
12 settings made for lambda
Setting atom values ...
42 settings made for lambda
Setting atom values ...
1993 settings made for lambda
ACE version: 2023.11.25
Recursive evaluator is used by ACE
Loading ../../../potentials/Cu-PBE-core-rep.ace
Total number of basis functions
Cu: 16 (r=1) 726 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
atomic load lambda:
fast potential: extract eam/apip:time_per_atom
precise potential: extract pace/apip:time_per_atom
lambda_input: const 0.5
lambda: const 0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 9.4
ghost atom cutoff = 9.4
binsize = 4.7, bins = 7 7 7
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/fs/apip, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair pace/apip, perpetual
attributes: full, newton on, cut 9.4
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 11.08 | 11.08 | 11.08 Mbytes
Step TotEng c_lambda_types[1] c_lambda_types[2] c_lambda_types[3]
0 -7408.6798 1993 42 12
1 -7408.6798 1993 42 12
2 -7408.6798 1993 42 12
3 -7408.6798 1993 42 12
4 -7408.6798 1993 42 12
5 -7408.6798 1993 42 12
6 -7408.6799 1993 42 12
7 -7408.6799 1993 42 12
8 -7408.6799 1993 42 12
9 -7408.6799 1993 42 12
10 -7408.6799 1993 42 12
11 -7408.68 1993 42 12
12 -7408.68 1993 42 12
13 -7408.68 1993 42 12
14 -7408.68 1993 42 12
15 -7408.68 1993 42 12
16 -7408.68 1993 42 12
17 -7408.6801 1993 42 12
18 -7408.6801 1993 42 12
19 -7408.6801 1993 42 12
20 -7408.6801 1993 42 12
21 -7408.6801 1993 42 12
22 -7408.6801 1993 42 12
23 -7408.6801 1993 42 12
24 -7408.6801 1993 42 12
25 -7408.6801 1993 42 12
26 -7408.6801 1993 42 12
27 -7408.6801 1993 42 12
28 -7408.6801 1993 42 12
29 -7408.6801 1993 42 12
30 -7408.6801 1993 42 12
31 -7408.6801 1993 42 12
32 -7408.68 1993 42 12
33 -7408.68 1993 42 12
34 -7408.68 1993 42 12
35 -7408.68 1993 42 12
36 -7408.68 1993 42 12
37 -7408.68 1993 42 12
38 -7408.68 1993 42 12
39 -7408.68 1993 42 12
40 -7408.6801 1993 42 12
41 -7408.6801 1993 42 12
42 -7408.6801 1993 42 12
43 -7408.6801 1993 42 12
44 -7408.6801 1993 42 12
45 -7408.6801 1993 42 12
46 -7408.6801 1993 42 12
47 -7408.6801 1993 42 12
48 -7408.6801 1993 42 12
49 -7408.6802 1993 42 12
50 -7408.6802 1993 42 12
51 -7408.6802 1993 42 12
52 -7408.6802 1993 42 12
53 -7408.6802 1993 42 12
54 -7408.6802 1993 42 12
55 -7408.6802 1993 42 12
56 -7408.6802 1993 42 12
57 -7408.6802 1993 42 12
58 -7408.6802 1993 42 12
59 -7408.6801 1993 42 12
60 -7408.6801 1993 42 12
61 -7408.6801 1993 42 12
62 -7408.6801 1993 42 12
63 -7408.6801 1993 42 12
64 -7408.68 1993 42 12
65 -7408.68 1993 42 12
66 -7408.68 1993 42 12
67 -7408.68 1993 42 12
68 -7408.68 1993 42 12
69 -7408.6799 1993 42 12
70 -7408.6799 1993 42 12
71 -7408.6799 1993 42 12
72 -7408.6799 1993 42 12
73 -7408.6799 1993 42 12
74 -7408.6799 1993 42 12
75 -7408.6798 1993 42 12
76 -7408.6798 1993 42 12
77 -7408.6798 1993 42 12
78 -7408.6798 1993 42 12
79 -7408.6798 1993 42 12
80 -7408.6798 1993 42 12
81 -7408.6799 1993 42 12
82 -7408.6799 1993 42 12
83 -7408.6799 1993 42 12
84 -7408.6799 1993 42 12
85 -7408.6799 1993 42 12
86 -7408.6799 1993 42 12
87 -7408.6799 1993 42 12
88 -7408.68 1993 42 12
89 -7408.68 1993 42 12
90 -7408.68 1993 42 12
91 -7408.68 1993 42 12
92 -7408.68 1993 42 12
93 -7408.68 1993 42 12
94 -7408.68 1993 42 12
95 -7408.68 1993 42 12
96 -7408.68 1993 42 12
97 -7408.6801 1993 42 12
98 -7408.6801 1993 42 12
99 -7408.6801 1993 42 12
100 -7408.6801 1993 42 12
Loop time of 1.59446 on 1 procs for 100 steps with 2047 atoms
Performance: 5.419 ns/day, 4.429 hours/ns, 62.717 timesteps/s, 128.382 katom-step/s
99.8% 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.5708 | 1.5708 | 1.5708 | 0.0 | 98.52
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.012304 | 0.012304 | 0.012304 | 0.0 | 0.77
Output | 0.0082994 | 0.0082994 | 0.0082994 | 0.0 | 0.52
Modify | 0.0012545 | 0.0012545 | 0.0012545 | 0.0 | 0.08
Other | | 0.001794 | | | 0.11
Nlocal: 2047 ave 2047 max 2047 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 7790 ave 7790 max 7790 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 648022 ave 648022 max 648022 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 648022
Ave neighs/atom = 316.57157
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -0,0 +1,193 @@
LAMMPS (2 Apr 2025 - Development - )
Reading data file ...
orthogonal box = (0 0 0) to (28.92 28.92 28.92)
1 by 1 by 1 MPI processor grid
reading atoms ...
2047 atoms
reading velocities ...
2047 velocities
read_data CPU = 0.009 seconds
ACE version: 2023.11.25
Recursive evaluator is used by ACE
Loading ../../../potentials/Cu-PBE-core-rep.ace
Total number of basis functions
Cu: 16 (r=1) 726 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
atomic load lambda:
fast potential: extract eam/apip:time_per_atom
precise potential: extract pace/apip:time_per_atom
lambda_input: extract lambda_input:time_per_atom
lambda: extract lambda_zone:time_per_atom
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix lambda command: doi.org/10.1063/5.0245877
The log file lists these citations in BibTeX format.
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
WARNING: The energy is not conserved when lambda changes as fix lambda_thermostat is not used. (../fix_lambda.cpp:247)
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 9.4
ghost atom cutoff = 9.4
binsize = 4.7, bins = 7 7 7
4 neighbor lists, perpetual/occasional/extra = 4 0 0
(1) pair eam/fs/apip, perpetual, trim from (3)
attributes: full, newton on, cut 7.50679
pair build: trim
stencil: none
bin: none
(2) pair pace/apip, perpetual
attributes: full, newton on, cut 9.4
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(3) pair lambda_input/csp, perpetual, trim from (2)
attributes: full, newton on, cut 8
pair build: trim
stencil: none
bin: none
(4) pair lambda/zone, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 49.37 | 49.37 | 49.37 Mbytes
Step TotEng c_lambda_types[1] c_lambda_types[2] c_lambda_types[3]
0 -7408.7649 1993 42 12
1 -7408.7649 1993 42 12
2 -7408.7649 1993 42 12
3 -7408.765 1993 42 12
4 -7408.7657 1993 42 12
5 -7408.7785 1993 42 12
6 -7408.7769 1993 42 12
7 -7408.778 1993 42 12
8 -7408.7862 1993 42 12
9 -7408.79 1993 42 12
10 -7408.7912 1993 42 12
11 -7408.8005 1993 42 12
12 -7408.8012 1993 42 12
13 -7408.8016 1993 42 12
14 -7408.8123 1993 42 12
15 -7408.8154 1993 42 12
16 -7408.8144 1993 42 12
17 -7408.8271 1993 42 12
18 -7408.8277 1993 42 12
19 -7408.8289 1993 42 12
20 -7408.8352 1993 42 12
21 -7408.8376 1993 42 12
22 -7408.841 1993 42 12
23 -7408.8507 1993 42 12
24 -7408.8496 1993 42 12
25 -7408.8544 1993 42 12
26 -7408.8645 1993 42 12
27 -7408.8665 1993 42 12
28 -7408.8713 1993 42 12
29 -7408.8763 1993 42 12
30 -7408.8812 1993 42 12
31 -7408.8842 1993 42 12
32 -7408.8905 1993 42 12
33 -7408.8947 1993 42 12
34 -7408.9048 1993 42 12
35 -7408.9099 1993 42 12
36 -7408.9101 1993 42 12
37 -7408.9159 1993 42 12
38 -7408.9256 1993 42 12
39 -7408.9241 1993 42 12
40 -7408.9342 1993 42 12
41 -7408.9423 1993 42 12
42 -7408.9402 1993 42 12
43 -7408.9452 1993 42 12
44 -7408.9548 1993 42 12
45 -7408.9543 1993 42 12
46 -7408.9607 1993 42 12
47 -7408.9699 1993 42 12
48 -7408.9751 1993 42 12
49 -7408.978 1993 42 12
50 -7408.9797 1993 42 12
51 -7408.9851 1993 42 12
52 -7408.9937 1993 42 12
53 -7408.9977 1993 42 12
54 -7408.9961 1993 42 12
55 -7409.0011 1993 42 12
56 -7409.0098 1993 42 12
57 -7409.0132 1993 42 12
58 -7409.0173 1993 42 12
59 -7409.0174 1993 42 12
60 -7409.0204 1993 42 12
61 -7409.0259 1993 42 12
62 -7409.0324 1993 42 12
63 -7409.0365 1993 42 12
64 -7409.0407 1993 42 12
65 -7409.0407 1993 42 12
66 -7409.0428 1993 42 12
67 -7409.0437 1993 42 12
68 -7409.0437 1993 42 12
69 -7409.0502 1993 42 12
70 -7409.0558 1993 42 12
71 -7409.0572 1993 42 12
72 -7409.0624 1993 42 12
73 -7409.0686 1993 42 12
74 -7409.0721 1993 42 12
75 -7409.075 1993 42 12
76 -7409.0751 1993 42 12
77 -7409.0728 1993 42 12
78 -7409.0732 1993 42 12
79 -7409.0764 1993 42 12
80 -7409.077 1993 42 12
81 -7409.0879 1993 42 12
82 -7409.0898 1993 42 12
83 -7409.0922 1993 42 12
84 -7409.0916 1993 42 12
85 -7409.0928 1993 42 12
86 -7409.0944 1993 42 12
87 -7409.1058 1993 42 12
88 -7409.1084 1993 42 12
89 -7409.1103 1993 42 12
90 -7409.1121 1993 42 12
91 -7409.1145 1993 42 12
92 -7409.1133 1993 42 12
93 -7409.1166 1993 42 12
94 -7409.12 1993 42 12
95 -7409.119 1993 42 12
96 -7409.1208 1993 42 12
97 -7409.1217 1993 42 12
98 -7409.1229 1993 42 12
99 -7409.1235 1993 42 12
100 -7409.1206 1993 42 12
Loop time of 1.95157 on 1 procs for 100 steps with 2047 atoms
Performance: 4.427 ns/day, 5.421 hours/ns, 51.241 timesteps/s, 104.890 katom-step/s
99.8% 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.9221 | 1.9221 | 1.9221 | 0.0 | 98.49
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.012796 | 0.012796 | 0.012796 | 0.0 | 0.66
Output | 0.0093743 | 0.0093743 | 0.0093743 | 0.0 | 0.48
Modify | 0.0052476 | 0.0052476 | 0.0052476 | 0.0 | 0.27
Other | | 0.002057 | | | 0.11
Nlocal: 2047 ave 2047 max 2047 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 7790 ave 7790 max 7790 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 291196 ave 291196 max 291196 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 291196
Ave neighs/atom = 142.25501
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:02

View File

@ -0,0 +1,197 @@
LAMMPS (2 Apr 2025 - Development - )
Reading data file ...
orthogonal box = (0 0 0) to (28.92 28.92 28.92)
1 by 1 by 1 MPI processor grid
reading atoms ...
2047 atoms
reading velocities ...
2047 velocities
read_data CPU = 0.009 seconds
ACE version: 2023.11.25
Recursive evaluator is used by ACE
Loading ../../../potentials/Cu-PBE-core-rep.ace
Total number of basis functions
Cu: 16 (r=1) 726 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
atomic load lambda:
fast potential: extract eam/apip:time_per_atom
precise potential: extract pace/apip:time_per_atom
lambda_input: extract lambda_input:time_per_atom
lambda: extract lambda_zone:time_per_atom
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix lambda command: doi.org/10.1063/5.0245877
The log file lists these citations in BibTeX format.
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 9.4
ghost atom cutoff = 9.4
binsize = 4.7, bins = 7 7 7
5 neighbor lists, perpetual/occasional/extra = 5 0 0
(1) pair eam/fs/apip, perpetual, trim from (3)
attributes: full, newton on, cut 7.50679
pair build: trim
stencil: none
bin: none
(2) pair pace/apip, perpetual
attributes: full, newton on, cut 9.4
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(3) pair lambda_input/csp, perpetual, trim from (2)
attributes: full, newton on, cut 8
pair build: trim
stencil: none
bin: none
(4) pair lambda/zone, perpetual
attributes: full, newton on, ghost
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(5) fix lambda_thermostat, perpetual, copy from (2)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 52.93 | 52.93 | 52.93 Mbytes
Step TotEng c_lambda_types[1] c_lambda_types[2] c_lambda_types[3]
0 -7408.7649 1993 42 12
1 -7408.7649 1993 42 12
2 -7408.7649 1993 42 12
3 -7408.765 1993 42 12
4 -7408.765 1993 42 12
5 -7408.765 1993 42 12
6 -7408.765 1993 42 12
7 -7408.765 1993 42 12
8 -7408.765 1993 42 12
9 -7408.765 1993 42 12
10 -7408.7651 1993 42 12
11 -7408.7651 1993 42 12
12 -7408.7651 1993 42 12
13 -7408.7651 1993 42 12
14 -7408.7651 1993 42 12
15 -7408.7651 1993 42 12
16 -7408.7652 1993 42 12
17 -7408.7652 1993 42 12
18 -7408.7652 1993 42 12
19 -7408.7652 1993 42 12
20 -7408.7652 1993 42 12
21 -7408.7652 1993 42 12
22 -7408.7652 1993 42 12
23 -7408.7652 1993 42 12
24 -7408.7652 1993 42 12
25 -7408.7652 1993 42 12
26 -7408.7652 1993 42 12
27 -7408.7652 1993 42 12
28 -7408.7652 1993 42 12
29 -7408.7652 1993 42 12
30 -7408.7652 1993 42 12
31 -7408.7652 1993 42 12
32 -7408.7652 1993 42 12
33 -7408.7652 1993 42 12
34 -7408.7652 1993 42 12
35 -7408.7652 1993 42 12
36 -7408.7652 1993 42 12
37 -7408.7652 1993 42 12
38 -7408.7652 1993 42 12
39 -7408.7652 1993 42 12
40 -7408.7652 1993 42 12
41 -7408.7652 1993 42 12
42 -7408.7652 1993 42 12
43 -7408.7652 1993 42 12
44 -7408.7652 1993 42 12
45 -7408.7652 1993 42 12
46 -7408.7652 1993 42 12
47 -7408.7653 1993 42 12
48 -7408.7653 1993 42 12
49 -7408.7653 1993 42 12
50 -7408.7653 1993 42 12
51 -7408.7653 1993 42 12
52 -7408.7653 1993 42 12
53 -7408.7653 1993 42 12
54 -7408.7653 1993 42 12
55 -7408.7653 1993 42 12
56 -7408.7653 1993 42 12
57 -7408.7653 1993 42 12
58 -7408.7653 1993 42 12
59 -7408.7653 1993 42 12
60 -7408.7652 1993 42 12
61 -7408.7652 1993 42 12
62 -7408.7652 1993 42 12
63 -7408.7652 1993 42 12
64 -7408.7652 1993 42 12
65 -7408.7651 1993 42 12
66 -7408.7651 1993 42 12
67 -7408.7651 1993 42 12
68 -7408.7651 1993 42 12
69 -7408.7651 1993 42 12
70 -7408.765 1993 42 12
71 -7408.765 1993 42 12
72 -7408.765 1993 42 12
73 -7408.765 1993 42 12
74 -7408.765 1993 42 12
75 -7408.765 1993 42 12
76 -7408.765 1993 42 12
77 -7408.765 1993 42 12
78 -7408.765 1993 42 12
79 -7408.765 1993 42 12
80 -7408.765 1993 42 12
81 -7408.765 1993 42 12
82 -7408.765 1993 42 12
83 -7408.765 1993 42 12
84 -7408.765 1993 42 12
85 -7408.765 1993 42 12
86 -7408.765 1993 42 12
87 -7408.765 1993 42 12
88 -7408.765 1993 42 12
89 -7408.7651 1993 42 12
90 -7408.7651 1993 42 12
91 -7408.7651 1993 42 12
92 -7408.7651 1993 42 12
93 -7408.7651 1993 42 12
94 -7408.7651 1993 42 12
95 -7408.7651 1993 42 12
96 -7408.7651 1993 42 12
97 -7408.7651 1993 42 12
98 -7408.7651 1993 42 12
99 -7408.7651 1993 42 12
100 -7408.7651 1993 42 12
Loop time of 2.22278 on 1 procs for 100 steps with 2047 atoms
Performance: 3.887 ns/day, 6.174 hours/ns, 44.989 timesteps/s, 92.092 katom-step/s
99.8% CPU use with 1 MPI tasks x no OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.0932 | 2.0932 | 2.0932 | 0.0 | 94.17
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.012523 | 0.012523 | 0.012523 | 0.0 | 0.56
Output | 0.0093062 | 0.0093062 | 0.0093062 | 0.0 | 0.42
Modify | 0.10558 | 0.10558 | 0.10558 | 0.0 | 4.75
Other | | 0.002148 | | | 0.10
Nlocal: 2047 ave 2047 max 2047 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 7790 ave 7790 max 7790 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 291196 ave 291196 max 291196 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 291196
Ave neighs/atom = 142.25501
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:02

View File

@ -0,0 +1,201 @@
LAMMPS (2 Apr 2025 - Development - )
Reading data file ...
orthogonal box = (0 0 0) to (7.23 7.23 7.23)
1 by 1 by 1 MPI processor grid
reading atoms ...
31 atoms
reading velocities ...
31 velocities
read_data CPU = 0.002 seconds
ACE version: 2023.11.25
Recursive evaluator is used
Loading Cu-1.yace
Total number of basis functions
Cu: 15 (r=1) 9 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.9
ghost atom cutoff = 5.9
binsize = 2.95, bins = 3 3 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair pace, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 4.908 | 4.908 | 4.908 Mbytes
Step PotEng Fnorm Fmax
0 -98.699376 49.367618 19.563052
Loop time of 7.11e-07 on 1 procs for 0 steps with 31 atoms
0.0% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 7.11e-07 | | |100.00
Nlocal: 31 ave 31 max 31 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 616 ave 616 max 616 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 2132 ave 2132 max 2132 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 2132
Ave neighs/atom = 68.774194
Neighbor list builds = 0
Dangerous builds = 0
ACE version: 2023.11.25
Recursive evaluator is used by ACE
Loading Cu-1.yace
Total number of basis functions
Cu: 15 (r=1) 9 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
Setting atom values ...
31 settings made for lambda
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.50679
ghost atom cutoff = 7.50679
binsize = 3.753395, bins = 2 2 2
2 neighbor lists, perpetual/occasional/extra = 2 0 0
(1) pair eam/fs/apip, perpetual
attributes: full, newton on, cut 7.50679
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair pace/apip, perpetual, copy from (1)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 5.564 | 5.564 | 5.564 Mbytes
Step PotEng Fnorm Fmax
0 -98.699376 49.367618 19.563052
Loop time of 5.67e-07 on 1 procs for 0 steps with 31 atoms
0.0% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 5.67e-07 | | |100.00
Nlocal: 31 ave 31 max 31 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 957 ave 957 max 957 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 4558 ave 4558 max 4558 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 4558
Ave neighs/atom = 147.03226
Neighbor list builds = 0
Dangerous builds = 0
Setting atom values ...
31 settings made for lambda
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 5.564 | 5.564 | 5.564 Mbytes
Step PotEng Fnorm Fmax
0 -85.025323 53.839249 22.182149
Loop time of 5.36e-07 on 1 procs for 0 steps with 31 atoms
0.0% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 5.36e-07 | | |100.00
Nlocal: 31 ave 31 max 31 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 957 ave 957 max 957 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 4558 ave 4558 max 4558 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 4558
Ave neighs/atom = 147.03226
Neighbor list builds = 0
Dangerous builds = 0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 7.50679
ghost atom cutoff = 7.50679
binsize = 3.753395, bins = 2 2 2
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair eam/fs, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d
bin: standard
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 5.183 | 5.183 | 5.183 Mbytes
Step PotEng Fnorm Fmax
0 -85.025323 53.839249 22.182149
Loop time of 5.03e-07 on 1 procs for 0 steps with 31 atoms
0.0% 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 | 0 | 0 | 0.0 | 0.00
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0 | 0 | 0 | 0.0 | 0.00
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0 | 0 | 0 | 0.0 | 0.00
Other | | 5.03e-07 | | |100.00
Nlocal: 31 ave 31 max 31 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 957 ave 957 max 957 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 2279 ave 2279 max 2279 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 2279
Ave neighs/atom = 73.516129
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1,193 +0,0 @@
LAMMPS (4 Feb 2025 - Development - )
Reading data file ...
orthogonal box = (0 0 0) to (28.92 28.92 28.92)
1 by 2 by 2 MPI processor grid
reading atoms ...
2047 atoms
reading velocities ...
2047 velocities
read_data CPU = 0.037 seconds
ACE version: 2023.11.25
Recursive evaluator is used by ACE
Loading ../../../potentials/Cu-PBE-core-rep.ace
Total number of basis functions
Cu: 16 (r=1) 726 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
atomic load lambda:
fast potential: extract eam/apip:time_per_atom
precise potential: extract pace/apip:time_per_atom
lambda_input: extract lambda_input:time_per_atom
lambda: extract lambda_zone:time_per_atom
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix lambda command: doi.org/10.1063/5.0245877
The log file lists these citations in BibTeX format.
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
WARNING: The energy is not conserved when lambda changes as fix lambda_thermostat is not used. (../fix_lambda.cpp:247)
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 14
ghost atom cutoff = 14
binsize = 7, bins = 5 5 5
4 neighbor lists, perpetual/occasional/extra = 4 0 0
(1) pair eam/fs/apip, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair pace/apip, perpetual, trim from (4)
attributes: full, newton on, cut 9.4
pair build: trim
stencil: none
bin: none
(3) pair lambda_input/csp, perpetual, trim from (2)
attributes: full, newton on, cut 8
pair build: trim
stencil: none
bin: none
(4) pair lambda/zone, perpetual
attributes: full, newton on, ghost, cut 14
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 58.65 | 58.75 | 59.03 Mbytes
Step TotEng
0 -7409.9869
1 -7409.9869
2 -7409.987
3 -7409.987
4 -7409.987
5 -7409.987
6 -7409.987
7 -7409.987
8 -7409.987
9 -7409.987
10 -7409.9871
11 -7409.9876
12 -7409.9876
13 -7409.9876
14 -7409.988
15 -7409.9876
16 -7409.9864
17 -7409.9864
18 -7409.9853
19 -7409.9847
20 -7409.9865
21 -7409.9852
22 -7409.9867
23 -7409.9864
24 -7409.9869
25 -7409.9844
26 -7409.9849
27 -7409.9856
28 -7409.9851
29 -7409.9835
30 -7409.9843
31 -7409.9861
32 -7409.9862
33 -7409.9869
34 -7409.9863
35 -7409.9885
36 -7409.9924
37 -7409.9945
38 -7409.9942
39 -7409.9903
40 -7409.9909
41 -7409.9962
42 -7409.996
43 -7409.9959
44 -7410.0004
45 -7410.0044
46 -7409.9993
47 -7409.9948
48 -7409.9923
49 -7409.9844
50 -7409.9861
51 -7409.9849
52 -7409.986
53 -7409.9828
54 -7409.9799
55 -7409.9804
56 -7409.9782
57 -7409.9777
58 -7409.9777
59 -7409.9781
60 -7409.982
61 -7409.982
62 -7409.9824
63 -7409.9844
64 -7409.9826
65 -7409.9816
66 -7409.9788
67 -7409.9769
68 -7409.9727
69 -7409.9716
70 -7409.9693
71 -7409.9674
72 -7409.9691
73 -7409.9693
74 -7409.9682
75 -7409.9664
76 -7409.9678
77 -7409.966
78 -7409.9674
79 -7409.9654
80 -7409.9649
81 -7409.9636
82 -7409.967
83 -7409.9693
84 -7409.9655
85 -7409.9654
86 -7409.9644
87 -7409.961
88 -7409.9609
89 -7409.9594
90 -7409.96
91 -7409.9643
92 -7409.9603
93 -7409.9622
94 -7409.9603
95 -7409.9584
96 -7409.9555
97 -7409.9596
98 -7409.9587
99 -7409.9585
100 -7409.9602
Loop time of 10.6279 on 4 procs for 100 steps with 2047 atoms
Performance: 0.813 ns/day, 29.522 hours/ns, 9.409 timesteps/s, 19.261 katom-step/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 | 7.4326 | 8.9455 | 10.524 | 49.4 | 84.17
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.089305 | 1.6676 | 3.18 | 114.5 | 15.69
Output | 0.0028034 | 0.0041679 | 0.0061404 | 1.9 | 0.04
Modify | 0.0040779 | 0.0053928 | 0.0062702 | 1.1 | 0.05
Other | | 0.005266 | | | 0.05
Nlocal: 511.75 ave 529 max 502 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 7684.25 ave 7693 max 7668 min
Histogram: 1 0 0 0 0 0 0 1 1 1
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 490648 ave 507159 max 481313 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Total # of neighbors = 1962590
Ave neighs/atom = 958.76404
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:12

View File

@ -1,197 +0,0 @@
LAMMPS (4 Feb 2025 - Development - )
Reading data file ...
orthogonal box = (0 0 0) to (28.92 28.92 28.92)
1 by 2 by 2 MPI processor grid
reading atoms ...
2047 atoms
reading velocities ...
2047 velocities
read_data CPU = 0.041 seconds
ACE version: 2023.11.25
Recursive evaluator is used by ACE
Loading ../../../potentials/Cu-PBE-core-rep.ace
Total number of basis functions
Cu: 16 (r=1) 726 (r>1)
Mapping LAMMPS atom type #1(Cu) -> ACE species type #0
atomic load lambda:
fast potential: extract eam/apip:time_per_atom
precise potential: extract pace/apip:time_per_atom
lambda_input: extract lambda_input:time_per_atom
lambda: extract lambda_zone:time_per_atom
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- fix lambda command: doi.org/10.1063/5.0245877
The log file lists these citations in BibTeX format.
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 14
ghost atom cutoff = 14
binsize = 7, bins = 5 5 5
5 neighbor lists, perpetual/occasional/extra = 5 0 0
(1) pair eam/fs/apip, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
(2) pair pace/apip, perpetual, trim from (4)
attributes: full, newton on, cut 9.4
pair build: trim
stencil: none
bin: none
(3) pair lambda_input/csp, perpetual, trim from (2)
attributes: full, newton on, cut 8
pair build: trim
stencil: none
bin: none
(4) pair lambda/zone, perpetual
attributes: full, newton on, ghost, cut 14
pair build: full/bin/ghost
stencil: full/ghost/bin/3d
bin: standard
(5) fix lambda_thermostat, perpetual, copy from (1)
attributes: full, newton on
pair build: copy
stencil: none
bin: none
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 61.44 | 61.63 | 62.2 Mbytes
Step TotEng
0 -7409.9869
1 -7409.9869
2 -7409.987
3 -7409.987
4 -7409.987
5 -7409.987
6 -7409.987
7 -7409.987
8 -7409.987
9 -7409.987
10 -7409.987
11 -7409.9871
12 -7409.9871
13 -7409.9871
14 -7409.9871
15 -7409.9871
16 -7409.9871
17 -7409.9871
18 -7409.9871
19 -7409.9872
20 -7409.9872
21 -7409.9872
22 -7409.9872
23 -7409.9872
24 -7409.9872
25 -7409.9872
26 -7409.9872
27 -7409.9872
28 -7409.9872
29 -7409.9872
30 -7409.9872
31 -7409.9872
32 -7409.9872
33 -7409.9872
34 -7409.9872
35 -7409.9872
36 -7409.9872
37 -7409.9873
38 -7409.9873
39 -7409.9873
40 -7409.9873
41 -7409.9873
42 -7409.9874
43 -7409.9874
44 -7409.9874
45 -7409.9874
46 -7409.9875
47 -7409.9875
48 -7409.9875
49 -7409.9875
50 -7409.9875
51 -7409.9876
52 -7409.9876
53 -7409.9876
54 -7409.9876
55 -7409.9876
56 -7409.9876
57 -7409.9876
58 -7409.9876
59 -7409.9876
60 -7409.9876
61 -7409.9876
62 -7409.9875
63 -7409.9875
64 -7409.9875
65 -7409.9875
66 -7409.9874
67 -7409.9874
68 -7409.9874
69 -7409.9873
70 -7409.9873
71 -7409.9873
72 -7409.9873
73 -7409.9872
74 -7409.9872
75 -7409.9872
76 -7409.9872
77 -7409.9872
78 -7409.9871
79 -7409.9871
80 -7409.9871
81 -7409.9871
82 -7409.9871
83 -7409.9871
84 -7409.9871
85 -7409.9871
86 -7409.9871
87 -7409.9871
88 -7409.9871
89 -7409.9871
90 -7409.9871
91 -7409.9871
92 -7409.9871
93 -7409.9872
94 -7409.9872
95 -7409.9872
96 -7409.9872
97 -7409.9872
98 -7409.9872
99 -7409.9872
100 -7409.9872
Loop time of 11.8395 on 4 procs for 100 steps with 2047 atoms
Performance: 0.730 ns/day, 32.887 hours/ns, 8.446 timesteps/s, 17.290 katom-step/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 | 8.1066 | 9.7912 | 11.642 | 53.8 | 82.70
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.057574 | 1.9086 | 3.5932 | 121.8 | 16.12
Output | 0.022525 | 0.027196 | 0.031414 | 2.2 | 0.23
Modify | 0.10334 | 0.10795 | 0.11223 | 1.2 | 0.91
Other | | 0.004525 | | | 0.04
Nlocal: 511.75 ave 529 max 502 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Nghost: 7684.25 ave 7693 max 7668 min
Histogram: 1 0 0 0 0 0 0 1 1 1
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 490648 ave 507159 max 481313 min
Histogram: 1 1 0 1 0 0 0 0 0 1
Total # of neighbors = 1962590
Ave neighs/atom = 958.76404
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:13

View File

@ -126,8 +126,8 @@ FixApipAtomWeight::FixApipAtomWeight(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR, "apip_atom_weight: simple time cannot be extracted with {} from {}", error->all(FLERR, "apip_atom_weight: simple time cannot be extracted with {} from {}",
time_simple_extract_name, force->pair_style); time_simple_extract_name, force->pair_style);
} else { } else {
if (time_simple_atom <= 0) if (time_simple_atom < 0)
error->all(FLERR, "apip_atom_weight: time_simple_atom needs to be positive instead of {}", error->all(FLERR, "apip_atom_weight: time_simple_atom needs to be non-negative instead of {}",
time_simple_atom); time_simple_atom);
} }
@ -136,8 +136,9 @@ FixApipAtomWeight::FixApipAtomWeight(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR, "apip_atom_weight: complex time cannot be extracted with {} from {}", error->all(FLERR, "apip_atom_weight: complex time cannot be extracted with {} from {}",
time_complex_extract_name, force->pair_style); time_complex_extract_name, force->pair_style);
} else { } else {
if (time_complex_atom <= 0) if (time_complex_atom < 0)
error->all(FLERR, "apip_atom_weight: time_complex_atom needs to be positive instead of {}", error->all(FLERR,
"apip_atom_weight: time_complex_atom needs to be non-negative instead of {}",
time_complex_atom); time_complex_atom);
} }
@ -146,8 +147,8 @@ FixApipAtomWeight::FixApipAtomWeight(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR, "apip_atom_weight: group time cannot be extracted with {} from {}", error->all(FLERR, "apip_atom_weight: group time cannot be extracted with {} from {}",
time_group_extract_name, force->pair_style); time_group_extract_name, force->pair_style);
} else { } else {
if (time_group_atom <= 0) if (time_group_atom < 0)
error->all(FLERR, "apip_atom_weight: time_group_atom needs to be positive instead of {}", error->all(FLERR, "apip_atom_weight: time_group_atom needs to be non-negative instead of {}",
time_group_atom); time_group_atom);
} }
@ -156,8 +157,8 @@ FixApipAtomWeight::FixApipAtomWeight(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR, "apip_atom_weight: lambda time cannot be extracted with {} from {}", error->all(FLERR, "apip_atom_weight: lambda time cannot be extracted with {} from {}",
time_lambda_extract_name, force->pair_style); time_lambda_extract_name, force->pair_style);
} else { } else {
if (time_lambda_atom <= 0) if (time_lambda_atom < 0)
error->all(FLERR, "apip_atom_weight: time_lambda_atom needs to be positive instead of {}", error->all(FLERR, "apip_atom_weight: time_lambda_atom needs to be non-negative instead of {}",
time_lambda_atom); time_lambda_atom);
} }
@ -257,6 +258,8 @@ void FixApipAtomWeight::init()
} }
} }
if (counter > 1) error->all(FLERR, "More than one fix lambda"); if (counter > 1) error->all(FLERR, "More than one fix lambda");
if (counter == 0 && (time_lambda_extract_name || time_lambda_atom > 0))
error->all(FLERR, "fix lambda required to approximate weight of pair style lambda/zone");
// This fix is evaluated in pre_exchange, but needs to be evaluated before load-balancing fixes. // This fix is evaluated in pre_exchange, but needs to be evaluated before load-balancing fixes.
for (auto ifix : modify->get_fix_list()) { for (auto ifix : modify->get_fix_list()) {
@ -415,16 +418,9 @@ void FixApipAtomWeight::calc_work_per_particle()
mask = atom->mask; mask = atom->mask;
lambda_required = atom->lambda_required; lambda_required = atom->lambda_required;
// get lambda(time averaged lambda input)
lambda_input_history = (double **) fix_lambda->extract("fix_lambda:lambda_input_history", dim);
const int histlen_lambda_input =
*((int *) fix_lambda->extract("fix_lambda:lambda_input_history_len", dim));
if (lambda_input_history == nullptr || histlen_lambda_input < 1)
error->all(FLERR, "apip_atom_weight: extracting fix_lambda:lambda_input_history failed");
int nlocal = atom->nlocal; int nlocal = atom->nlocal;
// assume a homogeneous time per simple and complex particle // assume a homogeneous time per simple and complex particle
n_simple = n_complex = n_group = n_lambda = 0; n_simple = n_complex = 0;
for (int i = 0; i < nlocal; i++) { for (int i = 0; i < nlocal; i++) {
work_atom = 0; work_atom = 0;
if (lambda_required[i] & LambdaRequired::SIMPLE) { if (lambda_required[i] & LambdaRequired::SIMPLE) {
@ -435,17 +431,36 @@ void FixApipAtomWeight::calc_work_per_particle()
work_atom += time_complex_atom; work_atom += time_complex_atom;
n_complex++; n_complex++;
} }
if (mask[i] & time_group_bit) {
work_atom += time_group_atom;
n_group++;
}
if (lambda_input_history[i][histlen_lambda_input + 1] != 1) {
work_atom += time_lambda_atom;
n_lambda++;
}
weight[i] = work_atom; weight[i] = work_atom;
} }
n_group = 0;
if (time_group_atom > 0) {
for (int i = 0; i < nlocal; i++) {
if (mask[i] & time_group_bit) {
weight[i] += time_group_atom;
n_group++;
}
}
}
n_lambda = 0;
if (time_lambda_atom > 0) {
// get lambda(time averaged lambda input)
lambda_input_history = (double **) fix_lambda->extract("fix_lambda:lambda_input_history", dim);
const int histlen_lambda_input =
*((int *) fix_lambda->extract("fix_lambda:lambda_input_history_len", dim));
if (lambda_input_history == nullptr || histlen_lambda_input < 1)
error->all(FLERR, "apip_atom_weight: extracting fix_lambda:lambda_input_history failed");
for (int i = 0; i < nlocal; i++) {
if (lambda_input_history[i][histlen_lambda_input + 1] != 1) {
weight[i] += time_lambda_atom;
n_lambda++;
}
}
}
if (rescale_work) { if (rescale_work) {
// calculate sum of vector work // calculate sum of vector work
double work_atoms = 0; double work_atoms = 0;

View File

@ -81,6 +81,28 @@ void AtomVecApip::grow_pointers()
f_dyn_lambda = atom->f_dyn_lambda; f_dyn_lambda = atom->f_dyn_lambda;
} }
/* ----------------------------------------------------------------------
modify what AtomVec::data_atom() just unpacked
or initialize other atom quantities
------------------------------------------------------------------------- */
void AtomVecApip::data_atom_post(int ilocal)
{
lambda[ilocal] = 0;
lambda_const[ilocal] = 0;
lambda_required[ilocal] = LambdaRequired::UNKNOWN;
lambda_input[ilocal] = 0;
lambda_input_ta[ilocal] = 0;
e_simple[ilocal] = 0;
e_complex[ilocal] = 0;
f_const_lambda[ilocal][0] = 0;
f_const_lambda[ilocal][1] = 0;
f_const_lambda[ilocal][2] = 0;
f_dyn_lambda[ilocal][0] = 0;
f_dyn_lambda[ilocal][1] = 0;
f_dyn_lambda[ilocal][2] = 0;
}
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
clear extra forces starting at atom n clear extra forces starting at atom n
natoms = # of atoms to clear natoms = # of atoms to clear

View File

@ -31,6 +31,7 @@ class AtomVecApip : public AtomVec {
void grow_pointers(); void grow_pointers();
void force_clear(int, size_t) override; void force_clear(int, size_t) override;
void data_atom_post(int) override;
protected: protected:
double *lambda, *lambda_input, *lambda_const, *lambda_input_ta, *e_simple, *e_complex, double *lambda, *lambda_input, *lambda_const, *lambda_input_ta, *e_simple, *e_complex,

View File

@ -45,7 +45,7 @@ using namespace MathConst;
enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT}; enum{ATOM_SELECT,MOL_SELECT,TYPE_SELECT,GROUP_SELECT,REGION_SELECT};
enum{TYPE,TYPE_FRACTION,TYPE_RATIO,TYPE_SUBSET, enum{TYPE,TYPE_FRACTION,TYPE_RATIO,TYPE_SUBSET,
MOLECULE,X,Y,Z,VX,VY,VZ,CHARGE,MASS,SHAPE,LENGTH,TRI, MOLECULE,X,Y,Z,VX,VY,VZ,CHARGE,MASS,SHAPE,LAMBDA,LENGTH,TRI,
DIPOLE,DIPOLE_RANDOM,SPIN_ATOM,SPIN_RANDOM,SPIN_ELECTRON,RADIUS_ELECTRON, DIPOLE,DIPOLE_RANDOM,SPIN_ATOM,SPIN_RANDOM,SPIN_ELECTRON,RADIUS_ELECTRON,
QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA,TEMPERATURE, QUAT,QUAT_RANDOM,THETA,THETA_RANDOM,ANGMOM,OMEGA,TEMPERATURE,
DIAMETER,RADIUS_ATOM,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER, DIAMETER,RADIUS_ATOM,DENSITY,VOLUME,IMAGE,BOND,ANGLE,DIHEDRAL,IMPROPER,
@ -692,6 +692,19 @@ void Set::command(int narg, char **arg)
set(EPSILON); set(EPSILON);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"lambda") == 0) {
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "set lambda", error);
if (strcmp(arg[iarg+1],"fast") == 0) dvalue = 1;
else if (strcmp(arg[iarg+1],"precise") == 0) dvalue = 0;
else if (utils::strmatch(arg[iarg+1],"^v_")) varparse(arg[iarg+1],1);
else dvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp);
if (!atom->lambda_flag)
error->all(FLERR, iarg, "Cannot set attribute {} for atom style {}", arg[iarg],
atom->get_style());
set(LAMBDA);
iarg += 2;
} else { } else {
// set custom per-atom vector or array or error out // set custom per-atom vector or array or error out
@ -1203,6 +1216,17 @@ void Set::set(int keyword)
} }
} }
// set switching parameter of APIP
else if (keyword == LAMBDA) {
if (dvalue < 0 || dvalue > 1)
error->one(FLERR, "lambda {} not in [0,1] in set command", dvalue);
atom->lambda[i] = dvalue;
if (atom->lambda_const_flag)
atom->lambda_const[i] = dvalue;
}
// set value for custom property vector or array // set value for custom property vector or array
else if (keyword == IVEC) { else if (keyword == IVEC) {