From 0b5722adc0a48d50245815fa77dc0b718055df6d Mon Sep 17 00:00:00 2001 From: Federico Williamson - WGPC5 Date: Thu, 21 Mar 2024 14:33:01 -0300 Subject: [PATCH 01/62] Allow compute spin for groups other than `all` --- src/SPIN/compute_spin.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 1c92d284f0..fc5e223e75 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -215,9 +215,8 @@ void ComputeSpin::compute_vector() tempnum += tx*tx+ty*ty+tz*tz; tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; countsp++; - } + } else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } - else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); From f3391199e71e606f2de687ed1e842b04c226e8e0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 25 Mar 2024 14:26:39 -0400 Subject: [PATCH 02/62] correct formatting of tables --- doc/src/variable.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 1cd96543f5..483e95045c 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -1174,12 +1174,17 @@ custom atom properties are the same; just replace the leading "i" with +--------+---------------+------------------------------------------+ | equal | i_name[I] | element of per-atom vector (I = atom ID) | ++--------+---------------+------------------------------------------+ | equal | i2_name[I][J] | element of per-atom array (I = atom ID) | +--------+---------------+------------------------------------------+ ++--------+---------------+------------------------------------------+ | vector | i_name[I] | element of per-atom vector (I = atom ID) | ++--------+---------------+------------------------------------------+ | vector | i2_name[I][J] | element of per-atom array (I = atom ID) | +--------+---------------+------------------------------------------+ ++--------+---------------+------------------------------------------+ | atom | i_name | per-atom vector | ++--------+---------------+------------------------------------------+ | atom | i2_name[I] | column of per-atom array | +--------+---------------+------------------------------------------+ @@ -1222,15 +1227,23 @@ table: +--------+------------+------------------------------------------+ | equal | c_ID | global scalar | ++--------+------------+------------------------------------------+ | equal | c_ID[I] | element of global vector | ++--------+------------+------------------------------------------+ | equal | c_ID[I][J] | element of global array | ++--------+------------+------------------------------------------+ | equal | C_ID[I] | element of per-atom vector (I = atom ID) | ++--------+------------+------------------------------------------+ | equal | C_ID[I][J] | element of per-atom array (I = atom ID) | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | vector | c_ID | global vector | ++--------+------------+------------------------------------------+ | vector | c_ID[I] | column of global array | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | c_ID | per-atom vector | ++--------+------------+------------------------------------------+ | atom | c_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1286,15 +1299,23 @@ and atom-style variables are listed in the following table: +--------+------------+------------------------------------------+ | equal | f_ID | global scalar | ++--------+------------+------------------------------------------+ | equal | f_ID[I] | element of global vector | ++--------+------------+------------------------------------------+ | equal | f_ID[I][J] | element of global array | ++--------+------------+------------------------------------------+ | equal | F_ID[I] | element of per-atom vector (I = atom ID) | ++--------+------------+------------------------------------------+ | equal | F_ID[I][J] | element of per-atom array (I = atom ID) | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | vector | f_ID | global vector | ++--------+------------+------------------------------------------+ | vector | f_ID[I] | column of global array | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | f_ID | per-atom vector | ++--------+------------+------------------------------------------+ | atom | f_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1365,17 +1386,27 @@ per-atom vector. +--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name | global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name | per-atom vector from an atom-style or atomfile-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ From 45fbe73f2b6d2d91c52f9b0ef574a72d7fe5fc9f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 25 Mar 2024 22:48:01 -0400 Subject: [PATCH 03/62] Simplify output of windows version. If unknown build number just output "Windows Build #####" --- src/platform.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/platform.cpp b/src/platform.cpp index b324bd0b5c..7e9fa820fa 100644 --- a/src/platform.cpp +++ b/src/platform.cpp @@ -249,12 +249,7 @@ std::string platform::os_info() } else if (build == "22631") { buf = "Windows 11 23H2"; } else { - const char *entry = "ProductName"; - RegGetValue(HKEY_LOCAL_MACHINE, subkey, entry, RRF_RT_REG_SZ, nullptr, &value, - (LPDWORD) &value_length); - // enforce zero termination - value[1023] = '\0'; - buf = value; + buf = "Windows Build " + build; } DWORD fullversion, majorv, minorv, buildv = 0; fullversion = GetVersion(); From c4eadd3a5966a0103afe8236273408a5c68a1df7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Mar 2024 01:52:07 -0400 Subject: [PATCH 04/62] change ordering of eigenvalues in jacobi3() function. update tests. --- examples/micelle/in.micelle | 76 +-- examples/micelle/in.micelle-rigid | 90 ++-- .../micelle/log.25Mar24.micelle-rigid.g++.1 | 272 ++++++++++ .../micelle/log.25Mar24.micelle-rigid.g++.4 | 272 ++++++++++ examples/micelle/log.25Mar24.micelle.g++.1 | 229 +++++++++ examples/micelle/log.25Mar24.micelle.g++.4 | 229 +++++++++ .../micelle/log.29Mar2019.micelle-rigid.g++.1 | 260 ---------- .../micelle/log.29Mar2019.micelle-rigid.g++.4 | 260 ---------- examples/micelle/log.29Mar2019.micelle.g++.1 | 218 -------- examples/micelle/log.29Mar2019.micelle.g++.4 | 218 -------- examples/rigid/log.20Mar22.rigid.infile.g++.1 | 312 ------------ examples/rigid/log.20Mar22.rigid.infile.g++.4 | 312 ------------ .../rigid/log.20Mar22.rigid.molecule.g++.1 | 349 ------------- .../rigid/log.20Mar22.rigid.molecule.g++.4 | 349 ------------- examples/rigid/log.20Mar22.rigid.poems.g++.1 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems.g++.4 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems2.g++.1 | 330 ------------ examples/rigid/log.20Mar22.rigid.poems2.g++.4 | 330 ------------ examples/rigid/log.20Mar22.rigid.poems3.g++.1 | 329 ------------ examples/rigid/log.20Mar22.rigid.poems3.g++.4 | 329 ------------ examples/rigid/log.20Mar22.rigid.poems4.g++.1 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems4.g++.4 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems5.g++.1 | 329 ------------ examples/rigid/log.20Mar22.rigid.poems5.g++.4 | 329 ------------ .../log.20Mar22.rigid.rigid.molecule.g++.1 | 0 .../log.20Mar22.rigid.rigid.molecule.g++.4 | 0 examples/rigid/log.20Mar22.rigid.small.g++.1 | 322 ------------ examples/rigid/log.20Mar22.rigid.small.g++.4 | 322 ------------ .../log.20Mar22.rigid.small.infile.g++.1 | 323 ------------ .../log.20Mar22.rigid.small.infile.g++.4 | 323 ------------ .../rigid/log.25Mar24.rigid.atomfile.g++.1 | 341 +++++++++++++ .../rigid/log.25Mar24.rigid.atomfile.g++.4 | 341 +++++++++++++ .../rigid/log.25Mar24.rigid.atomvar.g++.1 | 341 +++++++++++++ .../rigid/log.25Mar24.rigid.atomvar.g++.4 | 341 +++++++++++++ examples/rigid/log.25Mar24.rigid.early.g++.1 | 340 +++++++++++++ examples/rigid/log.25Mar24.rigid.early.g++.4 | 340 +++++++++++++ examples/rigid/log.25Mar24.rigid.g++.1 | 338 +++++++++++++ examples/rigid/log.25Mar24.rigid.g++.4 | 338 +++++++++++++ .../rigid/log.25Mar24.rigid.gravity.g++.1 | 228 +++++++++ .../rigid/log.25Mar24.rigid.gravity.g++.4 | 228 +++++++++ examples/rigid/log.25Mar24.rigid.infile.g++.1 | 310 ++++++++++++ examples/rigid/log.25Mar24.rigid.infile.g++.4 | 310 ++++++++++++ .../rigid/log.25Mar24.rigid.molecule.g++.1 | 319 ++++++++++++ .../rigid/log.25Mar24.rigid.molecule.g++.4 | 319 ++++++++++++ .../rigid/log.25Mar24.rigid.nve.early.g++.1 | 340 +++++++++++++ .../rigid/log.25Mar24.rigid.nve.early.g++.4 | 340 +++++++++++++ examples/rigid/log.25Mar24.rigid.nve.g++.1 | 338 +++++++++++++ examples/rigid/log.25Mar24.rigid.nve.g++.4 | 338 +++++++++++++ examples/rigid/log.25Mar24.rigid.poems.g++.1 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems.g++.4 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems2.g++.1 | 330 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems2.g++.4 | 330 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems3.g++.1 | 329 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems3.g++.4 | 329 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems4.g++.1 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems4.g++.4 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems5.g++.1 | 329 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems5.g++.4 | 329 ++++++++++++ .../rigid/log.25Mar24.rigid.property.g++.1 | 343 +++++++++++++ .../rigid/log.25Mar24.rigid.property.g++.4 | 343 +++++++++++++ examples/rigid/log.25Mar24.rigid.small.g++.1 | 321 ++++++++++++ examples/rigid/log.25Mar24.rigid.small.g++.4 | 321 ++++++++++++ .../log.25Mar24.rigid.small.infile.g++.1 | 322 ++++++++++++ .../log.25Mar24.rigid.small.infile.g++.4 | 322 ++++++++++++ examples/rigid/log.25Mar24.rigid.tnr.g++.1 | 475 ++++++++++++++++++ examples/rigid/log.25Mar24.rigid.tnr.g++.4 | 475 ++++++++++++++++++ .../rigid/log.27Nov18.rigid.atomfile.g++.1 | 338 ------------- .../rigid/log.27Nov18.rigid.atomfile.g++.4 | 338 ------------- .../rigid/log.27Nov18.rigid.atomvar.g++.1 | 338 ------------- .../rigid/log.27Nov18.rigid.atomvar.g++.4 | 338 ------------- examples/rigid/log.27Nov18.rigid.early.g++.1 | 337 ------------- examples/rigid/log.27Nov18.rigid.early.g++.4 | 337 ------------- examples/rigid/log.27Nov18.rigid.g++.1 | 335 ------------ examples/rigid/log.27Nov18.rigid.g++.4 | 335 ------------ .../rigid/log.27Nov18.rigid.nve.early.g++.1 | 337 ------------- .../rigid/log.27Nov18.rigid.nve.early.g++.4 | 337 ------------- examples/rigid/log.27Nov18.rigid.nve.g++.1 | 335 ------------ examples/rigid/log.27Nov18.rigid.nve.g++.4 | 335 ------------ .../rigid/log.27Nov18.rigid.property.g++.1 | 340 ------------- .../rigid/log.27Nov18.rigid.property.g++.4 | 340 ------------- examples/rigid/log.27Nov18.rigid.tnr.g++.1 | 458 ----------------- examples/rigid/log.27Nov18.rigid.tnr.g++.4 | 458 ----------------- src/math_eigen.cpp | 4 +- .../tests/fix-timestep-rigid_group.yaml | 113 ++--- .../tests/fix-timestep-rigid_molecule.yaml | 43 +- .../fix-timestep-rigid_molecule_tri.yaml | 37 +- .../tests/fix-timestep-rigid_nph.yaml | 85 ++-- .../tests/fix-timestep-rigid_nph_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_npt.yaml | 119 ++--- .../tests/fix-timestep-rigid_npt_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_nve_group.yaml | 113 ++--- .../fix-timestep-rigid_nve_molecule.yaml | 45 +- .../tests/fix-timestep-rigid_nve_single.yaml | 77 +-- .../tests/fix-timestep-rigid_nve_small.yaml | 45 +- .../tests/fix-timestep-rigid_nvt.yaml | 79 +-- .../tests/fix-timestep-rigid_nvt_small.yaml | 45 +- .../tests/fix-timestep-rigid_single.yaml | 77 +-- .../tests/fix-timestep-rigid_small.yaml | 43 +- unittest/formats/test_atom_styles.cpp | 288 +++++------ 99 files changed, 13772 insertions(+), 13271 deletions(-) create mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.1 create mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.4 create mode 100644 examples/micelle/log.25Mar24.micelle.g++.1 create mode 100644 examples/micelle/log.25Mar24.micelle.g++.4 delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.1 delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.4 delete mode 100644 examples/micelle/log.29Mar2019.micelle.g++.1 delete mode 100644 examples/micelle/log.29Mar2019.micelle.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.4 diff --git a/examples/micelle/in.micelle b/examples/micelle/in.micelle index 34bc9ad359..1626d09993 100644 --- a/examples/micelle/in.micelle +++ b/examples/micelle/in.micelle @@ -1,72 +1,72 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.3 bin -neigh_modify delay 5 +neighbor 0.33 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 1000 +thermo 50 +run 1000 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 -run 1000 +reset_timestep 0 +run 1000 diff --git a/examples/micelle/in.micelle-rigid b/examples/micelle/in.micelle-rigid index 93cb2655f8..21a9cb8a58 100644 --- a/examples/micelle/in.micelle-rigid +++ b/examples/micelle/in.micelle-rigid @@ -1,87 +1,87 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.3 bin -neigh_modify delay 5 +neighbor 0.33 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 500 +thermo 50 +run 500 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 +reset_timestep 0 group solvent molecule 0 group solute subtract all solvent unfix 1 unfix 2 unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -fix 4 all enforce2d -run 500 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +fix 4 all enforce2d +run 500 unfix 2 unfix 4 unfix 5 -fix 5 solute rigid/small molecule -fix 4 all enforce2d -run 500 +fix 5 solute rigid/small molecule +fix 4 all enforce2d +run 500 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.1 b/examples/micelle/log.25Mar24.micelle-rigid.g++.1 new file mode 100644 index 0000000000..8008630d76 --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle-rigid.g++.1 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0683956 on 1 procs for 500 steps with 1200 atoms + +Performance: 3158095.858 tau/day, 7310.407 timesteps/s, 8.772 Matom-step/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.042818 | 0.042818 | 0.042818 | 0.0 | 62.60 +Bond | 0.0026205 | 0.0026205 | 0.0026205 | 0.0 | 3.83 +Neigh | 0.011794 | 0.011794 | 0.011794 | 0.0 | 17.24 +Comm | 0.0014012 | 0.0014012 | 0.0014012 | 0.0 | 2.05 +Output | 0.00012752 | 0.00012752 | 0.00012752 | 0.0 | 0.19 +Modify | 0.0078924 | 0.0078924 | 0.0078924 | 0.0 | 11.54 +Other | | 0.001743 | | | 2.55 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 198 ave 198 max 198 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3199 ave 3199 max 3199 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3199 +Ave neighs/atom = 2.6658333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 48 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.129419 on 1 procs for 500 steps with 1200 atoms + +Performance: 1668996.565 tau/day, 3863.418 timesteps/s, 4.636 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.059482 | 0.059482 | 0.059482 | 0.0 | 45.96 +Bond | 0.0027154 | 0.0027154 | 0.0027154 | 0.0 | 2.10 +Neigh | 0.017086 | 0.017086 | 0.017086 | 0.0 | 13.20 +Comm | 0.0019065 | 0.0019065 | 0.0019065 | 0.0 | 1.47 +Output | 0.00012035 | 0.00012035 | 0.00012035 | 0.0 | 0.09 +Modify | 0.046099 | 0.046099 | 0.046099 | 0.0 | 35.62 +Other | | 0.002009 | | | 1.55 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 413 ave 413 max 413 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8944 ave 8944 max 8944 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8944 +Ave neighs/atom = 7.4533333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 41 +Dangerous builds = 1 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.119542 on 1 procs for 500 steps with 1200 atoms + +Performance: 1806900.644 tau/day, 4182.640 timesteps/s, 5.019 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.058715 | 0.058715 | 0.058715 | 0.0 | 49.12 +Bond | 0.0028428 | 0.0028428 | 0.0028428 | 0.0 | 2.38 +Neigh | 0.015212 | 0.015212 | 0.015212 | 0.0 | 12.73 +Comm | 0.0019242 | 0.0019242 | 0.0019242 | 0.0 | 1.61 +Output | 0.00018977 | 0.00018977 | 0.00018977 | 0.0 | 0.16 +Modify | 0.038399 | 0.038399 | 0.038399 | 0.0 | 32.12 +Other | | 0.002259 | | | 1.89 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 425 ave 425 max 425 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8846 ave 8846 max 8846 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8846 +Ave neighs/atom = 7.3716667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 36 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.4 b/examples/micelle/log.25Mar24.micelle-rigid.g++.4 new file mode 100644 index 0000000000..b5c53e9b05 --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle-rigid.g++.4 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0217401 on 4 procs for 500 steps with 1200 atoms + +Performance: 9935551.276 tau/day, 22998.961 timesteps/s, 27.599 Matom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0088539 | 0.0095602 | 0.010452 | 0.6 | 43.97 +Bond | 0.00058476 | 0.00062647 | 0.00070207 | 0.0 | 2.88 +Neigh | 0.0030965 | 0.0031112 | 0.0031222 | 0.0 | 14.31 +Comm | 0.0040493 | 0.0050374 | 0.0057508 | 0.9 | 23.17 +Output | 8.0051e-05 | 8.6079e-05 | 0.00010294 | 0.0 | 0.40 +Modify | 0.0024258 | 0.0025227 | 0.0026365 | 0.2 | 11.60 +Other | | 0.0007961 | | | 3.66 + +Nlocal: 300 ave 305 max 292 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +Nghost: 105.25 ave 110 max 99 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 799.75 ave 817 max 763 min +Histogram: 1 0 0 0 0 0 0 1 0 2 + +Total # of neighbors = 3199 +Ave neighs/atom = 2.6658333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 48 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0560481 on 4 procs for 500 steps with 1200 atoms + +Performance: 3853834.547 tau/day, 8920.913 timesteps/s, 10.705 Matom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.013556 | 0.013707 | 0.013803 | 0.1 | 24.46 +Bond | 0.00063884 | 0.00066997 | 0.0007103 | 0.0 | 1.20 +Neigh | 0.004707 | 0.0047121 | 0.0047151 | 0.0 | 8.41 +Comm | 0.0060936 | 0.0061963 | 0.006299 | 0.1 | 11.06 +Output | 9.3791e-05 | 0.00010703 | 0.00013426 | 0.0 | 0.19 +Modify | 0.029359 | 0.029467 | 0.029627 | 0.1 | 52.57 +Other | | 0.001189 | | | 2.12 + +Nlocal: 300 ave 303 max 296 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 217.75 ave 220 max 215 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 2236 ave 2264 max 2213 min +Histogram: 1 0 1 0 0 1 0 0 0 1 + +Total # of neighbors = 8944 +Ave neighs/atom = 7.4533333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 41 +Dangerous builds = 1 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.0401556 on 4 procs for 500 steps with 1200 atoms + +Performance: 5379078.679 tau/day, 12451.571 timesteps/s, 14.942 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.013239 | 0.013488 | 0.013882 | 0.2 | 33.59 +Bond | 0.00064766 | 0.00068403 | 0.00074631 | 0.0 | 1.70 +Neigh | 0.0040808 | 0.0040899 | 0.0041035 | 0.0 | 10.19 +Comm | 0.0056353 | 0.0060663 | 0.0063864 | 0.3 | 15.11 +Output | 0.0001049 | 0.0001153 | 0.00014195 | 0.0 | 0.29 +Modify | 0.014414 | 0.014559 | 0.014753 | 0.1 | 36.26 +Other | | 0.001153 | | | 2.87 + +Nlocal: 300 ave 305 max 295 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Nghost: 226 ave 231 max 220 min +Histogram: 1 0 0 0 1 0 0 1 0 1 +Neighs: 2211.5 ave 2313 max 2144 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 8846 +Ave neighs/atom = 7.3716667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 36 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.1 b/examples/micelle/log.25Mar24.micelle.g++.1 new file mode 100644 index 0000000000..4b519e0ea7 --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle.g++.1 @@ -0,0 +1,229 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.135036 on 1 procs for 1000 steps with 1200 atoms + +Performance: 3199144.549 tau/day, 7405.427 timesteps/s, 8.887 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.086466 | 0.086466 | 0.086466 | 0.0 | 64.03 +Bond | 0.0052524 | 0.0052524 | 0.0052524 | 0.0 | 3.89 +Neigh | 0.020278 | 0.020278 | 0.020278 | 0.0 | 15.02 +Comm | 0.0026978 | 0.0026978 | 0.0026978 | 0.0 | 2.00 +Output | 0.00032119 | 0.00032119 | 0.00032119 | 0.0 | 0.24 +Modify | 0.016117 | 0.016117 | 0.016117 | 0.0 | 11.94 +Other | | 0.003904 | | | 2.89 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 200 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3220 ave 3220 max 3220 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3220 +Ave neighs/atom = 2.6833333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 84 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.141 | 4.141 | 4.141 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115118 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 + 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 + 500 0.46846731 -1.9444333 0.076696281 -1.3996601 2.0528682 + 550 0.47683129 -1.958676 0.070589717 -1.4116523 2.0856022 + 600 0.46851244 -1.9338267 0.070605485 -1.3950992 2.2640498 + 650 0.46874143 -1.9462493 0.069134673 -1.4087638 2.1070264 + 700 0.46437375 -1.9309952 0.071977553 -1.3950309 2.2256927 + 750 0.47326219 -1.9484255 0.075435861 -1.4001218 2.0880257 + 800 0.45 -1.9646003 0.064159585 -1.4508158 2.0612708 + 850 0.46748293 -1.9705587 0.060384889 -1.4430805 1.9472917 + 900 0.46909505 -1.9537228 0.06246996 -1.4225487 2.0222946 + 950 0.45631552 -1.9387752 0.067536414 -1.4153035 2.0638412 + 1000 0.45 -1.9727636 0.058608205 -1.4645304 1.9982412 +Loop time of 0.172925 on 1 procs for 1000 steps with 1200 atoms + +Performance: 2498198.117 tau/day, 5782.866 timesteps/s, 6.939 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11308 | 0.11308 | 0.11308 | 0.0 | 65.39 +Bond | 0.0054036 | 0.0054036 | 0.0054036 | 0.0 | 3.12 +Neigh | 0.032892 | 0.032892 | 0.032892 | 0.0 | 19.02 +Comm | 0.0038268 | 0.0038268 | 0.0038268 | 0.0 | 2.21 +Output | 0.00023892 | 0.00023892 | 0.00023892 | 0.0 | 0.14 +Modify | 0.013461 | 0.013461 | 0.013461 | 0.0 | 7.78 +Other | | 0.004027 | | | 2.33 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 421 ave 421 max 421 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8779 ave 8779 max 8779 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8779 +Ave neighs/atom = 7.3158333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 77 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.4 b/examples/micelle/log.25Mar24.micelle.g++.4 new file mode 100644 index 0000000000..174cab5f5e --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle.g++.4 @@ -0,0 +1,229 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.0430044 on 4 procs for 1000 steps with 1200 atoms + +Performance: 10045485.178 tau/day, 23253.438 timesteps/s, 27.904 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.01855 | 0.019447 | 0.019916 | 0.4 | 45.22 +Bond | 0.0011939 | 0.0012689 | 0.0013518 | 0.2 | 2.95 +Neigh | 0.0054396 | 0.0054535 | 0.0054635 | 0.0 | 12.68 +Comm | 0.0093296 | 0.0097958 | 0.010731 | 0.6 | 22.78 +Output | 0.00016417 | 0.00018578 | 0.00024995 | 0.0 | 0.43 +Modify | 0.0049758 | 0.0050749 | 0.005268 | 0.2 | 11.80 +Other | | 0.001778 | | | 4.14 + +Nlocal: 300 ave 306 max 294 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 103 ave 110 max 98 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 805 ave 827 max 768 min +Histogram: 1 0 0 0 0 0 1 0 1 1 + +Total # of neighbors = 3220 +Ave neighs/atom = 2.6833333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 84 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.125 | 4.125 | 4.125 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.08160394 -1.4242028 2.0787066 + 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 + 500 0.46846732 -1.9444333 0.076696282 -1.3996601 2.0528682 + 550 0.47683129 -1.958676 0.070589715 -1.4116523 2.0856023 + 600 0.46851246 -1.9338267 0.070605474 -1.3950992 2.2640497 + 650 0.46874145 -1.9462493 0.069134673 -1.4087638 2.1070263 + 700 0.46437384 -1.9309953 0.071977538 -1.3950309 2.2256921 + 750 0.47326257 -1.9484258 0.075435782 -1.4001218 2.0880238 + 800 0.45 -1.9646002 0.064159564 -1.4508156 2.0612711 + 850 0.46748245 -1.9705585 0.060385282 -1.4430803 1.9472928 + 900 0.46909475 -1.953722 0.062469986 -1.4225482 2.0223017 + 950 0.45631666 -1.9387749 0.067535547 -1.415303 2.0638464 + 1000 0.45 -1.9727662 0.058608374 -1.4645328 1.9982544 +Loop time of 0.0580559 on 4 procs for 1000 steps with 1200 atoms + +Performance: 7441102.030 tau/day, 17224.773 timesteps/s, 20.670 Matom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.025537 | 0.026849 | 0.0293 | 0.9 | 46.25 +Bond | 0.0012241 | 0.0013287 | 0.0015123 | 0.3 | 2.29 +Neigh | 0.0093194 | 0.0093648 | 0.0093978 | 0.0 | 16.13 +Comm | 0.011992 | 0.014606 | 0.015998 | 1.3 | 25.16 +Output | 0.00018318 | 0.0001963 | 0.0002352 | 0.0 | 0.34 +Modify | 0.003441 | 0.0035887 | 0.0037522 | 0.2 | 6.18 +Other | | 0.002122 | | | 3.66 + +Nlocal: 300 ave 305 max 294 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 222.25 ave 231 max 215 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Neighs: 2195 ave 2233 max 2150 min +Histogram: 1 0 0 0 0 2 0 0 0 1 + +Total # of neighbors = 8780 +Ave neighs/atom = 7.3166667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 77 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 deleted file mode 100644 index f1001e6cea..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000473022 secs - read_data CPU = 0.0024147 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00022316 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms - -Performance: 2093802.885 tau/day, 4846.766 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 -Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 -Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 -Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 -Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 -Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 -Other | | 0.002726 | | | 2.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 197 ave 197 max 197 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3094 ave 3094 max 3094 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms - -Performance: 1208012.705 tau/day, 2796.326 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 -Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 -Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 -Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 -Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 -Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 -Other | | 0.00293 | | | 1.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 416 ave 416 max 416 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8769 ave 8769 max 8769 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.00015378 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 -Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms - -Performance: 1297278.008 tau/day, 3002.958 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 -Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 -Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 -Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 -Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 -Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 -Other | | 0.003141 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8743 ave 8743 max 8743 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 deleted file mode 100644 index e65f67a527..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000422001 secs - read_data CPU = 0.00473404 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000183344 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms - -Performance: 5066547.720 tau/day, 11728.120 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 -Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 -Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 -Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 -Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 -Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 -Other | | 0.002669 | | | 6.26 - -Nlocal: 300 ave 304 max 292 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Nghost: 103.5 ave 108 max 98 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 773.5 ave 792 max 735 min -Histogram: 1 0 0 0 0 0 0 0 2 1 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms - -Performance: 2434100.210 tau/day, 5634.491 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 -Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 -Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 -Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 -Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 -Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 -Other | | 0.002938 | | | 3.31 - -Nlocal: 300 ave 309 max 291 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 218.75 ave 223 max 216 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Neighs: 2192.25 ave 2251 max 2113 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 7.70092e-05 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 -Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms - -Performance: 3671840.233 tau/day, 8499.630 timesteps/s -98.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 -Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 -Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 -Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 -Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 -Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 -Other | | 0.00224 | | | 3.81 - -Nlocal: 300 ave 303 max 295 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 219 ave 224 max 215 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 2185.75 ave 2244 max 2143 min -Histogram: 1 1 0 0 0 1 0 0 0 1 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.1 b/examples/micelle/log.29Mar2019.micelle.g++.1 deleted file mode 100644 index d482d6c890..0000000000 --- a/examples/micelle/log.29Mar2019.micelle.g++.1 +++ /dev/null @@ -1,218 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00037837 secs - read_data CPU = 0.00206876 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000177383 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.208895 on 1 procs for 1000 steps with 1200 atoms - -Performance: 2068027.282 tau/day, 4787.100 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.14142 | 0.14142 | 0.14142 | 0.0 | 67.70 -Bond | 0.008441 | 0.008441 | 0.008441 | 0.0 | 4.04 -Neigh | 0.025716 | 0.025716 | 0.025716 | 0.0 | 12.31 -Comm | 0.0036864 | 0.0036864 | 0.0036864 | 0.0 | 1.76 -Output | 0.0003562 | 0.0003562 | 0.0003562 | 0.0 | 0.17 -Modify | 0.023699 | 0.023699 | 0.023699 | 0.0 | 11.35 -Other | | 0.00558 | | | 2.67 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 195 ave 195 max 195 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3136 ave 3136 max 3136 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3136 -Ave neighs/atom = 2.61333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 92 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.024 | 4.024 | 4.024 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 - 450 0.47220236 -1.9468502 0.065625624 -1.4094157 2.0984288 - 500 0.4684673 -1.9444333 0.076696283 -1.3996601 2.0528682 - 550 0.47683128 -1.958676 0.070589719 -1.4116523 2.0856022 - 600 0.46851243 -1.9338267 0.07060548 -1.3950992 2.26405 - 650 0.46874142 -1.9462493 0.069134685 -1.4087638 2.1070263 - 700 0.46437384 -1.9309953 0.071977522 -1.3950309 2.2256923 - 750 0.47326225 -1.9484255 0.075435845 -1.4001218 2.0880254 - 800 0.45 -1.9646005 0.064159585 -1.4508159 2.0612696 - 850 0.46748307 -1.970559 0.060384874 -1.4430806 1.9472879 - 900 0.46909484 -1.953723 0.062470295 -1.4225488 2.0222909 - 950 0.45631531 -1.9387753 0.067536568 -1.4153037 2.0638421 - 1000 0.45 -1.9727646 0.058607721 -1.4645318 1.9982315 -Loop time of 0.252254 on 1 procs for 1000 steps with 1200 atoms - -Performance: 1712557.882 tau/day, 3964.254 timesteps/s -99.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.17177 | 0.17177 | 0.17177 | 0.0 | 68.09 -Bond | 0.0084555 | 0.0084555 | 0.0084555 | 0.0 | 3.35 -Neigh | 0.03991 | 0.03991 | 0.03991 | 0.0 | 15.82 -Comm | 0.0049119 | 0.0049119 | 0.0049119 | 0.0 | 1.95 -Output | 0.00039077 | 0.00039077 | 0.00039077 | 0.0 | 0.15 -Modify | 0.021131 | 0.021131 | 0.021131 | 0.0 | 8.38 -Other | | 0.005685 | | | 2.25 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8586 ave 8586 max 8586 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8586 -Ave neighs/atom = 7.155 -Ave special neighs/atom = 0.5 -Neighbor list builds = 86 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.4 b/examples/micelle/log.29Mar2019.micelle.g++.4 deleted file mode 100644 index f3a54970cf..0000000000 --- a/examples/micelle/log.29Mar2019.micelle.g++.4 +++ /dev/null @@ -1,218 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000413656 secs - read_data CPU = 0.00487924 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000178576 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.0906248 on 4 procs for 1000 steps with 1200 atoms - -Performance: 4766906.584 tau/day, 11034.506 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.036572 | 0.039266 | 0.041216 | 1.0 | 43.33 -Bond | 0.0023205 | 0.0024512 | 0.0025697 | 0.2 | 2.70 -Neigh | 0.0088909 | 0.0089301 | 0.0089679 | 0.0 | 9.85 -Comm | 0.022308 | 0.024047 | 0.027175 | 1.3 | 26.53 -Output | 0.00057411 | 0.00061274 | 0.00071025 | 0.0 | 0.68 -Modify | 0.0083182 | 0.0092374 | 0.0098341 | 0.6 | 10.19 -Other | | 0.006081 | | | 6.71 - -Nlocal: 300 ave 305 max 292 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 100.25 ave 108 max 93 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Neighs: 784 ave 815 max 739 min -Histogram: 1 0 0 0 0 0 1 1 0 1 - -Total # of neighbors = 3136 -Ave neighs/atom = 2.61333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 92 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.001 | 4.032 | 4.124 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 - 450 0.47220236 -1.9468502 0.065625625 -1.4094157 2.0984288 - 500 0.4684673 -1.9444333 0.076696285 -1.3996601 2.0528682 - 550 0.47683128 -1.958676 0.070589721 -1.4116523 2.0856023 - 600 0.46851245 -1.9338267 0.070605469 -1.3950992 2.26405 - 650 0.46874143 -1.9462493 0.069134686 -1.4087638 2.1070262 - 700 0.4643739 -1.9309953 0.071977511 -1.3950309 2.225692 - 750 0.47326259 -1.9484258 0.075435808 -1.4001218 2.0880235 - 800 0.45 -1.9646003 0.06415956 -1.4508158 2.0612703 - 850 0.46748278 -1.9705588 0.06038513 -1.4430804 1.9472884 - 900 0.46909438 -1.9537221 0.062470305 -1.4225483 2.0223008 - 950 0.45631508 -1.9387742 0.067536066 -1.4153033 2.063854 - 1000 0.45 -1.9727651 0.058608085 -1.464532 1.9982447 -Loop time of 0.0878521 on 4 procs for 1000 steps with 1200 atoms - -Performance: 4917357.613 tau/day, 11382.772 timesteps/s -99.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.043517 | 0.044455 | 0.046903 | 0.7 | 50.60 -Bond | 0.0020199 | 0.0022303 | 0.0024347 | 0.4 | 2.54 -Neigh | 0.012207 | 0.012335 | 0.012512 | 0.1 | 14.04 -Comm | 0.014938 | 0.018265 | 0.020068 | 1.5 | 20.79 -Output | 0.00061369 | 0.00064814 | 0.00073504 | 0.0 | 0.74 -Modify | 0.0052264 | 0.0053691 | 0.0055039 | 0.2 | 6.11 -Other | | 0.00455 | | | 5.18 - -Nlocal: 300 ave 305 max 296 min -Histogram: 1 1 0 0 0 0 1 0 0 1 -Nghost: 219.5 ave 228 max 214 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 2146.5 ave 2201 max 2114 min -Histogram: 1 1 0 1 0 0 0 0 0 1 - -Total # of neighbors = 8586 -Ave neighs/atom = 7.155 -Ave special neighs/atom = 0.5 -Neighbor list builds = 86 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.infile.g++.1 deleted file mode 100644 index 7c554d2778..0000000000 --- a/examples/rigid/log.20Mar22.rigid.infile.g++.1 +++ /dev/null @@ -1,312 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -Reading rigid body data for 4 bodies from file bodyinfo.dat -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722793e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156167 0 5269.5203 12.011611 - 9600 16738.549 -0.02681437 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589895 0 5269.4979 12.062708 - 9750 16738.013 0.13550156 0 5269.5101 11.407246 - 9800 16738.512 -0.011620325 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270436 0 5269.5237 11.395099 - 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.0882903 on 1 procs for 10000 steps with 81 atoms - -Performance: 978589.581 tau/day, 113262.683 timesteps/s -97.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0064583 | 0.0064583 | 0.0064583 | 0.0 | 7.31 -Neigh | 0.027186 | 0.027186 | 0.027186 | 0.0 | 30.79 -Comm | 0.0057041 | 0.0057041 | 0.0057041 | 0.0 | 6.46 -Output | 0.0020628 | 0.0020628 | 0.0020628 | 0.0 | 2.34 -Modify | 0.042816 | 0.042816 | 0.042816 | 0.0 | 48.49 -Other | | 0.004063 | | | 4.60 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.infile.g++.4 deleted file mode 100644 index 2e0535a69a..0000000000 --- a/examples/rigid/log.20Mar22.rigid.infile.g++.4 +++ /dev/null @@ -1,312 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -Reading rigid body data for 4 bodies from file bodyinfo.dat -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972279e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.004530741 0 5269.5178 12.01162 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156168 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589899 0 5269.4979 12.062708 - 9750 16738.013 0.13550149 0 5269.5101 11.407246 - 9800 16738.512 -0.011620325 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270428 0 5269.5237 11.395099 - 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.100422 on 4 procs for 10000 steps with 81 atoms - -Performance: 860368.209 tau/day, 99579.654 timesteps/s -99.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0014853 | 0.0020649 | 0.0026245 | 0.9 | 2.06 -Neigh | 0.0075956 | 0.0080256 | 0.0091971 | 0.8 | 7.99 -Comm | 0.037221 | 0.041059 | 0.043195 | 1.2 | 40.89 -Output | 0.0020995 | 0.0023594 | 0.003073 | 0.8 | 2.35 -Modify | 0.041318 | 0.042855 | 0.044215 | 0.5 | 42.67 -Other | | 0.004059 | | | 4.04 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.molecule.g++.1 deleted file mode 100644 index b4a4b28d92..0000000000 --- a/examples/rigid/log.20Mar22.rigid.molecule.g++.1 +++ /dev/null @@ -1,349 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.97228e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156166 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589897 0 5269.4979 12.062708 - 9750 16738.013 0.1355014 0 5269.5101 11.407246 - 9800 16738.512 -0.011620325 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270449 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984529 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.0974108 on 1 procs for 10000 steps with 81 atoms - -Performance: 886965.415 tau/day, 102658.034 timesteps/s -96.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0068054 | 0.0068054 | 0.0068054 | 0.0 | 6.99 -Bond | 0.00034618 | 0.00034618 | 0.00034618 | 0.0 | 0.36 -Neigh | 0.033076 | 0.033076 | 0.033076 | 0.0 | 33.96 -Comm | 0.0067938 | 0.0067938 | 0.0067938 | 0.0 | 6.97 -Output | 0.0022905 | 0.0022905 | 0.0022905 | 0.0 | 2.35 -Modify | 0.044027 | 0.044027 | 0.044027 | 0.0 | 45.20 -Other | | 0.004071 | | | 4.18 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.molecule.g++.4 deleted file mode 100644 index 63835843a0..0000000000 --- a/examples/rigid/log.20Mar22.rigid.molecule.g++.4 +++ /dev/null @@ -1,349 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722775e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934367 0 5269.4889 12.025288 - 3750 16737.731 0.20706556 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 - 8550 16738.483 -0.004530741 0 5269.5178 12.01162 - 8600 16738.474 -0.00076532815 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652439 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156171 0 5269.5203 12.011611 - 9600 16738.549 -0.026814373 0 5269.5163 12.011415 - 9650 16738.765 -0.10191525 0 5269.5092 12.011013 - 9700 16735.041 1.0589908 0 5269.4979 12.062708 - 9750 16738.013 0.13550139 0 5269.5101 11.407247 - 9800 16738.512 -0.011620323 0 5269.5201 11.394975 - 9850 16738.489 -0.00067270407 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984518 0 5269.5242 11.395086 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.102079 on 4 procs for 10000 steps with 81 atoms - -Performance: 846406.333 tau/day, 97963.696 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0015357 | 0.0020418 | 0.0024561 | 0.7 | 2.00 -Bond | 0.00030031 | 0.00031957 | 0.00034464 | 0.0 | 0.31 -Neigh | 0.0091719 | 0.0094934 | 0.010243 | 0.4 | 9.30 -Comm | 0.038015 | 0.041242 | 0.043481 | 1.1 | 40.40 -Output | 0.002223 | 0.0024412 | 0.0030738 | 0.7 | 2.39 -Modify | 0.040725 | 0.042557 | 0.043982 | 0.7 | 41.69 -Other | | 0.003983 | | | 3.90 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.1 b/examples/rigid/log.20Mar22.rigid.poems.g++.1 deleted file mode 100644 index 32edd0fd0c..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.438428 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699118 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538604 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.029 99.812844 0 3680.6511 -16.185479 - 1450 21771.107 52.159653 0 3680.6775 -2.4756655 - 1500 21520.949 93.503876 0 3680.3286 2.1023573 - 1550 21351.419 121.6813 0 3680.2511 5.5159876 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21873 0 3679.8247 -1.1045277 - 1700 18501.33 596.4807 0 3680.0357 -15.6798 - 1750 18563.64 587.34824 0 3681.2882 33.532308 - 1800 19110.175 494.82517 0 3679.8543 18.024074 - 1850 21364.178 119.23765 0 3679.9339 2.5290144 - 1900 20146.588 322.15509 0 3679.9197 5.7317299 - 1950 20692.676 231.25264 0 3680.0319 4.297803 - 2000 20943.902 189.11251 0 3679.7629 -22.643824 - 2050 19667.823 401.86882 0 3679.8394 3.6241915 - 2100 20280.125 299.81485 0 3679.8357 7.4804047 - 2150 19181.201 483.6306 0 3680.4975 22.63342 - 2200 21301.144 130.54014 0 3680.7308 4.7074288 - 2250 20484.876 266.98315 0 3681.1291 -8.6578278 - 2300 18648.161 573.07329 0 3681.1001 -5.2550954 - 2350 21515.748 95.243054 0 3681.201 -9.386512 - 2400 21462.551 104.18267 0 3681.2745 -29.46442 - 2450 20107.732 330.99437 0 3682.2831 35.38497 - 2500 20771.509 220.47713 0 3682.3953 -12.324858 - 2550 20499.887 265.58494 0 3682.2327 -22.713874 - 2600 21462.182 105.24427 0 3682.2747 -10.175788 - 2650 21004.949 181.51383 0 3682.3387 4.949195 - 2700 18673.552 570.45017 0 3682.7089 21.201437 - 2750 21257.562 139.198 0 3682.1249 -7.5793039 - 2800 21559.645 88.844759 0 3682.119 -6.2360467 - 2850 20865.227 204.46262 0 3682.0004 0.39575069 - 2900 19428.614 443.93293 0 3682.0352 12.796676 - 2950 19630.1 410.18487 0 3681.8681 -0.50572623 - 3000 19663.218 404.06316 0 3681.2661 6.0827093 - 3050 19087.572 500.8452 0 3682.1073 -6.3526476 - 3100 18229.94 643.77681 0 3682.1001 11.453637 - 3150 18927.492 527.51919 0 3682.1011 -1.662863 - 3200 18320.514 628.55895 0 3681.978 21.176126 - 3250 18204.677 647.96462 0 3682.0775 11.331521 - 3300 19231.978 477.02117 0 3682.3509 3.8381593 - 3350 18153.44 656.70376 0 3682.2772 15.135615 - 3400 17476.768 770.0598 0 3682.8545 -3.394312 - 3450 21097.531 166.17241 0 3682.4276 3.74301 - 3500 17605.784 747.54808 0 3681.8454 3.3420627 - 3550 19238.34 476.00608 0 3682.3961 1.1413836 - 3600 18155.288 656.57434 0 3682.4557 3.4360446 - 3650 18735.622 559.2377 0 3681.8413 28.760363 - 3700 15310.261 1134.4215 0 3686.1317 44.207018 - 3750 15377.116 1123.4786 0 3686.3313 7.6773215 - 3800 18798.895 549.05928 0 3682.2084 -12.905825 - 3850 18322.563 628.87744 0 3682.6379 -16.067793 - 3900 19963.049 355.65441 0 3682.8292 3.4694064 - 3950 19925.48 361.2507 0 3682.1641 5.0058567 - 4000 19141.423 492.41081 0 3682.648 -12.782769 - 4050 20022.241 345.61655 0 3682.6568 -3.0149905 - 4100 21348.635 124.95646 0 3683.0624 -4.85779 - 4150 21011.812 181.1132 0 3683.0819 -3.9526196 - 4200 20222.276 312.63945 0 3683.0187 -23.63437 - 4250 20957.757 189.77152 0 3682.731 -1.3712469 - 4300 20070.215 337.5751 0 3682.611 -6.8816517 - 4350 21322.437 129.09228 0 3682.8318 -6.9442178 - 4400 19440.445 442.77531 0 3682.8495 -0.11606236 - 4450 20964.516 188.67174 0 3682.7577 4.8533525 - 4500 13530.08 1428.5497 0 3683.563 12.333187 - 4550 20461.637 272.58882 0 3682.8616 4.5111943 - 4600 17072.994 836.58228 0 3682.0812 5.7611617 - 4650 18860.748 539.82027 0 3683.2782 -2.5558958 - 4700 18373.927 621.04093 0 3683.3621 5.4020702 - 4750 20321.437 296.63662 0 3683.5428 8.9571617 - 4800 21083.122 169.84086 0 3683.6946 10.566368 - 4850 20499.669 267.7012 0 3684.3128 4.2924237 - 4900 20308.781 300.38168 0 3685.1785 -12.396923 - 4950 21043.303 178.56295 0 3685.7801 3.8923762 - 5000 20718.383 232.52208 0 3685.5859 -12.43234 - 5050 21005.749 184.4363 0 3685.3945 -7.6463487 - 5100 20714.133 233.27745 0 3685.6329 -1.6944135 - 5150 19577.452 422.73035 0 3685.639 -21.831219 - 5200 14044.647 1343.9545 0 3684.729 -6.8407194 - 5250 19089.805 504.0893 0 3685.7235 4.05641 - 5300 21094.745 169.94699 0 3685.7378 -0.66593212 - 5350 19907.559 366.77598 0 3684.7024 1.5248525 - 5400 20382.81 289.13263 0 3686.2676 -11.919321 - 5450 19593.693 420.70548 0 3686.3209 -1.1568628 - 5500 20906.08 202.09801 0 3686.4447 -2.4284971 - 5550 16315.465 965.56973 0 3684.8138 -33.178221 - 5600 19714.57 400.39687 0 3686.1586 19.950231 - 5650 20561.724 259.54797 0 3686.502 8.2074524 - 5700 19349.502 460.7789 0 3685.6959 16.252649 - 5750 21006.818 185.56805 0 3686.7044 -11.96089 - 5800 20268.2 307.97547 0 3686.0089 17.322311 - 5850 21018.322 184.16179 0 3687.2154 -14.379909 - 5900 19695.647 404.57094 0 3687.1787 -20.718904 - 5950 21021.687 183.66311 0 3687.2776 -15.206081 - 6000 18947.535 529.30554 0 3687.2281 17.863927 - 6050 15272.373 1141.012 0 3686.4075 -0.43375666 - 6100 17766.197 721.75792 0 3682.7908 11.378913 - 6150 18612.573 584.06688 0 3686.1623 17.543241 - 6200 19005.155 518.97146 0 3686.4973 -16.223107 - 6250 20997.507 187.55499 0 3687.1394 -11.613546 - 6300 19639.901 413.58048 0 3686.8974 14.407136 - 6350 19580.399 423.02818 0 3686.428 -5.5801796 - 6400 14134.119 1332.0662 0 3687.7527 84.864425 - 6450 21598.824 87.419966 0 3687.224 -5.8358352 - 6500 18208.216 649.29108 0 3683.9938 -8.1510884 - 6550 19364.586 459.59813 0 3687.0291 -12.053563 - 6600 20710.927 235.11914 0 3686.9403 -1.0470193 - 6650 21132.334 165.08091 0 3687.1366 1.0785471 - 6700 20217.285 317.589 0 3687.1365 0.055447462 - 6750 21232.279 148.57412 0 3687.2873 -2.4551657 - 6800 20292.683 304.76539 0 3686.8793 -0.42311295 - 6850 19056.291 510.49927 0 3686.5478 6.9533826 - 6900 20429.82 282.23764 0 3687.2076 -4.2360112 - 6950 21281.278 140.27361 0 3687.1533 -0.07475261 - 7000 17173.388 824.54446 0 3686.7758 10.753828 - 7050 18079.7 674.56274 0 3687.846 12.975804 - 7100 16433.233 950.73904 0 3689.6112 -10.5102 - 7150 19033.335 515.59672 0 3687.8193 0.29109447 - 7200 17286.428 809.02352 0 3690.0948 2.3015698 - 7250 16811.962 886.6645 0 3688.6582 -7.4787512 - 7300 15992.461 1023.4849 0 3688.895 -5.2354222 - 7350 19211.451 487.63129 0 3689.5398 8.4351737 - 7400 19065.682 511.95629 0 3689.57 -12.47448 - 7450 21369.265 128.10098 0 3689.6451 2.2930546 - 7500 16807.109 888.64602 0 3689.8308 14.761969 - 7550 18063.046 679.21873 0 3689.7264 3.8950434 - 7600 17794.987 724.55404 0 3690.3851 14.379016 - 7650 17904.751 706.14354 0 3690.2688 23.813776 - 7700 19670.09 411.3021 0 3689.6504 14.099245 - 7750 18082.562 675.23975 0 3689.0001 15.788521 - 7800 17776.135 726.91445 0 3689.6037 6.9780735 - 7850 17062.575 846.33412 0 3690.0966 -8.9289256 - 7900 19059.2 513.07737 0 3689.6107 16.992843 - 7950 16269.685 978.48914 0 3690.1033 11.180179 - 8000 20115.278 336.91405 0 3689.4604 -6.4882518 - 8050 21173.72 161.15229 0 3690.1056 -2.2164491 - 8100 19238.235 484.42784 0 3690.8004 23.412709 - 8150 18438.4 617.58743 0 3690.6542 0.89156316 - 8200 21438.764 117.12721 0 3690.2546 -1.7193227 - 8250 21195.806 157.66607 0 3690.3003 3.820447 - 8300 21177.549 161.13702 0 3690.7286 0.94938203 - 8350 21060.267 181.06887 0 3691.1135 2.8179025 - 8400 20087.113 343.46206 0 3691.3142 8.1484473 - 8450 19298.478 474.87133 0 3691.2843 -16.239664 - 8500 21654.353 82.083485 0 3691.1423 -8.1464138 - 8550 19920.544 371.34795 0 3691.4386 20.765144 - 8600 21692.293 75.655154 0 3691.0373 -13.316763 - 8650 21231.322 151.8989 0 3690.4526 -11.388238 - 8700 19530.647 434.89585 0 3690.0037 2.7433786 - 8750 19720.63 403.07773 0 3689.8493 -6.416414 - 8800 21321.378 136.04091 0 3689.604 1.3661635 - 8850 19811.906 387.80489 0 3689.7893 3.704143 - 8900 19734.167 400.92444 0 3689.9523 2.5685155 - 8950 21076.459 177.18119 0 3689.9244 -11.939513 - 9000 20967.246 195.42966 0 3689.9707 2.0092705 - 9050 21122.023 169.62103 0 3689.9582 2.3791301 - 9100 20169.346 328.27229 0 3689.8299 -3.5017988 - 9150 21418.641 119.84513 0 3689.6187 2.486073 - 9200 20876.042 210.26452 0 3689.6048 -5.3839897 - 9250 21572.38 93.74407 0 3689.1407 -8.3676952 - 9300 20944.78 197.98577 0 3688.7824 1.3278314 - 9350 20706.52 237.48767 0 3688.5744 4.6944204 - 9400 16412.314 953.47251 0 3688.8581 26.134976 - 9450 20461.68 277.76243 0 3688.0424 17.647445 - 9500 20893.994 205.64261 0 3687.9749 -10.642418 - 9550 20503.447 270.63504 0 3687.8761 -17.769897 - 9600 19677.799 408.05887 0 3687.692 -2.7938604 - 9650 17480.971 774.1855 0 3687.6806 0.59827043 - 9700 17799.126 721.50817 0 3688.0292 44.387928 - 9750 20443.384 280.16837 0 3687.399 3.0619324 - 9800 20545.255 263.40108 0 3687.6102 3.6229381 - 9850 20722.819 233.57142 0 3687.3745 0.86462694 - 9900 21128.462 165.09767 0 3686.508 -6.9636843 - 9950 21343.307 130.46714 0 3687.685 -9.7382705 - 10000 20623.887 250.37866 0 3687.6932 2.7529835 -Loop time of 2.27157 on 1 procs for 10000 steps with 81 atoms - -Performance: 38035.351 tau/day, 4402.240 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.092926 | 0.092926 | 0.092926 | 0.0 | 4.09 -Neigh | 0.076362 | 0.076362 | 0.076362 | 0.0 | 3.36 -Comm | 0.0069691 | 0.0069691 | 0.0069691 | 0.0 | 0.31 -Output | 0.0037444 | 0.0037444 | 0.0037444 | 0.0 | 0.16 -Modify | 2.0832 | 2.0832 | 2.0832 | 0.0 | 91.71 -Other | | 0.00841 | | | 0.37 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 62 ave 62 max 62 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 905 ave 905 max 905 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 905 -Ave neighs/atom = 11.17284 -Neighbor list builds = 991 -Dangerous builds = 927 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.4 b/examples/rigid/log.20Mar22.rigid.poems.g++.4 deleted file mode 100644 index 7e651a7aaf..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.4384281 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699115 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538606 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.03 99.812843 0 3680.6511 -16.185479 - 1450 21771.107 52.159652 0 3680.6775 -2.4756656 - 1500 21520.949 93.503872 0 3680.3286 2.1023574 - 1550 21351.419 121.68131 0 3680.2511 5.5159875 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21877 0 3679.8247 -1.104524 - 1700 18501.329 596.48084 0 3680.0357 -15.679806 - 1750 18563.639 587.34841 0 3681.2882 33.532316 - 1800 19110.174 494.82524 0 3679.8543 18.024079 - 1850 21364.178 119.23767 0 3679.9339 2.5290075 - 1900 20146.588 322.15506 0 3679.9197 5.7317368 - 1950 20692.674 231.25288 0 3680.0319 4.2977982 - 2000 20943.904 189.11229 0 3679.7629 -22.643749 - 2050 19667.815 401.87016 0 3679.8394 3.6240972 - 2100 20280.109 299.81759 0 3679.8357 7.4803647 - 2150 19181.146 483.63975 0 3680.4974 22.634167 - 2200 21301.194 130.53171 0 3680.7308 4.7072523 - 2250 20484.79 266.99736 0 3681.1291 -8.6583002 - 2300 18648.002 573.09962 0 3681.1 -5.2548835 - 2350 21515.851 95.225745 0 3681.2009 -9.3875216 - 2400 21462.37 104.21272 0 3681.2744 -29.459857 - 2450 20108.034 330.94394 0 3682.2829 35.37058 - 2500 20771.818 220.42545 0 3682.3951 -12.318936 - 2550 20502.815 265.09577 0 3682.2316 -22.726822 - 2600 21462.006 105.2733 0 3682.2744 -10.180394 - 2650 21009.656 180.72738 0 3682.3367 4.9580828 - 2700 18680.012 569.37179 0 3682.7071 21.114114 - 2750 21256.19 139.42201 0 3682.1203 -7.4744399 - 2800 21552.267 90.071446 0 3682.1159 -6.2906304 - 2850 20879.958 202.00905 0 3682.0021 0.57990903 - 2900 19018.645 512.35214 0 3682.1262 13.883084 - 2950 19819.365 378.55747 0 3681.785 -0.7348943 - 3000 20269.229 303.35149 0 3681.5563 6.3088075 - 3050 19236.727 475.99457 0 3682.1158 -10.703575 - 3100 18391.55 616.96976 0 3682.2281 9.850079 - 3150 20258.563 305.82076 0 3682.248 7.1951283 - 3200 20716.384 229.15502 0 3681.8856 2.9042294 - 3250 18662.237 572.0784 0 3682.4512 9.2108597 - 3300 19162.278 488.60646 0 3682.3195 3.3306562 - 3350 21235.679 142.98279 0 3682.2626 0.29397483 - 3400 17677.053 736.09247 0 3682.2679 32.75269 - 3450 20852.392 206.65618 0 3682.0548 -4.8319056 - 3500 21182.918 151.46754 0 3681.9539 -5.6330382 - 3550 20589.85 250.40724 0 3682.049 12.582133 - 3600 20973.659 186.28043 0 3681.8903 10.935266 - 3650 17838.632 707.92145 0 3681.0268 -17.200926 - 3700 21538.002 92.744409 0 3682.4114 -0.72124229 - 3750 21390.294 117.90865 0 3682.9576 -7.8431786 - 3800 17921.046 696.50311 0 3683.344 -9.4641531 - 3850 20356.471 290.22624 0 3682.9715 2.4593463 - 3900 20374.077 287.10249 0 3682.782 -1.9519082 - 3950 20563.915 255.29993 0 3682.619 -6.124649 - 4000 20991.467 184.76183 0 3683.3397 1.8954961 - 4050 17805.623 716.24698 0 3683.8509 -20.454944 - 4100 19916.389 363.86301 0 3683.2611 -0.27912557 - 4150 19221.623 480.01232 0 3683.6161 -11.562492 - 4200 20526.82 261.78571 0 3682.9224 -3.9522917 - 4250 20922.813 196.1799 0 3683.3154 0.11947446 - 4300 19956.66 357.78133 0 3683.8914 19.156093 - 4350 19735.73 394.45981 0 3683.7482 14.865775 - 4400 21702.656 67.099805 0 3684.2092 -13.502538 - 4450 18163.055 656.97231 0 3684.1482 -0.6243111 - 4500 17477.718 771.25976 0 3684.2127 -0.4664004 - 4550 20676.507 238.19814 0 3684.2827 -19.444969 - 4600 17322.922 796.77058 0 3683.9242 27.003966 - 4650 11905.158 1704.9151 0 3689.1082 15.574169 - 4700 18689.079 569.80982 0 3684.6563 -14.67311 - 4750 19821.745 381.01914 0 3684.6433 5.0436795 - 4800 20621.335 247.96269 0 3684.8518 -16.407263 - 4850 21923.814 30.965964 0 3684.935 -13.418244 - 4900 18840.555 544.41538 0 3684.5079 11.005357 - 4950 15366.601 1124.2481 0 3685.3482 17.412375 - 5000 18274.314 639.01311 0 3684.732 5.3261109 - 5050 21173.687 155.83673 0 3684.7845 5.4056809 - 5100 21738.219 61.75201 0 3684.7885 -2.631945 - 5150 16597.949 918.84841 0 3685.1732 -10.124101 - 5200 20752.758 225.95919 0 3684.7522 -5.2441372 - 5250 17652.088 741.2645 0 3683.2793 2.0080739 - 5300 19907.523 366.53115 0 3684.4516 8.4266792 - 5350 20104.189 334.14522 0 3684.8433 17.21925 - 5400 21499.848 101.71631 0 3685.0243 -6.1103541 - 5450 21203.533 151.14574 0 3685.068 -5.9468503 - 5500 21076.513 172.45652 0 3685.2088 5.1418181 - 5550 20158.398 325.56609 0 3685.2992 -1.6486034 - 5600 20787.836 221.19563 0 3685.835 -10.66805 - 5650 19687.154 404.77204 0 3685.9644 -23.49128 - 5700 20419.311 282.58328 0 3685.8017 -0.52808211 - 5750 19738.522 395.95893 0 3685.7126 1.3889817 - 5800 18300.025 635.66905 0 3685.6732 23.490447 - 5850 20585.004 255.02032 0 3685.8543 -0.20699939 - 5900 20373.839 290.15881 0 3685.7987 -7.9712187 - 5950 18163.832 659.91192 0 3687.2173 5.4494586 - 6000 21049.247 177.43029 0 3685.6382 2.9138342 - 6050 21239.803 145.77613 0 3685.7433 -1.4927769 - 6100 20686.361 237.86454 0 3685.5913 -0.95516297 - 6150 20461.754 275.31546 0 3685.6079 -3.4166412 - 6200 19264.208 474.73017 0 3685.4316 11.750757 - 6250 21180.813 155.31746 0 3685.4529 2.8188219 - 6300 21047.543 177.4394 0 3685.3632 1.8641486 - 6350 20232.576 313.17716 0 3685.2731 2.8150209 - 6400 20185.616 321.33454 0 3685.6038 -3.8697311 - 6450 18969.632 523.95865 0 3685.5639 0.6725512 - 6500 17592.574 753.49959 0 3685.5952 -1.2557393 - 6550 21279.049 138.42524 0 3684.9335 -1.208945 - 6600 21408.457 116.4143 0 3684.4904 -1.5332953 - 6650 19758.218 391.17316 0 3684.2096 1.8511312 - 6700 20766.943 223.44631 0 3684.6036 -2.3672623 - 6750 20399.631 284.09914 0 3684.0377 -5.4089876 - 6800 21296.628 135.14662 0 3684.5847 -3.8442549 - 6850 20641.481 244.4451 0 3684.692 1.4020639 - 6900 20852.81 209.23009 0 3684.6984 1.8512104 - 6950 20940.555 194.66882 0 3684.7614 -6.554676 - 7000 19496.988 435.28199 0 3684.78 -15.120269 - 7050 19796.829 385.04227 0 3684.5138 -4.1068804 - 7100 19945.264 360.42431 0 3684.635 -4.0629042 - 7150 19431.123 446.12911 0 3684.6497 -6.8321751 - 7200 16864.851 873.80043 0 3684.6089 14.309069 - 7250 20438.75 277.85982 0 3684.3181 -11.41223 - 7300 17688.684 734.01576 0 3682.1298 35.938373 - 7350 21573.419 88.63421 0 3684.204 -3.9032749 - 7400 21198.486 150.72249 0 3683.8034 -7.1477117 - 7450 20586.708 252.93928 0 3684.0572 -7.6634645 - 7500 21815.377 48.180377 0 3684.0765 0.97457507 - 7550 17791.352 718.87564 0 3684.101 28.248235 - 7600 21828.874 45.928597 0 3684.0742 -0.25814944 - 7650 20827.961 212.35674 0 3683.6835 -3.4083384 - 7700 21319.176 130.43547 0 3683.6315 -12.434856 - 7750 20127.904 328.69643 0 3683.3471 -16.975711 - 7800 21741.772 59.679206 0 3683.3078 3.6261863 - 7850 19612.334 414.37418 0 3683.0964 1.3763274 - 7900 20071.318 337.74624 0 3682.9658 -0.40982763 - 7950 17925.664 695.29582 0 3682.9065 17.104439 - 8000 19125.978 492.76383 0 3680.4268 10.807662 - 8050 20233.848 310.42681 0 3682.7347 13.386237 - 8100 20551.619 257.86699 0 3683.1368 -13.97515 - 8150 21578.323 86.88362 0 3683.2708 -9.6811587 - 8200 21154.833 157.72897 0 3683.5344 0.62312375 - 8250 21321.143 129.83967 0 3683.3636 1.9536438 - 8300 21041.696 176.04177 0 3682.9911 4.7475567 - 8350 19883.39 369.32649 0 3683.2247 -7.0959328 - 8400 21626.067 79.062992 0 3683.4075 -14.919059 - 8450 21375.201 120.86836 0 3683.4019 -5.3461514 - 8500 20281.059 303.10304 0 3683.2796 3.7975093 - 8550 21170.533 154.48432 0 3682.9065 -1.1568561 - 8600 17754.931 724.00158 0 3683.1568 14.15254 - 8650 20685.478 235.65879 0 3683.2385 -5.2694179 - 8700 21489.165 101.90509 0 3683.4326 -4.2510612 - 8750 21106.682 165.41638 0 3683.1968 -3.9186708 - 8800 19149.516 491.5843 0 3683.1702 -11.419849 - 8850 21451.865 108.1814 0 3683.4923 -7.8256219 - 8900 19567.4 421.81206 0 3683.0454 -0.71997056 - 8950 20934.097 194.48033 0 3683.4965 -7.0106879 - 9000 18531.559 595.25957 0 3683.8528 3.7449399 - 9050 18868.821 537.22549 0 3682.029 9.9926092 - 9100 19972.527 354.73119 0 3683.4858 -0.30871263 - 9150 19641.651 409.18618 0 3682.7947 -1.3036238 - 9200 20019.08 346.19657 0 3682.7099 6.7425386 - 9250 19259.286 473.04973 0 3682.9308 -24.120659 - 9300 21597.757 82.971857 0 3682.598 -13.748483 - 9350 19348.379 457.23576 0 3681.9656 3.1571402 - 9400 19129.588 493.35235 0 3681.617 8.6293783 - 9450 20337.025 291.20959 0 3680.7138 6.8590795 - 9500 20581.788 249.65891 0 3679.9569 -18.892836 - 9550 19482.069 433.0077 0 3680.0192 23.029778 - 9600 19182.794 482.96871 0 3680.101 -11.081731 - 9650 20086.771 332.5311 0 3680.3263 -18.939681 - 9700 20274.046 300.98818 0 3679.9959 6.7538762 - 9750 18743.595 555.08045 0 3679.0129 8.2757138 - 9800 19464.311 435.66288 0 3679.7148 7.0528759 - 9850 21249.848 138.27382 0 3679.9152 -10.847402 - 9900 21156.214 153.84621 0 3679.8819 -7.8359674 - 9950 21643.134 72.547515 0 3679.7365 -10.507744 - 10000 19587.948 414.64942 0 3679.3075 6.1173553 -Loop time of 2.36879 on 4 procs for 10000 steps with 81 atoms - -Performance: 36474.344 tau/day, 4221.568 timesteps/s -99.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.005348 | 0.024925 | 0.056071 | 12.2 | 1.05 -Neigh | 0.0075012 | 0.022046 | 0.043933 | 9.3 | 0.93 -Comm | 0.13135 | 0.16461 | 0.1917 | 5.9 | 6.95 -Output | 0.0036298 | 0.004271 | 0.0056384 | 1.2 | 0.18 -Modify | 2.1147 | 2.1322 | 2.1418 | 0.7 | 90.01 -Other | | 0.02072 | | | 0.87 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 41 ave 78 max 11 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 193.5 ave 774 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 774 -Ave neighs/atom = 9.5555556 -Neighbor list builds = 989 -Dangerous builds = 915 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.1 b/examples/rigid/log.20Mar22.rigid.poems2.g++.1 deleted file mode 100644 index 57f2040a67..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems2.g++.1 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086359 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977442 0 3904.4178 9.0928158 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47231 0 3902.9213 0.6921524 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05177 0 3902.1317 4.6838621 - 850 19932.48 210.71175 0 3901.9118 3.4716043 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.874422 - 1200 20767.681 56.717094 0 3902.5839 -34.817444 - 1250 20625.583 82.586399 0 3902.1388 11.697329 - 1300 20690.013 71.006478 0 3902.4903 -29.292777 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.559 244.81785 0 3902.8844 6.7138514 - 1450 15690.149 998.342 0 3903.9252 48.124557 - 1500 20234.455 155.92516 0 3903.0465 13.17221 - 1550 20779.631 55.063009 0 3903.1428 -2.639045 - 1600 20642.753 80.233905 0 3902.9659 -2.4688467 - 1650 18785.696 423.90402 0 3902.7365 -5.6466663 - 1700 20965.076 20.760444 0 3903.182 -0.45364296 - 1750 18935.406 396.96067 0 3903.5173 25.913302 - 1800 20581.559 91.756972 0 3903.1567 3.8217234 - 1850 20616.946 85.184849 0 3903.1378 4.1907972 - 1900 16602.053 828.40949 0 3902.8637 -0.49505122 - 1950 20175.526 166.53362 0 3902.7421 5.603825 - 2000 20261.924 150.39322 0 3902.6014 -1.196958 - 2050 20170.339 167.40504 0 3902.6531 -0.80849882 - 2100 19820.132 231.26755 0 3901.6624 3.1476607 - 2150 20666.19 75.838461 0 3902.9106 0.53899287 - 2200 19873.51 222.53286 0 3902.8124 7.9310276 - 2250 18548.063 467.69698 0 3902.5235 16.905356 - 2300 20616.61 84.762399 0 3902.6531 -6.7872951 - 2350 18167.738 538.13635 0 3902.5322 -11.458285 - 2400 20120.227 177.01954 0 3902.9875 -1.2593018 - 2450 20436.599 118.32469 0 3902.8801 -6.5989174 - 2500 18919.923 400.26361 0 3903.9531 32.37476 - 2550 19675.809 259.77151 0 3903.4398 19.437327 - 2600 19739.842 247.86388 0 3903.3901 -7.519784 - 2650 20557.026 96.530313 0 3903.387 0.60211646 - 2700 20666.602 76.099892 0 3903.2484 0.16825503 - 2750 20924.585 28.453883 0 3903.3771 2.4227171 - 2800 20360.659 132.8596 0 3903.352 4.1440877 - 2850 20783.475 54.518625 0 3903.3102 -0.57312067 - 2900 20456.181 115.03745 0 3903.2191 -20.118887 - 2950 20779.493 55.321394 0 3903.3756 -0.26783079 - 3000 20011.867 197.30216 0 3903.2035 -1.4704201 - 3050 20741.875 62.208723 0 3903.2966 -7.5432815 - 3100 21001.754 14.148298 0 3903.362 2.9676438 - 3150 20244.086 154.44639 0 3903.3512 -1.9071213 - 3200 20639.615 81.136426 0 3903.2873 1.4826467 - 3250 20735.244 63.529571 0 3903.3895 2.1127055 - 3300 20142.891 173.22282 0 3903.3878 4.7739415 - 3350 19963.765 206.21899 0 3903.2126 5.5410771 - 3400 16628.667 824.13627 0 3903.519 36.087673 - 3450 19228.218 342.81569 0 3903.5968 3.1057274 - 3500 19759.293 244.57876 0 3903.707 2.2339557 - 3550 19853.21 227.06362 0 3903.584 -1.0882119 - 3600 19673.516 260.64854 0 3903.8923 -10.63775 - 3650 19619.238 270.5393 0 3903.7316 -6.3746003 - 3700 20756.865 59.790243 0 3903.6542 -8.3015766 - 3750 20265.025 150.47347 0 3903.2559 -5.7284695 - 3800 20944.683 24.669276 0 3903.3142 -0.070552298 - 3850 19344.831 320.59492 0 3902.971 13.040749 - 3900 19978.209 203.00247 0 3902.6708 0.15638133 - 3950 19864.118 224.19359 0 3902.734 0.453229 - 4000 17606.216 642.71493 0 3903.1252 -12.656002 - 4050 18017.895 566.54102 0 3903.1883 12.133906 - 4100 20092.963 182.17593 0 3903.095 7.7445947 - 4150 20555.337 96.395074 0 3902.939 -6.5429752 - 4200 20709.781 67.869199 0 3903.0138 -2.8653003 - 4250 18956.203 392.20748 0 3902.6155 -1.6249728 - 4300 17816.204 603.72704 0 3903.0241 23.089239 - 4350 18979.742 388.04678 0 3902.8138 3.2511108 - 4400 20272.085 148.82367 0 3902.9135 1.9518268 - 4450 18820.003 417.74789 0 3902.9337 6.3979299 - 4500 19991.936 200.50131 0 3902.7117 3.5118553 - 4550 20915.092 29.663898 0 3902.8291 -2.3174641 - 4600 20690.37 71.125087 0 3902.6752 -12.008575 - 4650 18893.76 404.50849 0 3903.3529 15.006184 - 4700 18611.123 456.1263 0 3902.6306 -5.3574892 - 4750 20497.821 106.5856 0 3902.4784 0.85039837 - 4800 20803.214 50.120522 0 3902.5675 3.8610873 - 4850 18849.598 411.72635 0 3902.3927 9.2029058 - 4900 18121.714 546.68042 0 3902.5533 9.4522272 - 4950 20377.499 128.99323 0 3902.6041 5.3825395 - 5000 20686.114 72.039749 0 3902.8016 -5.706271 - 5050 20180.449 165.51368 0 3902.634 -16.418461 - 5100 20274.947 148.36657 0 3902.9864 -5.6668309 - 5150 18042.324 560.74137 0 3901.9125 3.6791541 - 5200 20794.666 52.204446 0 3903.0685 -1.4517721 - 5250 19073.55 371.18834 0 3903.3272 -13.457439 - 5300 20821.412 47.364313 0 3903.1813 2.258098 - 5350 20583.073 91.271191 0 3902.9513 5.4323985 - 5400 20490.967 108.41184 0 3903.0353 4.122905 - 5450 18141.79 543.66874 0 3903.2594 -0.19951075 - 5500 20274.012 148.55528 0 3903.002 5.0489974 - 5550 17806.237 605.43454 0 3902.8858 43.80619 - 5600 20999.825 14.341937 0 3903.1983 1.0879933 - 5650 20930.929 27.025347 0 3903.1234 -7.0860209 - 5700 20677.725 73.853093 0 3903.0614 2.6864775 - 5750 20521.264 102.87509 0 3903.1092 2.6940548 - 5800 20792.571 52.596021 0 3903.0721 1.2910217 - 5850 20518.674 103.26595 0 3903.0204 -9.2547271 - 5900 18417.885 491.66696 0 3902.3865 -12.049357 - 5950 17243.837 709.37858 0 3902.6817 -6.2357188 - 6000 20262.525 149.56918 0 3901.8885 -0.28964823 - 6050 19883.554 219.14043 0 3901.2801 2.3071707 - 6100 16548.178 838.47869 0 3902.956 -11.715644 - 6150 19601.177 272.14674 0 3901.9944 -0.9008056 - 6200 20499.796 106.2363 0 3902.4949 0.79071424 - 6250 19601.106 272.50139 0 3902.3359 -1.9306693 - 6300 17210.685 712.70535 0 3899.8692 4.8890923 - 6350 19911.896 214.91041 0 3902.2985 12.691129 - 6400 18834.642 411.87123 0 3899.7678 -1.9447856 - 6450 20216.311 158.39781 0 3902.1591 2.6009109 - 6500 20452.025 114.97122 0 3902.3832 0.14644416 - 6550 19142.589 357.34097 0 3902.2649 2.8968485 - 6600 20412.915 122.08784 0 3902.2573 3.1343105 - 6650 17317.867 699.39994 0 3906.4123 42.25563 - 6700 20479.771 109.8036 0 3902.3537 1.3520625 - 6750 20306.902 142.12484 0 3902.6623 2.2032106 - 6800 20755.367 58.994834 0 3902.5814 -0.90518094 - 6850 20471.259 111.7197 0 3902.6936 1.5799331 - 6900 20702.025 69.15032 0 3902.8586 9.3910371 - 6950 20477.695 110.34414 0 3902.5099 1.8181164 - 7000 20560.727 95.057704 0 3902.5998 -15.686006 - 7050 20336.675 136.39386 0 3902.4448 1.3704327 - 7100 20757.399 58.950153 0 3902.913 -6.4250981 - 7150 20870.958 38.095649 0 3903.088 -4.1962169 - 7200 20706.869 68.489134 0 3903.0944 2.8322659 - 7250 20386.713 127.7432 0 3903.0604 6.0287391 - 7300 18391.773 497.21001 0 3903.0939 19.202343 - 7350 20178.898 166.4993 0 3903.3322 1.5682417 - 7400 16858.704 781.78682 0 3903.7691 21.317514 - 7450 17509.513 660.71963 0 3903.2221 -5.9456143 - 7500 19974.601 204.20412 0 3903.2043 -0.69202711 - 7550 20917.053 29.73415 0 3903.2626 -3.9962577 - 7600 20923.518 28.482703 0 3903.2083 -1.9016251 - 7650 20549.528 97.630612 0 3903.0987 3.5512257 - 7700 20861.441 39.903885 0 3903.1337 2.4426264 - 7750 18843.349 413.64461 0 3903.1537 2.677739 - 7800 20616.054 85.214364 0 3903.0021 3.9639004 - 7850 16478.851 851.93376 0 3903.5728 7.3763128 - 7900 20312.115 141.35103 0 3902.8539 4.6707271 - 7950 20389.623 127.16589 0 3903.0219 3.4414001 - 8000 20452.117 115.30715 0 3902.7362 -1.0162528 - 8050 20857.093 40.791886 0 3903.2164 -15.150068 - 8100 19817.543 233.4997 0 3903.415 0.89346046 - 8150 18649.521 449.9112 0 3903.5262 -0.40053588 - 8200 19619.276 270.37616 0 3903.5754 5.5161492 - 8250 20393.176 127.01336 0 3903.5275 2.122613 - 8300 19145.912 358.00424 0 3903.5435 3.863924 - 8350 19636.311 267.17226 0 3903.5262 -7.1496084 - 8400 19086.332 368.86693 0 3903.3729 7.0968952 - 8450 19494.416 292.89527 0 3902.9723 3.1750935 - 8500 20041.919 191.77756 0 3903.244 0.95215503 - 8550 20357.561 133.15478 0 3903.0736 -0.14020152 - 8600 16998.797 756.07003 0 3903.9954 -16.724408 - 8650 20853.26 41.386996 0 3903.1017 -3.2612965 - 8700 20767.768 57.360884 0 3903.2438 1.1157649 - 8750 20752.546 60.106518 0 3903.1705 0.39130547 - 8800 20574.407 92.99798 0 3903.0734 0.61728166 - 8850 20326.99 138.94203 0 3903.1995 -1.9434522 - 8900 17408.108 679.53222 0 3903.2559 21.935371 - 8950 20471.21 112.2721 0 3903.2368 1.8142747 - 9000 19129.591 360.35257 0 3902.8694 4.5786395 - 9050 20439.668 117.89541 0 3903.0191 2.5585685 - 9100 20780.375 54.788664 0 3903.0062 3.8312459 - 9150 19904.559 216.61504 0 3902.6445 12.150414 - 9200 20961.295 21.52065 0 3903.2419 -0.2120699 - 9250 19315.252 326.44175 0 3903.3402 -19.740867 - 9300 20653.002 78.77764 0 3903.4076 -7.8068233 - 9350 18961.572 391.20947 0 3902.6117 -12.660843 - 9400 16262.179 892.67633 0 3904.191 22.2435 - 9450 17064.394 743.33301 0 3903.406 36.139436 - 9500 18075.588 555.06436 0 3902.3954 24.598176 - 9550 20487.738 109.06287 0 3903.0884 2.6320759 - 9600 20358.609 133.36993 0 3903.4828 0.76449113 - 9650 19849.022 228.46312 0 3904.208 9.5547064 - 9700 20448.112 116.8757 0 3903.5632 -1.0845697 - 9750 20472.78 112.51661 0 3903.7722 -0.30676738 - 9800 19491.99 293.35361 0 3902.9814 -20.10857 - 9850 19895.603 218.42479 0 3902.7957 -0.18235641 - 9900 19704.336 254.55068 0 3903.5019 14.553184 - 9950 17689.462 627.9788 0 3903.805 4.9918088 - 10000 20184.205 165.29396 0 3903.1097 2.9472364 -Loop time of 2.2898 on 1 procs for 10000 steps with 81 atoms - -Performance: 37732.583 tau/day, 4367.197 timesteps/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.053341 | 0.053341 | 0.053341 | 0.0 | 2.33 -Neigh | 0.056174 | 0.056174 | 0.056174 | 0.0 | 2.45 -Comm | 0.0087028 | 0.0087028 | 0.0087028 | 0.0 | 0.38 -Output | 0.0036774 | 0.0036774 | 0.0036774 | 0.0 | 0.16 -Modify | 2.1598 | 2.1598 | 2.1598 | 0.0 | 94.32 -Other | | 0.008128 | | | 0.35 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 113 ave 113 max 113 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 582 ave 582 max 582 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 582 -Ave neighs/atom = 7.1851852 -Neighbor list builds = 993 -Dangerous builds = 950 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.4 b/examples/rigid/log.20Mar22.rigid.poems2.g++.4 deleted file mode 100644 index 89585cd109..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems2.g++.4 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086358 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977039 0 3904.4174 9.0928122 - 250 19552.211 283.50525 0 3904.285 15.670466 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717095 0 3902.5839 -34.817444 - 1250 20625.583 82.586198 0 3902.1386 11.697328 - 1300 20690.013 71.006478 0 3902.4903 -29.29278 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.56 244.81784 0 3902.8844 6.7138497 - 1450 15690.149 998.34213 0 3903.9252 48.124569 - 1500 20234.455 155.92516 0 3903.0465 13.172207 - 1550 20779.631 55.063019 0 3903.1428 -2.6390455 - 1600 20642.753 80.233821 0 3902.9659 -2.4688431 - 1650 18785.698 423.90364 0 3902.7365 -5.6466892 - 1700 20965.076 20.760451 0 3903.182 -0.45366172 - 1750 18935.412 396.95958 0 3903.5173 25.913174 - 1800 20581.554 91.757912 0 3903.1567 3.8218442 - 1850 20616.949 85.184789 0 3903.1382 4.1907933 - 1900 16601.896 828.43849 0 3902.8638 -0.49468175 - 1950 20175.564 166.52646 0 3902.7421 5.6035728 - 2000 20262.525 150.28224 0 3902.6017 -1.1967705 - 2050 20168.994 167.65314 0 3902.6521 -0.80723928 - 2100 19810.955 232.96524 0 3901.6605 3.1936531 - 2150 20667.232 75.645145 0 3902.9103 0.54812734 - 2200 19863.772 224.34646 0 3902.8228 7.9294465 - 2250 18808.943 419.2084 0 3902.3461 14.344526 - 2300 20573.665 92.761842 0 3902.6999 -6.7671703 - 2350 19075.104 369.95414 0 3902.3809 -9.5353568 - 2400 20273.873 148.53775 0 3902.9586 -1.93796 - 2450 20087.769 182.30216 0 3902.2593 2.131796 - 2500 20711.602 67.530554 0 3903.0124 2.6280244 - 2550 19971.224 204.75926 0 3903.134 3.1760522 - 2600 20620.084 85.027145 0 3903.5612 -0.92888063 - 2650 19737.546 248.65474 0 3903.7559 -3.3218688 - 2700 20650.724 79.522243 0 3903.7303 -7.5918025 - 2750 19863.245 225.2505 0 3903.6292 9.2140221 - 2800 18992.457 386.73547 0 3903.8572 2.6244537 - 2850 18703.899 440.48356 0 3904.1685 14.561348 - 2900 17939.805 581.74599 0 3903.932 -8.0863089 - 2950 20867.516 39.38186 0 3903.7367 3.0985423 - 3000 19767.994 242.8847 0 3903.6243 1.5943109 - 3050 20397.448 126.31591 0 3903.6212 -0.14982775 - 3100 20978.114 19.126395 0 3903.9623 -9.6797253 - 3150 18303.556 513.8514 0 3903.3989 4.5940322 - 3200 19156.505 356.46608 0 3903.9671 10.071308 - 3250 17484.205 666.52199 0 3904.3377 -4.1641768 - 3300 18069.94 557.75947 0 3904.0447 11.868707 - 3350 20855.645 41.964632 0 3904.1212 5.4186293 - 3400 18011.986 568.76255 0 3904.3155 25.262783 - 3450 18669.69 446.92755 0 3904.2776 -4.194499 - 3500 20248.799 154.22147 0 3903.9991 3.9211572 - 3550 20226.024 158.64726 0 3904.2072 1.5299114 - 3600 20267.02 151.25631 0 3904.4082 -8.9821729 - 3650 20522.946 103.65382 0 3904.1994 -14.433796 - 3700 20892.319 35.294614 0 3904.2426 -21.264596 - 3750 19942.202 211.02993 0 3904.0304 -1.6428817 - 3800 20421.678 122.08118 0 3903.8734 1.7137935 - 3850 17899.53 588.82593 0 3903.5536 -24.450276 - 3900 20721.119 66.486999 0 3903.7312 -7.1772088 - 3950 20946.484 24.799445 0 3903.778 -0.4028037 - 4000 20985.362 17.608355 0 3903.7865 4.7522266 - 4050 19969.779 205.46466 0 3903.5719 18.941639 - 4100 20479.578 110.56561 0 3903.08 2.3715952 - 4150 18110.701 549.53348 0 3903.367 1.133321 - 4200 19321.098 325.58216 0 3903.5634 -3.7574942 - 4250 20734.436 63.87616 0 3903.5865 0.48350623 - 4300 19446.823 302.1727 0 3903.4362 4.0462392 - 4350 20494.669 108.1918 0 3903.501 2.9789077 - 4400 20379.244 129.61413 0 3903.5482 4.0881089 - 4450 19710.564 253.4251 0 3903.5295 5.3334683 - 4500 20744.753 61.785082 0 3903.406 4.0015409 - 4550 19948.024 208.76984 0 3902.8484 2.705423 - 4600 18367.368 502.69569 0 3904.0602 21.476471 - 4650 20559.367 96.133242 0 3903.4234 2.2549454 - 4700 20940.135 25.547808 0 3903.3505 -8.9042666 - 4750 20128.703 175.82088 0 3903.3584 -8.1450176 - 4800 20632.27 82.543887 0 3903.3347 -0.55649542 - 4850 19864.539 224.63792 0 3903.2563 7.1553461 - 4900 19332.037 323.15561 0 3903.1625 17.020214 - 4950 19055.575 373.68069 0 3902.4908 10.149457 - 5000 20219.484 159.21383 0 3903.5627 3.1806346 - 5050 17557.761 652.32864 0 3903.7659 10.733736 - 5100 20615.337 85.795304 0 3903.4503 -3.6035636 - 5150 20759.853 59.155843 0 3903.573 2.0152286 - 5200 20082.007 184.39375 0 3903.2839 -5.3745109 - 5250 18689.521 442.59842 0 3903.6208 -9.8911164 - 5300 20038.496 192.34221 0 3903.1749 -2.1437039 - 5350 19897.455 218.70142 0 3903.4154 0.64582116 - 5400 18732.385 434.21543 0 3903.1755 12.98676 - 5450 19831.487 230.79099 0 3903.2886 11.439958 - 5500 20079.89 184.6953 0 3903.1935 4.0906279 - 5550 20453.497 115.47128 0 3903.1559 7.8844436 - 5600 16673.041 815.52661 0 3903.1267 -20.17797 - 5650 19691.378 256.6412 0 3903.1928 3.7103317 - 5700 20345.743 135.29997 0 3903.0302 5.6373816 - 5750 20769.613 56.906603 0 3903.1312 -17.564762 - 5800 20713.369 67.38314 0 3903.1922 -5.340631 - 5850 20799.947 51.348865 0 3903.1909 -2.7827653 - 5900 19581.933 273.51588 0 3899.7997 12.347375 - 5950 20444.438 116.909 0 3902.9161 -0.74896654 - 6000 18970.948 389.99664 0 3903.1352 26.642912 - 6050 19414.753 307.13217 0 3902.4568 25.86316 - 6100 20780.042 54.586474 0 3902.7424 1.5387425 - 6150 20885.872 35.091585 0 3902.8456 -8.251884 - 6200 19825.81 231.40943 0 3902.8558 6.7196589 - 6250 20578.278 92.255994 0 3903.0481 -5.9647091 - 6300 20093.43 181.8699 0 3902.8754 -9.9906069 - 6350 20605.294 87.180289 0 3902.9755 -3.5643876 - 6400 19737.257 247.84828 0 3902.8958 -4.2783347 - 6450 19884.717 220.81633 0 3903.1714 3.8758905 - 6500 18719.372 436.94802 0 3903.4984 1.7865904 - 6550 20096.883 181.63346 0 3903.2784 2.395512 - 6600 20888.673 35.003062 0 3903.2758 2.7728947 - 6650 20437.85 118.16373 0 3902.9507 8.1456757 - 6700 19241.051 339.73065 0 3902.8882 13.740454 - 6750 20407.542 123.94326 0 3903.1177 7.6285942 - 6800 20536.785 99.976706 0 3903.0851 8.3496632 - 6850 20625.328 83.579677 0 3903.0849 6.5074992 - 6900 20705.37 68.944625 0 3903.2724 3.1905177 - 6950 18872.424 408.67134 0 3903.5647 6.2638845 - 7000 20072.762 186.18051 0 3903.3586 -22.780407 - 7050 20461.879 114.07495 0 3903.3117 -11.495523 - 7100 19811.566 234.50237 0 3903.3108 1.1212695 - 7150 20742.918 61.884088 0 3903.1651 -3.7907508 - 7200 20911.192 30.599903 0 3903.0429 -7.0262304 - 7250 20879.755 36.30274 0 3902.9241 -5.8018787 - 7300 20682.32 72.703261 0 3902.7626 -3.3446789 - 7350 19401.046 309.70672 0 3902.493 3.4836528 - 7400 20220.542 157.83897 0 3902.3838 2.3400031 - 7450 17691.193 625.47764 0 3901.6244 25.239568 - 7500 19745.294 245.02566 0 3901.5615 5.3622843 - 7550 19685.719 256.70983 0 3902.2133 3.4560563 - 7600 18830.192 415.10021 0 3902.1727 -0.10282681 - 7650 19613.136 270.18979 0 3902.2521 8.2241536 - 7700 20989.015 15.636879 0 3902.4915 1.2955204 - 7750 20301.583 142.90625 0 3902.4586 0.12548373 - 7800 18360.147 502.50342 0 3902.5307 17.117272 - 7850 20796.478 51.032537 0 3902.2321 -3.0993883 - 7900 20284.267 145.64296 0 3901.9887 -1.2682383 - 7950 20280.983 146.13471 0 3901.8723 3.5999841 - 8000 20915.869 28.730821 0 3902.0399 2.4987291 - 8050 20745.162 60.19981 0 3901.8964 4.0643481 - 8100 20509.039 103.70462 0 3901.6748 1.0771863 - 8150 20212.97 158.64893 0 3901.7916 3.0000215 - 8200 20323.463 138.25912 0 3901.8634 -1.2802945 - 8250 19997.284 198.37183 0 3901.5727 -2.6431964 - 8300 20138.402 171.75824 0 3901.092 1.7669897 - 8350 20367.568 130.22531 0 3901.9972 -1.2153731 - 8400 19945.534 208.35675 0 3901.9741 1.6021151 - 8450 20112.534 177.18642 0 3901.7298 2.2413008 - 8500 20686.7 71.116816 0 3901.9873 2.2888545 - 8550 18081.94 553.83586 0 3902.3432 7.8257937 - 8600 18320.081 505.67086 0 3898.2784 16.554878 - 8650 20235.305 154.43021 0 3901.709 3.1740823 - 8700 20355.413 132.22512 0 3901.746 4.3436482 - 8750 20087.188 182.11349 0 3901.9631 10.422134 - 8800 20400.795 124.09819 0 3902.0232 2.1179177 - 8850 20678.731 72.825797 0 3902.2204 -3.4491441 - 8900 20372.643 129.5072 0 3902.2189 -8.2166415 - 8950 20851.731 40.899364 0 3902.331 -5.8382839 - 9000 20318.076 139.61775 0 3902.2243 -4.1960802 - 9050 16879.415 776.53739 0 3902.3549 -14.429475 - 9100 19135.149 358.68223 0 3902.2284 -15.50479 - 9150 20689.556 70.939656 0 3902.339 -2.9876179 - 9200 19949.801 207.54882 0 3901.9564 6.4259245 - 9250 20207.027 160.2813 0 3902.3233 1.7402195 - 9300 20030.005 192.99466 0 3902.2548 5.300728 - 9350 19795.291 236.24003 0 3902.0347 5.8677745 - 9400 18232.093 526.18752 0 3902.501 19.344893 - 9450 18789.641 422.30568 0 3901.8687 -7.5185247 - 9500 16332.599 874.10423 0 3898.6597 16.241378 - 9550 18572.572 462.19972 0 3901.5649 -10.777359 - 9600 19859.645 223.32209 0 3901.0341 0.89631957 - 9650 19092.741 365.35768 0 3901.0504 6.7830005 - 9700 18391.154 495.72792 0 3901.4972 6.0683847 - 9750 17790.092 608.60997 0 3903.0714 8.2090184 - 9800 17681.783 628.99951 0 3903.4038 14.231747 - 9850 17804.412 605.54067 0 3902.654 22.308453 - 9900 19134.472 359.37911 0 3902.7999 8.5633158 - 9950 20099.055 180.28604 0 3902.3332 4.7905855 - 10000 20035.447 192.30744 0 3902.5754 1.8299201 -Loop time of 2.31994 on 4 procs for 10000 steps with 81 atoms - -Performance: 37242.315 tau/day, 4310.453 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0052789 | 0.014781 | 0.038634 | 11.4 | 0.64 -Neigh | 0.0081228 | 0.016514 | 0.033404 | 7.7 | 0.71 -Comm | 0.12269 | 0.13668 | 0.14951 | 3.1 | 5.89 -Output | 0.0034489 | 0.0039413 | 0.0050811 | 1.1 | 0.17 -Modify | 2.1036 | 2.1312 | 2.1509 | 1.2 | 91.86 -Other | | 0.01685 | | | 0.73 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Nghost: 35.25 ave 47 max 24 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 137.5 ave 252 max 0 min -Histogram: 1 0 0 1 0 0 0 0 1 1 - -Total # of neighbors = 550 -Ave neighs/atom = 6.7901235 -Neighbor list builds = 994 -Dangerous builds = 956 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.1 b/examples/rigid/log.20Mar22.rigid.poems3.g++.1 deleted file mode 100644 index b565d9f79d..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems3.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.00096754005 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071214 0 5269.4974 11.918931 - 3300 16732.493 1.8663821 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475277 0 5269.4774 12.195939 - 3600 16728.659 3.0596069 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.000227631 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567429 0 5269.522 11.911005 - 9500 16738.495 -0.0036645351 0 5269.5224 11.910982 - 9550 16738.49 -0.0010673912 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.00058544643 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244931 0 5269.5242 11.911015 -Loop time of 2.30195 on 1 procs for 10000 steps with 81 atoms - -Performance: 37533.440 tau/day, 4344.148 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0076839 | 0.0076839 | 0.0076839 | 0.0 | 0.33 -Neigh | 0.029562 | 0.029562 | 0.029562 | 0.0 | 1.28 -Comm | 0.0084877 | 0.0084877 | 0.0084877 | 0.0 | 0.37 -Output | 0.0037958 | 0.0037958 | 0.0037958 | 0.0 | 0.16 -Modify | 2.2446 | 2.2446 | 2.2446 | 0.0 | 97.51 -Other | | 0.00785 | | | 0.34 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 69 ave 69 max 69 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 4 ave 4 max 4 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.4 b/examples/rigid/log.20Mar22.rigid.poems3.g++.4 deleted file mode 100644 index 39fd6245e0..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems3.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.0009675401 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071214 0 5269.4974 11.918931 - 3300 16732.493 1.8663821 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475277 0 5269.4774 12.195939 - 3600 16728.659 3.059607 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792126 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974055 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.000227631 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306433 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567425 0 5269.522 11.911005 - 9500 16738.495 -0.0036645345 0 5269.5224 11.910982 - 9550 16738.49 -0.001067391 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.00058544648 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244933 0 5269.5242 11.911015 -Loop time of 2.36483 on 4 procs for 10000 steps with 81 atoms - -Performance: 36535.358 tau/day, 4228.629 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0030635 | 0.0035263 | 0.0040903 | 0.7 | 0.15 -Neigh | 0.0093439 | 0.01002 | 0.010976 | 0.6 | 0.42 -Comm | 0.11912 | 0.12509 | 0.13346 | 1.5 | 5.29 -Output | 0.003411 | 0.0038449 | 0.0050123 | 1.1 | 0.16 -Modify | 2.1961 | 2.2052 | 2.2137 | 0.5 | 93.25 -Other | | 0.01717 | | | 0.73 - -Nlocal: 20.25 ave 27 max 9 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 31.5 ave 51 max 15 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 1 ave 4 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.1 b/examples/rigid/log.20Mar22.rigid.poems4.g++.1 deleted file mode 100644 index e2febc5ed9..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems4.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.438428 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699118 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538604 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.029 99.812844 0 3680.6511 -16.185479 - 1450 21771.107 52.159653 0 3680.6775 -2.4756655 - 1500 21520.949 93.503876 0 3680.3286 2.1023573 - 1550 21351.419 121.6813 0 3680.2511 5.5159876 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21873 0 3679.8247 -1.1045277 - 1700 18501.33 596.4807 0 3680.0357 -15.6798 - 1750 18563.64 587.34824 0 3681.2882 33.532308 - 1800 19110.175 494.82517 0 3679.8543 18.024074 - 1850 21364.178 119.23765 0 3679.9339 2.5290144 - 1900 20146.588 322.15509 0 3679.9197 5.7317299 - 1950 20692.676 231.25264 0 3680.0319 4.297803 - 2000 20943.902 189.11251 0 3679.7629 -22.643824 - 2050 19667.823 401.86882 0 3679.8394 3.6241915 - 2100 20280.125 299.81485 0 3679.8357 7.4804047 - 2150 19181.201 483.6306 0 3680.4975 22.63342 - 2200 21301.144 130.54014 0 3680.7308 4.7074288 - 2250 20484.876 266.98315 0 3681.1291 -8.6578278 - 2300 18648.161 573.07329 0 3681.1001 -5.2550954 - 2350 21515.748 95.243054 0 3681.201 -9.386512 - 2400 21462.551 104.18267 0 3681.2745 -29.46442 - 2450 20107.732 330.99437 0 3682.2831 35.38497 - 2500 20771.509 220.47713 0 3682.3953 -12.324858 - 2550 20499.887 265.58494 0 3682.2327 -22.713874 - 2600 21462.182 105.24427 0 3682.2747 -10.175788 - 2650 21004.949 181.51383 0 3682.3387 4.949195 - 2700 18673.552 570.45017 0 3682.7089 21.201437 - 2750 21257.562 139.198 0 3682.1249 -7.5793039 - 2800 21559.645 88.844759 0 3682.119 -6.2360467 - 2850 20865.227 204.46262 0 3682.0004 0.39575069 - 2900 19428.614 443.93293 0 3682.0352 12.796676 - 2950 19630.1 410.18487 0 3681.8681 -0.50572623 - 3000 19663.218 404.06316 0 3681.2661 6.0827093 - 3050 19087.572 500.8452 0 3682.1073 -6.3526476 - 3100 18229.94 643.77681 0 3682.1001 11.453637 - 3150 18927.492 527.51919 0 3682.1011 -1.662863 - 3200 18320.514 628.55895 0 3681.978 21.176126 - 3250 18204.677 647.96462 0 3682.0775 11.331521 - 3300 19231.978 477.02117 0 3682.3509 3.8381593 - 3350 18153.44 656.70376 0 3682.2772 15.135615 - 3400 17476.768 770.0598 0 3682.8545 -3.394312 - 3450 21097.531 166.17241 0 3682.4276 3.74301 - 3500 17605.784 747.54808 0 3681.8454 3.3420627 - 3550 19238.34 476.00608 0 3682.3961 1.1413836 - 3600 18155.288 656.57434 0 3682.4557 3.4360446 - 3650 18735.622 559.2377 0 3681.8413 28.760363 - 3700 15310.261 1134.4215 0 3686.1317 44.207018 - 3750 15377.116 1123.4786 0 3686.3313 7.6773215 - 3800 18798.895 549.05928 0 3682.2084 -12.905825 - 3850 18322.563 628.87744 0 3682.6379 -16.067793 - 3900 19963.049 355.65441 0 3682.8292 3.4694064 - 3950 19925.48 361.2507 0 3682.1641 5.0058567 - 4000 19141.423 492.41081 0 3682.648 -12.782769 - 4050 20022.241 345.61655 0 3682.6568 -3.0149905 - 4100 21348.635 124.95646 0 3683.0624 -4.85779 - 4150 21011.812 181.1132 0 3683.0819 -3.9526196 - 4200 20222.276 312.63945 0 3683.0187 -23.63437 - 4250 20957.757 189.77152 0 3682.731 -1.3712469 - 4300 20070.215 337.5751 0 3682.611 -6.8816517 - 4350 21322.437 129.09228 0 3682.8318 -6.9442178 - 4400 19440.445 442.77531 0 3682.8495 -0.11606236 - 4450 20964.516 188.67174 0 3682.7577 4.8533525 - 4500 13530.08 1428.5497 0 3683.563 12.333187 - 4550 20461.637 272.58882 0 3682.8616 4.5111943 - 4600 17072.994 836.58228 0 3682.0812 5.7611617 - 4650 18860.748 539.82027 0 3683.2782 -2.5558958 - 4700 18373.927 621.04093 0 3683.3621 5.4020702 - 4750 20321.437 296.63662 0 3683.5428 8.9571617 - 4800 21083.122 169.84086 0 3683.6946 10.566368 - 4850 20499.669 267.7012 0 3684.3128 4.2924237 - 4900 20308.781 300.38168 0 3685.1785 -12.396923 - 4950 21043.303 178.56295 0 3685.7801 3.8923762 - 5000 20718.383 232.52208 0 3685.5859 -12.43234 - 5050 21005.749 184.4363 0 3685.3945 -7.6463487 - 5100 20714.133 233.27745 0 3685.6329 -1.6944135 - 5150 19577.452 422.73035 0 3685.639 -21.831219 - 5200 14044.647 1343.9545 0 3684.729 -6.8407194 - 5250 19089.805 504.0893 0 3685.7235 4.05641 - 5300 21094.745 169.94699 0 3685.7378 -0.66593212 - 5350 19907.559 366.77598 0 3684.7024 1.5248525 - 5400 20382.81 289.13263 0 3686.2676 -11.919321 - 5450 19593.693 420.70548 0 3686.3209 -1.1568628 - 5500 20906.08 202.09801 0 3686.4447 -2.4284971 - 5550 16315.465 965.56973 0 3684.8138 -33.178221 - 5600 19714.57 400.39687 0 3686.1586 19.950231 - 5650 20561.724 259.54797 0 3686.502 8.2074524 - 5700 19349.502 460.7789 0 3685.6959 16.252649 - 5750 21006.818 185.56805 0 3686.7044 -11.96089 - 5800 20268.2 307.97547 0 3686.0089 17.322311 - 5850 21018.322 184.16179 0 3687.2154 -14.379909 - 5900 19695.647 404.57094 0 3687.1787 -20.718904 - 5950 21021.687 183.66311 0 3687.2776 -15.206081 - 6000 18947.535 529.30554 0 3687.2281 17.863927 - 6050 15272.373 1141.012 0 3686.4075 -0.43375666 - 6100 17766.197 721.75792 0 3682.7908 11.378913 - 6150 18612.573 584.06688 0 3686.1623 17.543241 - 6200 19005.155 518.97146 0 3686.4973 -16.223107 - 6250 20997.507 187.55499 0 3687.1394 -11.613546 - 6300 19639.901 413.58048 0 3686.8974 14.407136 - 6350 19580.399 423.02818 0 3686.428 -5.5801796 - 6400 14134.119 1332.0662 0 3687.7527 84.864425 - 6450 21598.824 87.419966 0 3687.224 -5.8358352 - 6500 18208.216 649.29108 0 3683.9938 -8.1510884 - 6550 19364.586 459.59813 0 3687.0291 -12.053563 - 6600 20710.927 235.11914 0 3686.9403 -1.0470193 - 6650 21132.334 165.08091 0 3687.1366 1.0785471 - 6700 20217.285 317.589 0 3687.1365 0.055447462 - 6750 21232.279 148.57412 0 3687.2873 -2.4551657 - 6800 20292.683 304.76539 0 3686.8793 -0.42311295 - 6850 19056.291 510.49927 0 3686.5478 6.9533826 - 6900 20429.82 282.23764 0 3687.2076 -4.2360112 - 6950 21281.278 140.27361 0 3687.1533 -0.07475261 - 7000 17173.388 824.54446 0 3686.7758 10.753828 - 7050 18079.7 674.56274 0 3687.846 12.975804 - 7100 16433.233 950.73904 0 3689.6112 -10.5102 - 7150 19033.335 515.59672 0 3687.8193 0.29109447 - 7200 17286.428 809.02352 0 3690.0948 2.3015698 - 7250 16811.962 886.6645 0 3688.6582 -7.4787512 - 7300 15992.461 1023.4849 0 3688.895 -5.2354222 - 7350 19211.451 487.63129 0 3689.5398 8.4351737 - 7400 19065.682 511.95629 0 3689.57 -12.47448 - 7450 21369.265 128.10098 0 3689.6451 2.2930546 - 7500 16807.109 888.64602 0 3689.8308 14.761969 - 7550 18063.046 679.21873 0 3689.7264 3.8950434 - 7600 17794.987 724.55404 0 3690.3851 14.379016 - 7650 17904.751 706.14354 0 3690.2688 23.813776 - 7700 19670.09 411.3021 0 3689.6504 14.099245 - 7750 18082.562 675.23975 0 3689.0001 15.788521 - 7800 17776.135 726.91445 0 3689.6037 6.9780735 - 7850 17062.575 846.33412 0 3690.0966 -8.9289256 - 7900 19059.2 513.07737 0 3689.6107 16.992843 - 7950 16269.685 978.48914 0 3690.1033 11.180179 - 8000 20115.278 336.91405 0 3689.4604 -6.4882518 - 8050 21173.72 161.15229 0 3690.1056 -2.2164491 - 8100 19238.235 484.42784 0 3690.8004 23.412709 - 8150 18438.4 617.58743 0 3690.6542 0.89156316 - 8200 21438.764 117.12721 0 3690.2546 -1.7193227 - 8250 21195.806 157.66607 0 3690.3003 3.820447 - 8300 21177.549 161.13702 0 3690.7286 0.94938203 - 8350 21060.267 181.06887 0 3691.1135 2.8179025 - 8400 20087.113 343.46206 0 3691.3142 8.1484473 - 8450 19298.478 474.87133 0 3691.2843 -16.239664 - 8500 21654.353 82.083485 0 3691.1423 -8.1464138 - 8550 19920.544 371.34795 0 3691.4386 20.765144 - 8600 21692.293 75.655154 0 3691.0373 -13.316763 - 8650 21231.322 151.8989 0 3690.4526 -11.388238 - 8700 19530.647 434.89585 0 3690.0037 2.7433786 - 8750 19720.63 403.07773 0 3689.8493 -6.416414 - 8800 21321.378 136.04091 0 3689.604 1.3661635 - 8850 19811.906 387.80489 0 3689.7893 3.704143 - 8900 19734.167 400.92444 0 3689.9523 2.5685155 - 8950 21076.459 177.18119 0 3689.9244 -11.939513 - 9000 20967.246 195.42966 0 3689.9707 2.0092705 - 9050 21122.023 169.62103 0 3689.9582 2.3791301 - 9100 20169.346 328.27229 0 3689.8299 -3.5017988 - 9150 21418.641 119.84513 0 3689.6187 2.486073 - 9200 20876.042 210.26452 0 3689.6048 -5.3839897 - 9250 21572.38 93.74407 0 3689.1407 -8.3676952 - 9300 20944.78 197.98577 0 3688.7824 1.3278314 - 9350 20706.52 237.48767 0 3688.5744 4.6944204 - 9400 16412.314 953.47251 0 3688.8581 26.134976 - 9450 20461.68 277.76243 0 3688.0424 17.647445 - 9500 20893.994 205.64261 0 3687.9749 -10.642418 - 9550 20503.447 270.63504 0 3687.8761 -17.769897 - 9600 19677.799 408.05887 0 3687.692 -2.7938604 - 9650 17480.971 774.1855 0 3687.6806 0.59827043 - 9700 17799.126 721.50817 0 3688.0292 44.387928 - 9750 20443.384 280.16837 0 3687.399 3.0619324 - 9800 20545.255 263.40108 0 3687.6102 3.6229381 - 9850 20722.819 233.57142 0 3687.3745 0.86462694 - 9900 21128.462 165.09767 0 3686.508 -6.9636843 - 9950 21343.307 130.46714 0 3687.685 -9.7382705 - 10000 20623.887 250.37866 0 3687.6932 2.7529835 -Loop time of 2.28812 on 1 procs for 10000 steps with 81 atoms - -Performance: 37760.318 tau/day, 4370.407 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.094122 | 0.094122 | 0.094122 | 0.0 | 4.11 -Neigh | 0.076427 | 0.076427 | 0.076427 | 0.0 | 3.34 -Comm | 0.0066867 | 0.0066867 | 0.0066867 | 0.0 | 0.29 -Output | 0.003606 | 0.003606 | 0.003606 | 0.0 | 0.16 -Modify | 2.0986 | 2.0986 | 2.0986 | 0.0 | 91.72 -Other | | 0.008698 | | | 0.38 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 62 ave 62 max 62 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 905 ave 905 max 905 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 905 -Ave neighs/atom = 11.17284 -Neighbor list builds = 991 -Dangerous builds = 927 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.4 b/examples/rigid/log.20Mar22.rigid.poems4.g++.4 deleted file mode 100644 index 6240237758..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems4.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.4384281 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699115 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538606 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.03 99.812843 0 3680.6511 -16.185479 - 1450 21771.107 52.159652 0 3680.6775 -2.4756656 - 1500 21520.949 93.503872 0 3680.3286 2.1023574 - 1550 21351.419 121.68131 0 3680.2511 5.5159875 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21877 0 3679.8247 -1.104524 - 1700 18501.329 596.48084 0 3680.0357 -15.679806 - 1750 18563.639 587.34841 0 3681.2882 33.532316 - 1800 19110.174 494.82524 0 3679.8543 18.024079 - 1850 21364.178 119.23767 0 3679.9339 2.5290075 - 1900 20146.588 322.15506 0 3679.9197 5.7317368 - 1950 20692.674 231.25288 0 3680.0319 4.2977982 - 2000 20943.904 189.11229 0 3679.7629 -22.643749 - 2050 19667.815 401.87016 0 3679.8394 3.6240972 - 2100 20280.109 299.81759 0 3679.8357 7.4803647 - 2150 19181.146 483.63975 0 3680.4974 22.634167 - 2200 21301.194 130.53171 0 3680.7308 4.7072523 - 2250 20484.79 266.99736 0 3681.1291 -8.6583002 - 2300 18648.002 573.09962 0 3681.1 -5.2548835 - 2350 21515.851 95.225745 0 3681.2009 -9.3875216 - 2400 21462.37 104.21272 0 3681.2744 -29.459857 - 2450 20108.034 330.94394 0 3682.2829 35.37058 - 2500 20771.818 220.42545 0 3682.3951 -12.318936 - 2550 20502.815 265.09577 0 3682.2316 -22.726822 - 2600 21462.006 105.2733 0 3682.2744 -10.180394 - 2650 21009.656 180.72738 0 3682.3367 4.9580828 - 2700 18680.012 569.37179 0 3682.7071 21.114114 - 2750 21256.19 139.42201 0 3682.1203 -7.4744399 - 2800 21552.267 90.071446 0 3682.1159 -6.2906304 - 2850 20879.958 202.00905 0 3682.0021 0.57990903 - 2900 19018.645 512.35214 0 3682.1262 13.883084 - 2950 19819.365 378.55747 0 3681.785 -0.7348943 - 3000 20269.229 303.35149 0 3681.5563 6.3088075 - 3050 19236.727 475.99457 0 3682.1158 -10.703575 - 3100 18391.55 616.96976 0 3682.2281 9.850079 - 3150 20258.563 305.82076 0 3682.248 7.1951283 - 3200 20716.384 229.15502 0 3681.8856 2.9042294 - 3250 18662.237 572.0784 0 3682.4512 9.2108597 - 3300 19162.278 488.60646 0 3682.3195 3.3306562 - 3350 21235.679 142.98279 0 3682.2626 0.29397483 - 3400 17677.053 736.09247 0 3682.2679 32.75269 - 3450 20852.392 206.65618 0 3682.0548 -4.8319056 - 3500 21182.918 151.46754 0 3681.9539 -5.6330382 - 3550 20589.85 250.40724 0 3682.049 12.582133 - 3600 20973.659 186.28043 0 3681.8903 10.935266 - 3650 17838.632 707.92145 0 3681.0268 -17.200926 - 3700 21538.002 92.744409 0 3682.4114 -0.72124229 - 3750 21390.294 117.90865 0 3682.9576 -7.8431786 - 3800 17921.046 696.50311 0 3683.344 -9.4641531 - 3850 20356.471 290.22624 0 3682.9715 2.4593463 - 3900 20374.077 287.10249 0 3682.782 -1.9519082 - 3950 20563.915 255.29993 0 3682.619 -6.124649 - 4000 20991.467 184.76183 0 3683.3397 1.8954961 - 4050 17805.623 716.24698 0 3683.8509 -20.454944 - 4100 19916.389 363.86301 0 3683.2611 -0.27912557 - 4150 19221.623 480.01232 0 3683.6161 -11.562492 - 4200 20526.82 261.78571 0 3682.9224 -3.9522917 - 4250 20922.813 196.1799 0 3683.3154 0.11947446 - 4300 19956.66 357.78133 0 3683.8914 19.156093 - 4350 19735.73 394.45981 0 3683.7482 14.865775 - 4400 21702.656 67.099805 0 3684.2092 -13.502538 - 4450 18163.055 656.97231 0 3684.1482 -0.6243111 - 4500 17477.718 771.25976 0 3684.2127 -0.4664004 - 4550 20676.507 238.19814 0 3684.2827 -19.444969 - 4600 17322.922 796.77058 0 3683.9242 27.003966 - 4650 11905.158 1704.9151 0 3689.1082 15.574169 - 4700 18689.079 569.80982 0 3684.6563 -14.67311 - 4750 19821.745 381.01914 0 3684.6433 5.0436795 - 4800 20621.335 247.96269 0 3684.8518 -16.407263 - 4850 21923.814 30.965964 0 3684.935 -13.418244 - 4900 18840.555 544.41538 0 3684.5079 11.005357 - 4950 15366.601 1124.2481 0 3685.3482 17.412375 - 5000 18274.314 639.01311 0 3684.732 5.3261109 - 5050 21173.687 155.83673 0 3684.7845 5.4056809 - 5100 21738.219 61.75201 0 3684.7885 -2.631945 - 5150 16597.949 918.84841 0 3685.1732 -10.124101 - 5200 20752.758 225.95919 0 3684.7522 -5.2441372 - 5250 17652.088 741.2645 0 3683.2793 2.0080739 - 5300 19907.523 366.53115 0 3684.4516 8.4266792 - 5350 20104.189 334.14522 0 3684.8433 17.21925 - 5400 21499.848 101.71631 0 3685.0243 -6.1103541 - 5450 21203.533 151.14574 0 3685.068 -5.9468503 - 5500 21076.513 172.45652 0 3685.2088 5.1418181 - 5550 20158.398 325.56609 0 3685.2992 -1.6486034 - 5600 20787.836 221.19563 0 3685.835 -10.66805 - 5650 19687.154 404.77204 0 3685.9644 -23.49128 - 5700 20419.311 282.58328 0 3685.8017 -0.52808211 - 5750 19738.522 395.95893 0 3685.7126 1.3889817 - 5800 18300.025 635.66905 0 3685.6732 23.490447 - 5850 20585.004 255.02032 0 3685.8543 -0.20699939 - 5900 20373.839 290.15881 0 3685.7987 -7.9712187 - 5950 18163.832 659.91192 0 3687.2173 5.4494586 - 6000 21049.247 177.43029 0 3685.6382 2.9138342 - 6050 21239.803 145.77613 0 3685.7433 -1.4927769 - 6100 20686.361 237.86454 0 3685.5913 -0.95516297 - 6150 20461.754 275.31546 0 3685.6079 -3.4166412 - 6200 19264.208 474.73017 0 3685.4316 11.750757 - 6250 21180.813 155.31746 0 3685.4529 2.8188219 - 6300 21047.543 177.4394 0 3685.3632 1.8641486 - 6350 20232.576 313.17716 0 3685.2731 2.8150209 - 6400 20185.616 321.33454 0 3685.6038 -3.8697311 - 6450 18969.632 523.95865 0 3685.5639 0.6725512 - 6500 17592.574 753.49959 0 3685.5952 -1.2557393 - 6550 21279.049 138.42524 0 3684.9335 -1.208945 - 6600 21408.457 116.4143 0 3684.4904 -1.5332953 - 6650 19758.218 391.17316 0 3684.2096 1.8511312 - 6700 20766.943 223.44631 0 3684.6036 -2.3672623 - 6750 20399.631 284.09914 0 3684.0377 -5.4089876 - 6800 21296.628 135.14662 0 3684.5847 -3.8442549 - 6850 20641.481 244.4451 0 3684.692 1.4020639 - 6900 20852.81 209.23009 0 3684.6984 1.8512104 - 6950 20940.555 194.66882 0 3684.7614 -6.554676 - 7000 19496.988 435.28199 0 3684.78 -15.120269 - 7050 19796.829 385.04227 0 3684.5138 -4.1068804 - 7100 19945.264 360.42431 0 3684.635 -4.0629042 - 7150 19431.123 446.12911 0 3684.6497 -6.8321751 - 7200 16864.851 873.80043 0 3684.6089 14.309069 - 7250 20438.75 277.85982 0 3684.3181 -11.41223 - 7300 17688.684 734.01576 0 3682.1298 35.938373 - 7350 21573.419 88.63421 0 3684.204 -3.9032749 - 7400 21198.486 150.72249 0 3683.8034 -7.1477117 - 7450 20586.708 252.93928 0 3684.0572 -7.6634645 - 7500 21815.377 48.180377 0 3684.0765 0.97457507 - 7550 17791.352 718.87564 0 3684.101 28.248235 - 7600 21828.874 45.928597 0 3684.0742 -0.25814944 - 7650 20827.961 212.35674 0 3683.6835 -3.4083384 - 7700 21319.176 130.43547 0 3683.6315 -12.434856 - 7750 20127.904 328.69643 0 3683.3471 -16.975711 - 7800 21741.772 59.679206 0 3683.3078 3.6261863 - 7850 19612.334 414.37418 0 3683.0964 1.3763274 - 7900 20071.318 337.74624 0 3682.9658 -0.40982763 - 7950 17925.664 695.29582 0 3682.9065 17.104439 - 8000 19125.978 492.76383 0 3680.4268 10.807662 - 8050 20233.848 310.42681 0 3682.7347 13.386237 - 8100 20551.619 257.86699 0 3683.1368 -13.97515 - 8150 21578.323 86.88362 0 3683.2708 -9.6811587 - 8200 21154.833 157.72897 0 3683.5344 0.62312375 - 8250 21321.143 129.83967 0 3683.3636 1.9536438 - 8300 21041.696 176.04177 0 3682.9911 4.7475567 - 8350 19883.39 369.32649 0 3683.2247 -7.0959328 - 8400 21626.067 79.062992 0 3683.4075 -14.919059 - 8450 21375.201 120.86836 0 3683.4019 -5.3461514 - 8500 20281.059 303.10304 0 3683.2796 3.7975093 - 8550 21170.533 154.48432 0 3682.9065 -1.1568561 - 8600 17754.931 724.00158 0 3683.1568 14.15254 - 8650 20685.478 235.65879 0 3683.2385 -5.2694179 - 8700 21489.165 101.90509 0 3683.4326 -4.2510612 - 8750 21106.682 165.41638 0 3683.1968 -3.9186708 - 8800 19149.516 491.5843 0 3683.1702 -11.419849 - 8850 21451.865 108.1814 0 3683.4923 -7.8256219 - 8900 19567.4 421.81206 0 3683.0454 -0.71997056 - 8950 20934.097 194.48033 0 3683.4965 -7.0106879 - 9000 18531.559 595.25957 0 3683.8528 3.7449399 - 9050 18868.821 537.22549 0 3682.029 9.9926092 - 9100 19972.527 354.73119 0 3683.4858 -0.30871263 - 9150 19641.651 409.18618 0 3682.7947 -1.3036238 - 9200 20019.08 346.19657 0 3682.7099 6.7425386 - 9250 19259.286 473.04973 0 3682.9308 -24.120659 - 9300 21597.757 82.971857 0 3682.598 -13.748483 - 9350 19348.379 457.23576 0 3681.9656 3.1571402 - 9400 19129.588 493.35235 0 3681.617 8.6293783 - 9450 20337.025 291.20959 0 3680.7138 6.8590795 - 9500 20581.788 249.65891 0 3679.9569 -18.892836 - 9550 19482.069 433.0077 0 3680.0192 23.029778 - 9600 19182.794 482.96871 0 3680.101 -11.081731 - 9650 20086.771 332.5311 0 3680.3263 -18.939681 - 9700 20274.046 300.98818 0 3679.9959 6.7538762 - 9750 18743.595 555.08045 0 3679.0129 8.2757138 - 9800 19464.311 435.66288 0 3679.7148 7.0528759 - 9850 21249.848 138.27382 0 3679.9152 -10.847402 - 9900 21156.214 153.84621 0 3679.8819 -7.8359674 - 9950 21643.134 72.547515 0 3679.7365 -10.507744 - 10000 19587.948 414.64942 0 3679.3075 6.1173553 -Loop time of 2.35562 on 4 procs for 10000 steps with 81 atoms - -Performance: 36678.236 tau/day, 4245.166 timesteps/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0055581 | 0.024882 | 0.055326 | 12.0 | 1.06 -Neigh | 0.0073809 | 0.022107 | 0.043683 | 9.2 | 0.94 -Comm | 0.12484 | 0.14528 | 0.1833 | 6.2 | 6.17 -Output | 0.0035526 | 0.0041048 | 0.0055462 | 1.3 | 0.17 -Modify | 2.1078 | 2.1414 | 2.162 | 1.5 | 90.91 -Other | | 0.0178 | | | 0.76 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 41 ave 78 max 11 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 193.5 ave 774 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 774 -Ave neighs/atom = 9.5555556 -Neighbor list builds = 989 -Dangerous builds = 915 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.1 b/examples/rigid/log.20Mar22.rigid.poems5.g++.1 deleted file mode 100644 index 5a18042516..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems5.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086359 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977442 0 3904.4178 9.0928158 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47231 0 3902.9213 0.6921524 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05177 0 3902.1317 4.6838621 - 850 19932.48 210.71175 0 3901.9118 3.4716043 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.874422 - 1200 20767.681 56.717094 0 3902.5839 -34.817444 - 1250 20625.583 82.586399 0 3902.1388 11.697329 - 1300 20690.013 71.006478 0 3902.4903 -29.292777 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.559 244.81785 0 3902.8844 6.7138514 - 1450 15690.149 998.342 0 3903.9252 48.124557 - 1500 20234.455 155.92516 0 3903.0465 13.17221 - 1550 20779.631 55.063009 0 3903.1428 -2.639045 - 1600 20642.753 80.233905 0 3902.9659 -2.4688467 - 1650 18785.696 423.90402 0 3902.7365 -5.6466663 - 1700 20965.076 20.760444 0 3903.182 -0.45364296 - 1750 18935.406 396.96067 0 3903.5173 25.913302 - 1800 20581.559 91.756972 0 3903.1567 3.8217234 - 1850 20616.946 85.184849 0 3903.1378 4.1907972 - 1900 16602.053 828.40949 0 3902.8637 -0.49505122 - 1950 20175.526 166.53362 0 3902.7421 5.603825 - 2000 20261.924 150.39322 0 3902.6014 -1.196958 - 2050 20170.339 167.40504 0 3902.6531 -0.80849882 - 2100 19820.132 231.26755 0 3901.6624 3.1476607 - 2150 20666.19 75.838461 0 3902.9106 0.53899287 - 2200 19873.51 222.53286 0 3902.8124 7.9310276 - 2250 18548.063 467.69698 0 3902.5235 16.905356 - 2300 20616.61 84.762399 0 3902.6531 -6.7872951 - 2350 18167.738 538.13635 0 3902.5322 -11.458285 - 2400 20120.227 177.01954 0 3902.9875 -1.2593018 - 2450 20436.599 118.32469 0 3902.8801 -6.5989174 - 2500 18919.923 400.26361 0 3903.9531 32.37476 - 2550 19675.809 259.77151 0 3903.4398 19.437327 - 2600 19739.842 247.86388 0 3903.3901 -7.519784 - 2650 20557.026 96.530313 0 3903.387 0.60211646 - 2700 20666.602 76.099892 0 3903.2484 0.16825503 - 2750 20924.585 28.453883 0 3903.3771 2.4227171 - 2800 20360.659 132.8596 0 3903.352 4.1440877 - 2850 20783.475 54.518625 0 3903.3102 -0.57312067 - 2900 20456.181 115.03745 0 3903.2191 -20.118887 - 2950 20779.493 55.321394 0 3903.3756 -0.26783079 - 3000 20011.867 197.30216 0 3903.2035 -1.4704201 - 3050 20741.875 62.208723 0 3903.2966 -7.5432815 - 3100 21001.754 14.148298 0 3903.362 2.9676438 - 3150 20244.086 154.44639 0 3903.3512 -1.9071213 - 3200 20639.615 81.136426 0 3903.2873 1.4826467 - 3250 20735.244 63.529571 0 3903.3895 2.1127055 - 3300 20142.891 173.22282 0 3903.3878 4.7739415 - 3350 19963.765 206.21899 0 3903.2126 5.5410771 - 3400 16628.667 824.13627 0 3903.519 36.087673 - 3450 19228.218 342.81569 0 3903.5968 3.1057274 - 3500 19759.293 244.57876 0 3903.707 2.2339557 - 3550 19853.21 227.06362 0 3903.584 -1.0882119 - 3600 19673.516 260.64854 0 3903.8923 -10.63775 - 3650 19619.238 270.5393 0 3903.7316 -6.3746003 - 3700 20756.865 59.790243 0 3903.6542 -8.3015766 - 3750 20265.025 150.47347 0 3903.2559 -5.7284695 - 3800 20944.683 24.669276 0 3903.3142 -0.070552298 - 3850 19344.831 320.59492 0 3902.971 13.040749 - 3900 19978.209 203.00247 0 3902.6708 0.15638133 - 3950 19864.118 224.19359 0 3902.734 0.453229 - 4000 17606.216 642.71493 0 3903.1252 -12.656002 - 4050 18017.895 566.54102 0 3903.1883 12.133906 - 4100 20092.963 182.17593 0 3903.095 7.7445947 - 4150 20555.337 96.395074 0 3902.939 -6.5429752 - 4200 20709.781 67.869199 0 3903.0138 -2.8653003 - 4250 18956.203 392.20748 0 3902.6155 -1.6249728 - 4300 17816.204 603.72704 0 3903.0241 23.089239 - 4350 18979.742 388.04678 0 3902.8138 3.2511108 - 4400 20272.085 148.82367 0 3902.9135 1.9518268 - 4450 18820.003 417.74789 0 3902.9337 6.3979299 - 4500 19991.936 200.50131 0 3902.7117 3.5118553 - 4550 20915.092 29.663898 0 3902.8291 -2.3174641 - 4600 20690.37 71.125087 0 3902.6752 -12.008575 - 4650 18893.76 404.50849 0 3903.3529 15.006184 - 4700 18611.123 456.1263 0 3902.6306 -5.3574892 - 4750 20497.821 106.5856 0 3902.4784 0.85039837 - 4800 20803.214 50.120522 0 3902.5675 3.8610873 - 4850 18849.598 411.72635 0 3902.3927 9.2029058 - 4900 18121.714 546.68042 0 3902.5533 9.4522272 - 4950 20377.499 128.99323 0 3902.6041 5.3825395 - 5000 20686.114 72.039749 0 3902.8016 -5.706271 - 5050 20180.449 165.51368 0 3902.634 -16.418461 - 5100 20274.947 148.36657 0 3902.9864 -5.6668309 - 5150 18042.324 560.74137 0 3901.9125 3.6791541 - 5200 20794.666 52.204446 0 3903.0685 -1.4517721 - 5250 19073.55 371.18834 0 3903.3272 -13.457439 - 5300 20821.412 47.364313 0 3903.1813 2.258098 - 5350 20583.073 91.271191 0 3902.9513 5.4323985 - 5400 20490.967 108.41184 0 3903.0353 4.122905 - 5450 18141.79 543.66874 0 3903.2594 -0.19951075 - 5500 20274.012 148.55528 0 3903.002 5.0489974 - 5550 17806.237 605.43454 0 3902.8858 43.80619 - 5600 20999.825 14.341937 0 3903.1983 1.0879933 - 5650 20930.929 27.025347 0 3903.1234 -7.0860209 - 5700 20677.725 73.853093 0 3903.0614 2.6864775 - 5750 20521.264 102.87509 0 3903.1092 2.6940548 - 5800 20792.571 52.596021 0 3903.0721 1.2910217 - 5850 20518.674 103.26595 0 3903.0204 -9.2547271 - 5900 18417.885 491.66696 0 3902.3865 -12.049357 - 5950 17243.837 709.37858 0 3902.6817 -6.2357188 - 6000 20262.525 149.56918 0 3901.8885 -0.28964823 - 6050 19883.554 219.14043 0 3901.2801 2.3071707 - 6100 16548.178 838.47869 0 3902.956 -11.715644 - 6150 19601.177 272.14674 0 3901.9944 -0.9008056 - 6200 20499.796 106.2363 0 3902.4949 0.79071424 - 6250 19601.106 272.50139 0 3902.3359 -1.9306693 - 6300 17210.685 712.70535 0 3899.8692 4.8890923 - 6350 19911.896 214.91041 0 3902.2985 12.691129 - 6400 18834.642 411.87123 0 3899.7678 -1.9447856 - 6450 20216.311 158.39781 0 3902.1591 2.6009109 - 6500 20452.025 114.97122 0 3902.3832 0.14644416 - 6550 19142.589 357.34097 0 3902.2649 2.8968485 - 6600 20412.915 122.08784 0 3902.2573 3.1343105 - 6650 17317.867 699.39994 0 3906.4123 42.25563 - 6700 20479.771 109.8036 0 3902.3537 1.3520625 - 6750 20306.902 142.12484 0 3902.6623 2.2032106 - 6800 20755.367 58.994834 0 3902.5814 -0.90518094 - 6850 20471.259 111.7197 0 3902.6936 1.5799331 - 6900 20702.025 69.15032 0 3902.8586 9.3910371 - 6950 20477.695 110.34414 0 3902.5099 1.8181164 - 7000 20560.727 95.057704 0 3902.5998 -15.686006 - 7050 20336.675 136.39386 0 3902.4448 1.3704327 - 7100 20757.399 58.950153 0 3902.913 -6.4250981 - 7150 20870.958 38.095649 0 3903.088 -4.1962169 - 7200 20706.869 68.489134 0 3903.0944 2.8322659 - 7250 20386.713 127.7432 0 3903.0604 6.0287391 - 7300 18391.773 497.21001 0 3903.0939 19.202343 - 7350 20178.898 166.4993 0 3903.3322 1.5682417 - 7400 16858.704 781.78682 0 3903.7691 21.317514 - 7450 17509.513 660.71963 0 3903.2221 -5.9456143 - 7500 19974.601 204.20412 0 3903.2043 -0.69202711 - 7550 20917.053 29.73415 0 3903.2626 -3.9962577 - 7600 20923.518 28.482703 0 3903.2083 -1.9016251 - 7650 20549.528 97.630612 0 3903.0987 3.5512257 - 7700 20861.441 39.903885 0 3903.1337 2.4426264 - 7750 18843.349 413.64461 0 3903.1537 2.677739 - 7800 20616.054 85.214364 0 3903.0021 3.9639004 - 7850 16478.851 851.93376 0 3903.5728 7.3763128 - 7900 20312.115 141.35103 0 3902.8539 4.6707271 - 7950 20389.623 127.16589 0 3903.0219 3.4414001 - 8000 20452.117 115.30715 0 3902.7362 -1.0162528 - 8050 20857.093 40.791886 0 3903.2164 -15.150068 - 8100 19817.543 233.4997 0 3903.415 0.89346046 - 8150 18649.521 449.9112 0 3903.5262 -0.40053588 - 8200 19619.276 270.37616 0 3903.5754 5.5161492 - 8250 20393.176 127.01336 0 3903.5275 2.122613 - 8300 19145.912 358.00424 0 3903.5435 3.863924 - 8350 19636.311 267.17226 0 3903.5262 -7.1496084 - 8400 19086.332 368.86693 0 3903.3729 7.0968952 - 8450 19494.416 292.89527 0 3902.9723 3.1750935 - 8500 20041.919 191.77756 0 3903.244 0.95215503 - 8550 20357.561 133.15478 0 3903.0736 -0.14020152 - 8600 16998.797 756.07003 0 3903.9954 -16.724408 - 8650 20853.26 41.386996 0 3903.1017 -3.2612965 - 8700 20767.768 57.360884 0 3903.2438 1.1157649 - 8750 20752.546 60.106518 0 3903.1705 0.39130547 - 8800 20574.407 92.99798 0 3903.0734 0.61728166 - 8850 20326.99 138.94203 0 3903.1995 -1.9434522 - 8900 17408.108 679.53222 0 3903.2559 21.935371 - 8950 20471.21 112.2721 0 3903.2368 1.8142747 - 9000 19129.591 360.35257 0 3902.8694 4.5786395 - 9050 20439.668 117.89541 0 3903.0191 2.5585685 - 9100 20780.375 54.788664 0 3903.0062 3.8312459 - 9150 19904.559 216.61504 0 3902.6445 12.150414 - 9200 20961.295 21.52065 0 3903.2419 -0.2120699 - 9250 19315.252 326.44175 0 3903.3402 -19.740867 - 9300 20653.002 78.77764 0 3903.4076 -7.8068233 - 9350 18961.572 391.20947 0 3902.6117 -12.660843 - 9400 16262.179 892.67633 0 3904.191 22.2435 - 9450 17064.394 743.33301 0 3903.406 36.139436 - 9500 18075.588 555.06436 0 3902.3954 24.598176 - 9550 20487.738 109.06287 0 3903.0884 2.6320759 - 9600 20358.609 133.36993 0 3903.4828 0.76449113 - 9650 19849.022 228.46312 0 3904.208 9.5547064 - 9700 20448.112 116.8757 0 3903.5632 -1.0845697 - 9750 20472.78 112.51661 0 3903.7722 -0.30676738 - 9800 19491.99 293.35361 0 3902.9814 -20.10857 - 9850 19895.603 218.42479 0 3902.7957 -0.18235641 - 9900 19704.336 254.55068 0 3903.5019 14.553184 - 9950 17689.462 627.9788 0 3903.805 4.9918088 - 10000 20184.205 165.29396 0 3903.1097 2.9472364 -Loop time of 2.28393 on 1 procs for 10000 steps with 81 atoms - -Performance: 37829.498 tau/day, 4378.414 timesteps/s -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.052911 | 0.052911 | 0.052911 | 0.0 | 2.32 -Neigh | 0.056658 | 0.056658 | 0.056658 | 0.0 | 2.48 -Comm | 0.0087389 | 0.0087389 | 0.0087389 | 0.0 | 0.38 -Output | 0.0037996 | 0.0037996 | 0.0037996 | 0.0 | 0.17 -Modify | 2.1537 | 2.1537 | 2.1537 | 0.0 | 94.30 -Other | | 0.008147 | | | 0.36 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 113 ave 113 max 113 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 582 ave 582 max 582 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 582 -Ave neighs/atom = 7.1851852 -Neighbor list builds = 993 -Dangerous builds = 950 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.4 b/examples/rigid/log.20Mar22.rigid.poems5.g++.4 deleted file mode 100644 index cbf8b05490..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems5.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086358 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977039 0 3904.4174 9.0928122 - 250 19552.211 283.50525 0 3904.285 15.670466 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717095 0 3902.5839 -34.817444 - 1250 20625.583 82.586198 0 3902.1386 11.697328 - 1300 20690.013 71.006478 0 3902.4903 -29.29278 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.56 244.81784 0 3902.8844 6.7138497 - 1450 15690.149 998.34213 0 3903.9252 48.124569 - 1500 20234.455 155.92516 0 3903.0465 13.172207 - 1550 20779.631 55.063019 0 3903.1428 -2.6390455 - 1600 20642.753 80.233821 0 3902.9659 -2.4688431 - 1650 18785.698 423.90364 0 3902.7365 -5.6466892 - 1700 20965.076 20.760451 0 3903.182 -0.45366172 - 1750 18935.412 396.95958 0 3903.5173 25.913174 - 1800 20581.554 91.757912 0 3903.1567 3.8218442 - 1850 20616.949 85.184789 0 3903.1382 4.1907933 - 1900 16601.896 828.43849 0 3902.8638 -0.49468175 - 1950 20175.564 166.52646 0 3902.7421 5.6035728 - 2000 20262.525 150.28224 0 3902.6017 -1.1967705 - 2050 20168.994 167.65314 0 3902.6521 -0.80723928 - 2100 19810.955 232.96524 0 3901.6605 3.1936531 - 2150 20667.232 75.645145 0 3902.9103 0.54812734 - 2200 19863.772 224.34646 0 3902.8228 7.9294465 - 2250 18808.943 419.2084 0 3902.3461 14.344526 - 2300 20573.665 92.761842 0 3902.6999 -6.7671703 - 2350 19075.104 369.95414 0 3902.3809 -9.5353568 - 2400 20273.873 148.53775 0 3902.9586 -1.93796 - 2450 20087.769 182.30216 0 3902.2593 2.131796 - 2500 20711.602 67.530554 0 3903.0124 2.6280244 - 2550 19971.224 204.75926 0 3903.134 3.1760522 - 2600 20620.084 85.027145 0 3903.5612 -0.92888063 - 2650 19737.546 248.65474 0 3903.7559 -3.3218688 - 2700 20650.724 79.522243 0 3903.7303 -7.5918025 - 2750 19863.245 225.2505 0 3903.6292 9.2140221 - 2800 18992.457 386.73547 0 3903.8572 2.6244537 - 2850 18703.899 440.48356 0 3904.1685 14.561348 - 2900 17939.805 581.74599 0 3903.932 -8.0863089 - 2950 20867.516 39.38186 0 3903.7367 3.0985423 - 3000 19767.994 242.8847 0 3903.6243 1.5943109 - 3050 20397.448 126.31591 0 3903.6212 -0.14982775 - 3100 20978.114 19.126395 0 3903.9623 -9.6797253 - 3150 18303.556 513.8514 0 3903.3989 4.5940322 - 3200 19156.505 356.46608 0 3903.9671 10.071308 - 3250 17484.205 666.52199 0 3904.3377 -4.1641768 - 3300 18069.94 557.75947 0 3904.0447 11.868707 - 3350 20855.645 41.964632 0 3904.1212 5.4186293 - 3400 18011.986 568.76255 0 3904.3155 25.262783 - 3450 18669.69 446.92755 0 3904.2776 -4.194499 - 3500 20248.799 154.22147 0 3903.9991 3.9211572 - 3550 20226.024 158.64726 0 3904.2072 1.5299114 - 3600 20267.02 151.25631 0 3904.4082 -8.9821729 - 3650 20522.946 103.65382 0 3904.1994 -14.433796 - 3700 20892.319 35.294614 0 3904.2426 -21.264596 - 3750 19942.202 211.02993 0 3904.0304 -1.6428817 - 3800 20421.678 122.08118 0 3903.8734 1.7137935 - 3850 17899.53 588.82593 0 3903.5536 -24.450276 - 3900 20721.119 66.486999 0 3903.7312 -7.1772088 - 3950 20946.484 24.799445 0 3903.778 -0.4028037 - 4000 20985.362 17.608355 0 3903.7865 4.7522266 - 4050 19969.779 205.46466 0 3903.5719 18.941639 - 4100 20479.578 110.56561 0 3903.08 2.3715952 - 4150 18110.701 549.53348 0 3903.367 1.133321 - 4200 19321.098 325.58216 0 3903.5634 -3.7574942 - 4250 20734.436 63.87616 0 3903.5865 0.48350623 - 4300 19446.823 302.1727 0 3903.4362 4.0462392 - 4350 20494.669 108.1918 0 3903.501 2.9789077 - 4400 20379.244 129.61413 0 3903.5482 4.0881089 - 4450 19710.564 253.4251 0 3903.5295 5.3334683 - 4500 20744.753 61.785082 0 3903.406 4.0015409 - 4550 19948.024 208.76984 0 3902.8484 2.705423 - 4600 18367.368 502.69569 0 3904.0602 21.476471 - 4650 20559.367 96.133242 0 3903.4234 2.2549454 - 4700 20940.135 25.547808 0 3903.3505 -8.9042666 - 4750 20128.703 175.82088 0 3903.3584 -8.1450176 - 4800 20632.27 82.543887 0 3903.3347 -0.55649542 - 4850 19864.539 224.63792 0 3903.2563 7.1553461 - 4900 19332.037 323.15561 0 3903.1625 17.020214 - 4950 19055.575 373.68069 0 3902.4908 10.149457 - 5000 20219.484 159.21383 0 3903.5627 3.1806346 - 5050 17557.761 652.32864 0 3903.7659 10.733736 - 5100 20615.337 85.795304 0 3903.4503 -3.6035636 - 5150 20759.853 59.155843 0 3903.573 2.0152286 - 5200 20082.007 184.39375 0 3903.2839 -5.3745109 - 5250 18689.521 442.59842 0 3903.6208 -9.8911164 - 5300 20038.496 192.34221 0 3903.1749 -2.1437039 - 5350 19897.455 218.70142 0 3903.4154 0.64582116 - 5400 18732.385 434.21543 0 3903.1755 12.98676 - 5450 19831.487 230.79099 0 3903.2886 11.439958 - 5500 20079.89 184.6953 0 3903.1935 4.0906279 - 5550 20453.497 115.47128 0 3903.1559 7.8844436 - 5600 16673.041 815.52661 0 3903.1267 -20.17797 - 5650 19691.378 256.6412 0 3903.1928 3.7103317 - 5700 20345.743 135.29997 0 3903.0302 5.6373816 - 5750 20769.613 56.906603 0 3903.1312 -17.564762 - 5800 20713.369 67.38314 0 3903.1922 -5.340631 - 5850 20799.947 51.348865 0 3903.1909 -2.7827653 - 5900 19581.933 273.51588 0 3899.7997 12.347375 - 5950 20444.438 116.909 0 3902.9161 -0.74896654 - 6000 18970.948 389.99664 0 3903.1352 26.642912 - 6050 19414.753 307.13217 0 3902.4568 25.86316 - 6100 20780.042 54.586474 0 3902.7424 1.5387425 - 6150 20885.872 35.091585 0 3902.8456 -8.251884 - 6200 19825.81 231.40943 0 3902.8558 6.7196589 - 6250 20578.278 92.255994 0 3903.0481 -5.9647091 - 6300 20093.43 181.8699 0 3902.8754 -9.9906069 - 6350 20605.294 87.180289 0 3902.9755 -3.5643876 - 6400 19737.257 247.84828 0 3902.8958 -4.2783347 - 6450 19884.717 220.81633 0 3903.1714 3.8758905 - 6500 18719.372 436.94802 0 3903.4984 1.7865904 - 6550 20096.883 181.63346 0 3903.2784 2.395512 - 6600 20888.673 35.003062 0 3903.2758 2.7728947 - 6650 20437.85 118.16373 0 3902.9507 8.1456757 - 6700 19241.051 339.73065 0 3902.8882 13.740454 - 6750 20407.542 123.94326 0 3903.1177 7.6285942 - 6800 20536.785 99.976706 0 3903.0851 8.3496632 - 6850 20625.328 83.579677 0 3903.0849 6.5074992 - 6900 20705.37 68.944625 0 3903.2724 3.1905177 - 6950 18872.424 408.67134 0 3903.5647 6.2638845 - 7000 20072.762 186.18051 0 3903.3586 -22.780407 - 7050 20461.879 114.07495 0 3903.3117 -11.495523 - 7100 19811.566 234.50237 0 3903.3108 1.1212695 - 7150 20742.918 61.884088 0 3903.1651 -3.7907508 - 7200 20911.192 30.599903 0 3903.0429 -7.0262304 - 7250 20879.755 36.30274 0 3902.9241 -5.8018787 - 7300 20682.32 72.703261 0 3902.7626 -3.3446789 - 7350 19401.046 309.70672 0 3902.493 3.4836528 - 7400 20220.542 157.83897 0 3902.3838 2.3400031 - 7450 17691.193 625.47764 0 3901.6244 25.239568 - 7500 19745.294 245.02566 0 3901.5615 5.3622843 - 7550 19685.719 256.70983 0 3902.2133 3.4560563 - 7600 18830.192 415.10021 0 3902.1727 -0.10282681 - 7650 19613.136 270.18979 0 3902.2521 8.2241536 - 7700 20989.015 15.636879 0 3902.4915 1.2955204 - 7750 20301.583 142.90625 0 3902.4586 0.12548373 - 7800 18360.147 502.50342 0 3902.5307 17.117272 - 7850 20796.478 51.032537 0 3902.2321 -3.0993883 - 7900 20284.267 145.64296 0 3901.9887 -1.2682383 - 7950 20280.983 146.13471 0 3901.8723 3.5999841 - 8000 20915.869 28.730821 0 3902.0399 2.4987291 - 8050 20745.162 60.19981 0 3901.8964 4.0643481 - 8100 20509.039 103.70462 0 3901.6748 1.0771863 - 8150 20212.97 158.64893 0 3901.7916 3.0000215 - 8200 20323.463 138.25912 0 3901.8634 -1.2802945 - 8250 19997.284 198.37183 0 3901.5727 -2.6431964 - 8300 20138.402 171.75824 0 3901.092 1.7669897 - 8350 20367.568 130.22531 0 3901.9972 -1.2153731 - 8400 19945.534 208.35675 0 3901.9741 1.6021151 - 8450 20112.534 177.18642 0 3901.7298 2.2413008 - 8500 20686.7 71.116816 0 3901.9873 2.2888545 - 8550 18081.94 553.83586 0 3902.3432 7.8257937 - 8600 18320.081 505.67086 0 3898.2784 16.554878 - 8650 20235.305 154.43021 0 3901.709 3.1740823 - 8700 20355.413 132.22512 0 3901.746 4.3436482 - 8750 20087.188 182.11349 0 3901.9631 10.422134 - 8800 20400.795 124.09819 0 3902.0232 2.1179177 - 8850 20678.731 72.825797 0 3902.2204 -3.4491441 - 8900 20372.643 129.5072 0 3902.2189 -8.2166415 - 8950 20851.731 40.899364 0 3902.331 -5.8382839 - 9000 20318.076 139.61775 0 3902.2243 -4.1960802 - 9050 16879.415 776.53739 0 3902.3549 -14.429475 - 9100 19135.149 358.68223 0 3902.2284 -15.50479 - 9150 20689.556 70.939656 0 3902.339 -2.9876179 - 9200 19949.801 207.54882 0 3901.9564 6.4259245 - 9250 20207.027 160.2813 0 3902.3233 1.7402195 - 9300 20030.005 192.99466 0 3902.2548 5.300728 - 9350 19795.291 236.24003 0 3902.0347 5.8677745 - 9400 18232.093 526.18752 0 3902.501 19.344893 - 9450 18789.641 422.30568 0 3901.8687 -7.5185247 - 9500 16332.599 874.10423 0 3898.6597 16.241378 - 9550 18572.572 462.19972 0 3901.5649 -10.777359 - 9600 19859.645 223.32209 0 3901.0341 0.89631957 - 9650 19092.741 365.35768 0 3901.0504 6.7830005 - 9700 18391.154 495.72792 0 3901.4972 6.0683847 - 9750 17790.092 608.60997 0 3903.0714 8.2090184 - 9800 17681.783 628.99951 0 3903.4038 14.231747 - 9850 17804.412 605.54067 0 3902.654 22.308453 - 9900 19134.472 359.37911 0 3902.7999 8.5633158 - 9950 20099.055 180.28604 0 3902.3332 4.7905855 - 10000 20035.447 192.30744 0 3902.5754 1.8299201 -Loop time of 2.34062 on 4 procs for 10000 steps with 81 atoms - -Performance: 36913.309 tau/day, 4272.374 timesteps/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0052865 | 0.014915 | 0.039366 | 11.6 | 0.64 -Neigh | 0.0080708 | 0.016504 | 0.03345 | 7.7 | 0.71 -Comm | 0.1357 | 0.14237 | 0.15111 | 1.5 | 6.08 -Output | 0.0033429 | 0.0037922 | 0.0050931 | 1.2 | 0.16 -Modify | 2.1033 | 2.1433 | 2.1609 | 1.6 | 91.57 -Other | | 0.01973 | | | 0.84 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Nghost: 35.25 ave 47 max 24 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 137.5 ave 252 max 0 min -Histogram: 1 0 0 1 0 0 0 0 1 1 - -Total # of neighbors = 550 -Ave neighs/atom = 6.7901235 -Neighbor list builds = 994 -Dangerous builds = 956 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.1 b/examples/rigid/log.20Mar22.rigid.small.g++.1 deleted file mode 100644 index e34bdad80d..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.g++.1 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722826e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.255443 0 5269.4841 11.963561 - 3300 16732.156 1.9585966 0 5269.4893 12.234024 - 3350 16738.655 -0.079693235 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.092031 - 3550 16713.405 7.8460623 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663192 0 5269.4882 12.027009 - 3700 16738.602 -0.070934371 0 5269.4889 12.025288 - 3750 16737.731 0.20706562 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690678 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646809 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307407 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532803 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765242 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156153 0 5269.5203 12.011611 - 9600 16738.549 -0.026814361 0 5269.5163 12.011415 - 9650 16738.765 -0.1019152 0 5269.5092 12.011013 - 9700 16735.041 1.0589855 0 5269.4979 12.062708 - 9750 16738.013 0.13550223 0 5269.5101 11.407246 - 9800 16738.512 -0.01162033 0 5269.5201 11.394974 - 9850 16738.489 -0.000672705 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984511 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.097001 on 1 procs for 10000 steps with 81 atoms - -Performance: 890712.494 tau/day, 103091.724 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0064264 | 0.0064264 | 0.0064264 | 0.0 | 6.63 -Bond | 0.0003385 | 0.0003385 | 0.0003385 | 0.0 | 0.35 -Neigh | 0.030894 | 0.030894 | 0.030894 | 0.0 | 31.85 -Comm | 0.0065732 | 0.0065732 | 0.0065732 | 0.0 | 6.78 -Output | 0.0021773 | 0.0021773 | 0.0021773 | 0.0 | 2.24 -Modify | 0.046477 | 0.046477 | 0.046477 | 0.0 | 47.91 -Other | | 0.004115 | | | 4.24 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.4 b/examples/rigid/log.20Mar22.rigid.small.g++.4 deleted file mode 100644 index 03bb7a39c0..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.g++.4 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972281e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156165 0 5269.5203 12.011611 - 9600 16738.549 -0.02681437 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589893 0 5269.4979 12.062708 - 9750 16738.013 0.1355014 0 5269.5101 11.407246 - 9800 16738.512 -0.011620326 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270465 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984533 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.115632 on 4 procs for 10000 steps with 81 atoms - -Performance: 747196.558 tau/day, 86481.083 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0014528 | 0.0020376 | 0.0024938 | 0.9 | 1.76 -Bond | 0.00030255 | 0.00030731 | 0.00031718 | 0.0 | 0.27 -Neigh | 0.0089963 | 0.0094964 | 0.010494 | 0.6 | 8.21 -Comm | 0.035947 | 0.038848 | 0.040951 | 1.0 | 33.60 -Output | 0.0022924 | 0.002542 | 0.0032643 | 0.8 | 2.20 -Modify | 0.056743 | 0.058255 | 0.059447 | 0.4 | 50.38 -Other | | 0.004146 | | | 3.59 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 deleted file mode 100644 index 7c5f672309..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 +++ /dev/null @@ -1,323 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722817e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156162 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589884 0 5269.4979 12.062708 - 9750 16738.013 0.13550153 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270481 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984532 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.0973982 on 1 procs for 10000 steps with 81 atoms - -Performance: 887079.894 tau/day, 102671.284 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0065928 | 0.0065928 | 0.0065928 | 0.0 | 6.77 -Bond | 0.00033457 | 0.00033457 | 0.00033457 | 0.0 | 0.34 -Neigh | 0.031245 | 0.031245 | 0.031245 | 0.0 | 32.08 -Comm | 0.0065444 | 0.0065444 | 0.0065444 | 0.0 | 6.72 -Output | 0.0024004 | 0.0024004 | 0.0024004 | 0.0 | 2.46 -Modify | 0.045966 | 0.045966 | 0.045966 | 0.0 | 47.19 -Other | | 0.004315 | | | 4.43 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 deleted file mode 100644 index aad4e878dc..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 +++ /dev/null @@ -1,323 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722791e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585966 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460622 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663193 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646806 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156164 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589884 0 5269.4979 12.062708 - 9750 16738.013 0.13550185 0 5269.5101 11.407246 - 9800 16738.512 -0.011620326 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270434 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984508 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.135757 on 4 procs for 10000 steps with 81 atoms - -Performance: 636433.251 tau/day, 73661.256 timesteps/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0020781 | 0.0024716 | 0.0032187 | 0.9 | 1.82 -Bond | 0.00029013 | 0.000332 | 0.00037076 | 0.0 | 0.24 -Neigh | 0.0087772 | 0.011705 | 0.014134 | 2.3 | 8.62 -Comm | 0.042702 | 0.045012 | 0.048023 | 1.1 | 33.16 -Output | 0.0027373 | 0.0030292 | 0.0036178 | 0.6 | 2.23 -Modify | 0.067437 | 0.068617 | 0.069634 | 0.3 | 50.54 -Other | | 0.004589 | | | 3.38 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 new file mode 100644 index 0000000000..4f76779be7 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.483 | 4.483 | 4.483 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.119912 on 1 procs for 10000 steps with 81 atoms + +Performance: 720528.892 tau/day, 83394.548 timesteps/s, 6.755 Matom-step/s +98.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.007138 | 0.007138 | 0.007138 | 0.0 | 5.95 +Neigh | 0.04331 | 0.04331 | 0.04331 | 0.0 | 36.12 +Comm | 0.0080707 | 0.0080707 | 0.0080707 | 0.0 | 6.73 +Output | 0.001757 | 0.001757 | 0.001757 | 0.0 | 1.47 +Modify | 0.052965 | 0.052965 | 0.052965 | 0.0 | 44.17 +Other | | 0.006671 | | | 5.56 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 new file mode 100644 index 0000000000..071a4de5d0 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.33 | 4.362 | 4.456 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.135195 on 4 procs for 10000 steps with 81 atoms + +Performance: 639077.466 tau/day, 73967.299 timesteps/s, 5.991 Matom-step/s +97.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016842 | 0.0023498 | 0.0027328 | 0.8 | 1.74 +Neigh | 0.012614 | 0.013371 | 0.014361 | 0.5 | 9.89 +Comm | 0.062345 | 0.06407 | 0.065902 | 0.6 | 47.39 +Output | 0.0018312 | 0.0019801 | 0.0024023 | 0.5 | 1.46 +Modify | 0.038532 | 0.039713 | 0.041474 | 0.6 | 29.37 +Other | | 0.01371 | | | 10.14 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 new file mode 100644 index 0000000000..7510d35ec1 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.358 | 4.358 | 4.358 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.131374 on 1 procs for 10000 steps with 81 atoms + +Performance: 657662.971 tau/day, 76118.399 timesteps/s, 6.166 Matom-step/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0075531 | 0.0075531 | 0.0075531 | 0.0 | 5.75 +Neigh | 0.047177 | 0.047177 | 0.047177 | 0.0 | 35.91 +Comm | 0.0090961 | 0.0090961 | 0.0090961 | 0.0 | 6.92 +Output | 0.0018917 | 0.0018917 | 0.0018917 | 0.0 | 1.44 +Modify | 0.058064 | 0.058064 | 0.058064 | 0.0 | 44.20 +Other | | 0.007593 | | | 5.78 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 new file mode 100644 index 0000000000..b7adcacb14 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.205 | 4.237 | 4.331 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.135534 on 4 procs for 10000 steps with 81 atoms + +Performance: 637479.927 tau/day, 73782.399 timesteps/s, 5.976 Matom-step/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016589 | 0.0022805 | 0.0027973 | 0.9 | 1.68 +Neigh | 0.012838 | 0.013347 | 0.014456 | 0.6 | 9.85 +Comm | 0.062667 | 0.064428 | 0.066142 | 0.6 | 47.54 +Output | 0.0018075 | 0.001966 | 0.0024125 | 0.6 | 1.45 +Modify | 0.038219 | 0.039639 | 0.041101 | 0.6 | 29.25 +Other | | 0.01387 | | | 10.24 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.1 b/examples/rigid/log.25Mar24.rigid.early.g++.1 new file mode 100644 index 0000000000..9f5d86312e --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.early.g++.1 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.127115 on 1 procs for 10000 steps with 81 atoms + +Performance: 679698.303 tau/day, 78668.785 timesteps/s, 6.372 Matom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0074904 | 0.0074904 | 0.0074904 | 0.0 | 5.89 +Neigh | 0.044675 | 0.044675 | 0.044675 | 0.0 | 35.15 +Comm | 0.0079194 | 0.0079194 | 0.0079194 | 0.0 | 6.23 +Output | 0.0018129 | 0.0018129 | 0.0018129 | 0.0 | 1.43 +Modify | 0.057845 | 0.057845 | 0.057845 | 0.0 | 45.51 +Other | | 0.007372 | | | 5.80 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.4 b/examples/rigid/log.25Mar24.rigid.early.g++.4 new file mode 100644 index 0000000000..e0b182d9fc --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.early.g++.4 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.133679 on 4 procs for 10000 steps with 81 atoms + +Performance: 646325.439 tau/day, 74806.185 timesteps/s, 6.059 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016629 | 0.0023406 | 0.0028762 | 0.9 | 1.75 +Neigh | 0.012558 | 0.013331 | 0.015279 | 1.0 | 9.97 +Comm | 0.060677 | 0.062779 | 0.0646 | 0.7 | 46.96 +Output | 0.0017495 | 0.001914 | 0.0023526 | 0.6 | 1.43 +Modify | 0.037566 | 0.039361 | 0.040514 | 0.6 | 29.44 +Other | | 0.01395 | | | 10.44 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.1 b/examples/rigid/log.25Mar24.rigid.g++.1 new file mode 100644 index 0000000000..6b27146c6b --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.002 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.136528 on 1 procs for 10000 steps with 81 atoms + +Performance: 632835.120 tau/day, 73244.806 timesteps/s, 5.933 Matom-step/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0091674 | 0.0091674 | 0.0091674 | 0.0 | 6.71 +Neigh | 0.046854 | 0.046854 | 0.046854 | 0.0 | 34.32 +Comm | 0.0076933 | 0.0076933 | 0.0076933 | 0.0 | 5.63 +Output | 0.001779 | 0.001779 | 0.001779 | 0.0 | 1.30 +Modify | 0.063842 | 0.063842 | 0.063842 | 0.0 | 46.76 +Other | | 0.007193 | | | 5.27 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.4 b/examples/rigid/log.25Mar24.rigid.g++.4 new file mode 100644 index 0000000000..c2f691b7ec --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.134503 on 4 procs for 10000 steps with 81 atoms + +Performance: 642365.322 tau/day, 74347.838 timesteps/s, 6.022 Matom-step/s +96.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016076 | 0.0023247 | 0.002836 | 0.9 | 1.73 +Neigh | 0.012491 | 0.013229 | 0.0145 | 0.7 | 9.84 +Comm | 0.062105 | 0.063666 | 0.06514 | 0.5 | 47.33 +Output | 0.0017602 | 0.0019318 | 0.0024227 | 0.6 | 1.44 +Modify | 0.038132 | 0.039518 | 0.040852 | 0.5 | 29.38 +Other | | 0.01383 | | | 10.29 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.1 b/examples/rigid/log.25Mar24.rigid.gravity.g++.1 new file mode 100644 index 0000000000..87b814dfab --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.gravity.g++.1 @@ -0,0 +1,228 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +#Pour composite granular particles on flat wall + +newton on +atom_style sphere +atom_modify map array sort 0 0 + +thermo_modify flush yes +units si + +variable minrad equal 0.5 +variable maxrad equal 1.4 + +variable skin equal 0.3*${maxrad} +variable skin equal 0.3*1.4 + +boundary p p f +region reg block 0 20 0 20 0 200 units box +create_box 1 reg +Created orthogonal box = (0 0 0) to (20 20 200) + 1 by 1 by 1 MPI processor grid + +fix prop all property/atom mol ghost yes + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 +pair_coeff * * + +timestep 0.0001 + +group particles type 1 +0 atoms in group particles +atom_modify first particles + +neighbor ${skin} bin +neighbor 0.42 bin +group rigid type 1 +0 atoms in group rigid +neigh_modify every 1 delay 0 check yes exclude molecule/intra all + +thermo ${logfreq} +thermo 1000 +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) +thermo_modify flush yes lost warn + +comm_modify vel yes cutoff 3 + +molecule mymol molecule.data +Read molecule template mymol: +LAMMPS data file created for rigid body molecule template + 1 molecules + 0 fragments + 5 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +region pourreg block 5 15 5 15 80 100 side in units box + +#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity +# and the 'gravity' keyword to fix rigid/small were not available. +# These settings produce undesirable behavior, where gravity can induce +# torque on rigid bodies. +#fix gravfix all gravity 9.8 vector 0 0 -1 #disable +#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix + +#The correct behavior is recovered with the following settings: +fix gravfix all gravity 9.8 vector 0 0 -1 disable +fix rigidfix all rigid/small molecule mol mymol gravity gravfix + create bodies CPU = 0.000 seconds + 0 rigid bodies with 0 atoms + 1.2 = max distance from body owner to body atom + +fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix +Particle insertion: 15 every 20203 steps, 5 by step 1 + +fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL + +#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.62 + ghost atom cutoff = 3 + binsize = 0.81, bins = 25 25 247 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.893 | 6.893 | 6.893 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.005385611 25 -0 + 2000 0.01106897 25 -0 + 3000 0.01569532 25 -0 + 4000 0.020782538 25 -0 + 5000 0.02656256 25 -0 + 6000 0.03132421 25 -0 + 7000 0.035996621 25 -0 + 8000 0.040816339 25 -0 + 9000 0.045911912 25 -0 + 10000 0.051486339 25 -0 + 11000 0.058049641 25 -0 + 12000 0.063206805 25 -0 + 13000 0.068374138 25 -0 + 14000 0.073423818 25 -0 + 15000 0.078890587 25 -0 + 16000 0.086372246 25 -0 + 17000 0.091912312 25 -0 + 18000 0.097317178 25 -0 + 19000 0.10284163 25 -0 + 20000 0.10836857 25 -0 + 21000 0.11476057 25 -0 + 22000 0.12201322 25 -0 + 23000 0.127963 25 -0 + 24000 0.13386968 25 -0 + 25000 0.1397396 25 -0 + 26000 0.14672759 25 -0 + 27000 0.15447534 25 -0 + 28000 0.16103509 25 -0 + 29000 0.16703686 25 -0 + 30000 0.17306375 25 -0 + 31000 0.18150464 25 -0 + 32000 0.1874536 25 -0 + 33000 0.19372953 25 -0 + 34000 0.19997087 25 -0 + 35000 0.20643521 25 -0 + 36000 0.21499446 25 -0 + 37000 0.22129475 25 -0 + 38000 0.2278159 25 -0 + 39000 0.23262556 25 -0 + 40000 0.23679 25 -0 + 41000 0.2428383 25 -0 + 42000 0.24757287 25 -0 + 43000 0.25190701 25 -0 + 44000 0.25617771 25 -0 + 45000 0.26057242 25 -0 + 46000 0.26469065 25 -0 + 47000 0.26921214 25 -0 + 48000 0.27502337 25 -0 + 49000 0.27911905 25 -0 + 50000 0.28338379 25 -0 + 51000 0.28736617 25 -0 + 52000 0.29127304 25 -0 + 53000 0.29504445 25 -0 + 54000 0.29898933 25 -0 + 55000 0.30479176 25 -0 + 56000 0.30893347 25 -0 + 57000 0.31277358 25 -0 + 58000 0.31658797 25 -0 + 59000 0.32024112 25 -0 + 60000 0.32373109 25 -0 + 61000 0.32753442 25 -0 + 62000 0.33123815 25 -0 + 63000 0.33643285 25 -0 + 64000 0.34036569 25 -0 + 65000 0.34399532 25 -0 + 66000 0.3475875 25 -0 + 67000 0.35124833 25 -0 + 68000 0.35503825 25 -0 + 69000 0.35870471 25 -0 + 70000 0.3624294 25 -0 + 71000 0.36714884 25 -0 + 72000 0.37082887 25 -0 + 73000 0.37459885 25 -0 + 74000 0.37835449 25 -0 + 75000 0.38245549 25 -0 + 76000 0.38681838 25 -0 + 77000 0.39069919 25 -0 + 78000 0.39460729 25 -0 + 79000 0.39908672 25 -0 + 80000 0.40266481 25 -0 + 81000 0.40645032 25 -0 + 82000 0.41005038 25 -0 + 83000 0.41355864 25 -0 + 84000 0.41741638 25 -0 + 85000 0.42182475 25 -0 + 86000 0.42614449 25 -0 + 87000 0.43024819 25 -0 + 88000 0.43389722 25 -0 + 89000 0.4372946 25 -0 + 90000 0.44097963 25 -0 + 91000 0.44451596 25 -0 + 92000 0.44800886 25 -0 + 93000 0.45171482 25 -0 + 94000 0.45568312 25 -0 + 95000 0.46068385 25 -0 + 96000 0.46423783 25 -0 + 97000 0.46783791 25 -0 + 98000 0.47132532 25 -0 + 99000 0.47462675 25 -0 + 100000 0.47811781 25 -0 +Loop time of 0.478128 on 1 procs for 100000 steps with 25 atoms + +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.016638 | 0.016638 | 0.016638 | 0.0 | 3.48 +Neigh | 0.12338 | 0.12338 | 0.12338 | 0.0 | 25.81 +Comm | 0.026212 | 0.026212 | 0.026212 | 0.0 | 5.48 +Output | 0.0015672 | 0.0015672 | 0.0015672 | 0.0 | 0.33 +Modify | 0.28303 | 0.28303 | 0.28303 | 0.0 | 59.20 +Other | | 0.0273 | | | 5.71 + +Nlocal: 25 ave 25 max 25 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1 ave 1 max 1 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 703 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.4 b/examples/rigid/log.25Mar24.rigid.gravity.g++.4 new file mode 100644 index 0000000000..ddf76fb4d6 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.gravity.g++.4 @@ -0,0 +1,228 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +#Pour composite granular particles on flat wall + +newton on +atom_style sphere +atom_modify map array sort 0 0 + +thermo_modify flush yes +units si + +variable minrad equal 0.5 +variable maxrad equal 1.4 + +variable skin equal 0.3*${maxrad} +variable skin equal 0.3*1.4 + +boundary p p f +region reg block 0 20 0 20 0 200 units box +create_box 1 reg +Created orthogonal box = (0 0 0) to (20 20 200) + 1 by 1 by 4 MPI processor grid + +fix prop all property/atom mol ghost yes + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 +pair_coeff * * + +timestep 0.0001 + +group particles type 1 +0 atoms in group particles +atom_modify first particles + +neighbor ${skin} bin +neighbor 0.42 bin +group rigid type 1 +0 atoms in group rigid +neigh_modify every 1 delay 0 check yes exclude molecule/intra all + +thermo ${logfreq} +thermo 1000 +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) +thermo_modify flush yes lost warn + +comm_modify vel yes cutoff 3 + +molecule mymol molecule.data +Read molecule template mymol: +LAMMPS data file created for rigid body molecule template + 1 molecules + 0 fragments + 5 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +region pourreg block 5 15 5 15 80 100 side in units box + +#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity +# and the 'gravity' keyword to fix rigid/small were not available. +# These settings produce undesirable behavior, where gravity can induce +# torque on rigid bodies. +#fix gravfix all gravity 9.8 vector 0 0 -1 #disable +#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix + +#The correct behavior is recovered with the following settings: +fix gravfix all gravity 9.8 vector 0 0 -1 disable +fix rigidfix all rigid/small molecule mol mymol gravity gravfix + create bodies CPU = 0.000 seconds + 0 rigid bodies with 0 atoms + 1.2 = max distance from body owner to body atom + +fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix +Particle insertion: 15 every 20203 steps, 5 by step 1 + +fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL + +#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.62 + ghost atom cutoff = 3 + binsize = 0.81, bins = 25 25 247 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.09 | 6.09 | 6.09 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.007155423 25 -0 + 2000 0.013621411 25 -0 + 3000 0.018069993 25 -0 + 4000 0.022375597 25 -0 + 5000 0.027610001 25 -0 + 6000 0.032700728 25 -0 + 7000 0.036781214 25 -0 + 8000 0.041026343 25 -0 + 9000 0.045133974 25 -0 + 10000 0.049302504 25 -0 + 11000 0.053475155 25 -0 + 12000 0.058101552 25 -0 + 13000 0.063617332 25 -0 + 14000 0.070220865 25 -0 + 15000 0.079467476 25 -0 + 16000 0.085128592 25 -0 + 17000 0.088670803 25 -0 + 18000 0.093576466 25 -0 + 19000 0.096967506 25 -0 + 20000 0.10032704 25 -0 + 21000 0.1037381 25 -0 + 22000 0.10714647 25 -0 + 23000 0.11062389 25 -0 + 24000 0.11408744 25 -0 + 25000 0.12017243 25 -0 + 26000 0.12858759 25 -0 + 27000 0.13356253 25 -0 + 28000 0.13819667 25 -0 + 29000 0.14299332 25 -0 + 30000 0.14766723 25 -0 + 31000 0.15258071 25 -0 + 32000 0.15836989 25 -0 + 33000 0.16306841 25 -0 + 34000 0.16769723 25 -0 + 35000 0.172317 25 -0 + 36000 0.17698336 25 -0 + 37000 0.18173594 25 -0 + 38000 0.1879449 25 -0 + 39000 0.19236501 25 -0 + 40000 0.1964458 25 -0 + 41000 0.20045733 25 -0 + 42000 0.20454794 25 -0 + 43000 0.20872097 25 -0 + 44000 0.21291348 25 -0 + 45000 0.21780319 25 -0 + 46000 0.22260816 25 -0 + 47000 0.22686931 25 -0 + 48000 0.23117793 25 -0 + 49000 0.23535185 25 -0 + 50000 0.24054306 25 -0 + 51000 0.24463963 25 -0 + 52000 0.24938311 25 -0 + 53000 0.25348209 25 -0 + 54000 0.25745703 25 -0 + 55000 0.26145377 25 -0 + 56000 0.26534485 25 -0 + 57000 0.26928518 25 -0 + 58000 0.27321574 25 -0 + 59000 0.27791991 25 -0 + 60000 0.28284558 25 -0 + 61000 0.28673327 25 -0 + 62000 0.29055931 25 -0 + 63000 0.2945131 25 -0 + 64000 0.29846467 25 -0 + 65000 0.30238139 25 -0 + 66000 0.3062491 25 -0 + 67000 0.31026454 25 -0 + 68000 0.31498685 25 -0 + 69000 0.31887771 25 -0 + 70000 0.32278066 25 -0 + 71000 0.32658541 25 -0 + 72000 0.33047871 25 -0 + 73000 0.33441507 25 -0 + 74000 0.33830186 25 -0 + 75000 0.34298503 25 -0 + 76000 0.3470502 25 -0 + 77000 0.35093166 25 -0 + 78000 0.35472767 25 -0 + 79000 0.35858626 25 -0 + 80000 0.36236101 25 -0 + 81000 0.36621078 25 -0 + 82000 0.36998141 25 -0 + 83000 0.37417451 25 -0 + 84000 0.37850331 25 -0 + 85000 0.38230344 25 -0 + 86000 0.38621429 25 -0 + 87000 0.38998154 25 -0 + 88000 0.39378687 25 -0 + 89000 0.397529 25 -0 + 90000 0.40133202 25 -0 + 91000 0.40575097 25 -0 + 92000 0.41012392 25 -0 + 93000 0.41397633 25 -0 + 94000 0.41791732 25 -0 + 95000 0.42174915 25 -0 + 96000 0.42570384 25 -0 + 97000 0.4295687 25 -0 + 98000 0.43339555 25 -0 + 99000 0.43810319 25 -0 + 100000 0.44205356 25 -0 +Loop time of 0.442071 on 4 procs for 100000 steps with 25 atoms + +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0043596 | 0.0077919 | 0.015026 | 4.9 | 1.76 +Neigh | 0.03639 | 0.037869 | 0.038842 | 0.5 | 8.57 +Comm | 0.029189 | 0.034805 | 0.038937 | 2.3 | 7.87 +Output | 0.00094691 | 0.0012173 | 0.0019545 | 1.2 | 0.28 +Modify | 0.031085 | 0.10076 | 0.24754 | 27.5 | 22.79 +Other | | 0.2596 | | | 58.73 + +Nlocal: 6.25 ave 25 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 703 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.infile.g++.1 new file mode 100644 index 0000000000..a8d6f550aa --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.infile.g++.1 @@ -0,0 +1,310 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722859e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663193 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532807 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 + 9600 16738.549 -0.026814365 0 5269.5163 12.011415 + 9650 16738.765 -0.10191521 0 5269.5092 12.011013 + 9700 16735.041 1.0589871 0 5269.4979 12.062708 + 9750 16738.013 0.13550136 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270559 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984558 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.134486 on 1 procs for 10000 steps with 81 atoms + +Performance: 642445.705 tau/day, 74357.142 timesteps/s, 6.023 Matom-step/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0076798 | 0.0076798 | 0.0076798 | 0.0 | 5.71 +Neigh | 0.048776 | 0.048776 | 0.048776 | 0.0 | 36.27 +Comm | 0.0085249 | 0.0085249 | 0.0085249 | 0.0 | 6.34 +Output | 0.0021846 | 0.0021846 | 0.0021846 | 0.0 | 1.62 +Modify | 0.059372 | 0.059372 | 0.059372 | 0.0 | 44.15 +Other | | 0.007949 | | | 5.91 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.infile.g++.4 new file mode 100644 index 0000000000..0e4f37b698 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.infile.g++.4 @@ -0,0 +1,310 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722861e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814367 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589878 0 5269.4979 12.062708 + 9750 16738.013 0.13550114 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270564 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.135118 on 4 procs for 10000 steps with 81 atoms + +Performance: 639441.862 tau/day, 74009.475 timesteps/s, 5.995 Matom-step/s +97.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015919 | 0.0022753 | 0.0028384 | 0.9 | 1.68 +Neigh | 0.012494 | 0.013468 | 0.015484 | 1.0 | 9.97 +Comm | 0.061357 | 0.0636 | 0.06555 | 0.7 | 47.07 +Output | 0.0017441 | 0.0018894 | 0.0023095 | 0.6 | 1.40 +Modify | 0.037856 | 0.039816 | 0.041217 | 0.6 | 29.47 +Other | | 0.01407 | | | 10.41 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.1 b/examples/rigid/log.25Mar24.rigid.molecule.g++.1 new file mode 100644 index 0000000000..75d05c3d07 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.molecule.g++.1 @@ -0,0 +1,319 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.130618 on 1 procs for 10000 steps with 81 atoms + +Performance: 661470.393 tau/day, 76559.073 timesteps/s, 6.201 Matom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0069622 | 0.0069622 | 0.0069622 | 0.0 | 5.33 +Bond | 0.00033246 | 0.00033246 | 0.00033246 | 0.0 | 0.25 +Neigh | 0.053402 | 0.053402 | 0.053402 | 0.0 | 40.88 +Comm | 0.008192 | 0.008192 | 0.008192 | 0.0 | 6.27 +Output | 0.0015884 | 0.0015884 | 0.0015884 | 0.0 | 1.22 +Modify | 0.053219 | 0.053219 | 0.053219 | 0.0 | 40.74 +Other | | 0.006922 | | | 5.30 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.4 b/examples/rigid/log.25Mar24.rigid.molecule.g++.4 new file mode 100644 index 0000000000..6cbb88d471 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.molecule.g++.4 @@ -0,0 +1,319 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.139893 on 4 procs for 10000 steps with 81 atoms + +Performance: 617616.025 tau/day, 71483.336 timesteps/s, 5.790 Matom-step/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015795 | 0.0022375 | 0.0027109 | 0.9 | 1.60 +Bond | 0.00031772 | 0.00032314 | 0.00032894 | 0.0 | 0.23 +Neigh | 0.015169 | 0.016101 | 0.017803 | 0.8 | 11.51 +Comm | 0.063065 | 0.06514 | 0.06737 | 0.7 | 46.56 +Output | 0.001945 | 0.0020985 | 0.0025044 | 0.5 | 1.50 +Modify | 0.03865 | 0.039853 | 0.041246 | 0.6 | 28.49 +Other | | 0.01414 | | | 10.11 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 new file mode 100644 index 0000000000..d9fbe7ee28 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940182 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052044 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913194 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543712 0 5269.5051 13.052041 + 7700 16736.839 0.49724664 0 5269.502 13.085872 + 7750 16731.931 2.0427463 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994384 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368065 0 5269.5142 13.083 + 9700 16738.475 -0.00099963025 0 5269.519 13.083029 + 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.005648013 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 +Loop time of 0.13715 on 1 procs for 10000 steps with 81 atoms + +Performance: 629968.103 tau/day, 72912.975 timesteps/s, 5.906 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0074777 | 0.0074777 | 0.0074777 | 0.0 | 5.45 +Neigh | 0.043608 | 0.043608 | 0.043608 | 0.0 | 31.80 +Comm | 0.0078838 | 0.0078838 | 0.0078838 | 0.0 | 5.75 +Output | 0.002002 | 0.002002 | 0.002002 | 0.0 | 1.46 +Modify | 0.06884 | 0.06884 | 0.06884 | 0.0 | 50.19 +Other | | 0.007339 | | | 5.35 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19 ave 19 max 19 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 new file mode 100644 index 0000000000..077e7976b9 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940181 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052045 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913195 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543714 0 5269.5051 13.052041 + 7700 16736.839 0.49724671 0 5269.502 13.085872 + 7750 16731.931 2.0427465 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994385 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368067 0 5269.5142 13.083 + 9700 16738.475 -0.00099963027 0 5269.519 13.083029 + 9750 16738.492 -0.00498524 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 +Loop time of 0.14818 on 4 procs for 10000 steps with 81 atoms + +Performance: 583075.499 tau/day, 67485.590 timesteps/s, 5.466 Matom-step/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018099 | 0.0023754 | 0.0030445 | 1.0 | 1.60 +Neigh | 0.011989 | 0.012986 | 0.01555 | 1.3 | 8.76 +Comm | 0.062426 | 0.065066 | 0.066364 | 0.6 | 43.91 +Output | 0.0017674 | 0.0019257 | 0.002368 | 0.6 | 1.30 +Modify | 0.050371 | 0.051161 | 0.052809 | 0.4 | 34.53 +Other | | 0.01467 | | | 9.90 + +Nlocal: 20.25 ave 35 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 41 ave 52 max 30 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 4.75 ave 19 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.g++.1 new file mode 100644 index 0000000000..45bfc9f8d4 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940182 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052044 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913194 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543712 0 5269.5051 13.052041 + 7700 16736.839 0.49724664 0 5269.502 13.085872 + 7750 16731.931 2.0427463 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994384 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368065 0 5269.5142 13.083 + 9700 16738.475 -0.00099963025 0 5269.519 13.083029 + 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.005648013 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 +Loop time of 0.139287 on 1 procs for 10000 steps with 81 atoms + +Performance: 620300.751 tau/day, 71794.068 timesteps/s, 5.815 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0074128 | 0.0074128 | 0.0074128 | 0.0 | 5.32 +Neigh | 0.045566 | 0.045566 | 0.045566 | 0.0 | 32.71 +Comm | 0.007912 | 0.007912 | 0.007912 | 0.0 | 5.68 +Output | 0.0015912 | 0.0015912 | 0.0015912 | 0.0 | 1.14 +Modify | 0.06951 | 0.06951 | 0.06951 | 0.0 | 49.90 +Other | | 0.007295 | | | 5.24 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19 ave 19 max 19 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.g++.4 new file mode 100644 index 0000000000..af3c1c6489 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940181 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052045 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913195 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543714 0 5269.5051 13.052041 + 7700 16736.839 0.49724671 0 5269.502 13.085872 + 7750 16731.931 2.0427465 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994385 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368067 0 5269.5142 13.083 + 9700 16738.475 -0.00099963027 0 5269.519 13.083029 + 9750 16738.492 -0.00498524 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 +Loop time of 0.147071 on 4 procs for 10000 steps with 81 atoms + +Performance: 587469.667 tau/day, 67994.174 timesteps/s, 5.508 Matom-step/s +98.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016588 | 0.0023518 | 0.0030017 | 1.0 | 1.60 +Neigh | 0.011581 | 0.012949 | 0.014883 | 1.1 | 8.80 +Comm | 0.063654 | 0.065097 | 0.066501 | 0.4 | 44.26 +Output | 0.0017378 | 0.0018782 | 0.0022756 | 0.5 | 1.28 +Modify | 0.049872 | 0.050432 | 0.051195 | 0.2 | 34.29 +Other | | 0.01436 | | | 9.77 + +Nlocal: 20.25 ave 35 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 41 ave 52 max 30 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 4.75 ave 19 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.1 b/examples/rigid/log.25Mar24.rigid.poems.g++.1 new file mode 100644 index 0000000000..0e69724dda --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384279 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184717 + 1150 20849.582 206.01695 0 3680.9472 -0.86699135 + 1200 21815.003 45.317412 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.06408 + 1300 20780.781 217.36509 0 3680.8286 6.0538614 + 1350 20558.971 254.36485 0 3680.8601 -3.6773923 + 1400 21485.029 99.812891 0 3680.6511 -16.185475 + 1450 21771.107 52.159624 0 3680.6775 -2.4756668 + 1500 21520.948 93.503905 0 3680.3286 2.1023577 + 1550 21351.418 121.68136 0 3680.2511 5.5159922 + 1600 20778.805 216.92182 0 3680.0559 15.089193 + 1650 21477.637 100.21853 0 3679.8247 -1.1045536 + 1700 18501.335 596.47986 0 3680.0357 -15.679729 + 1750 18563.64 587.34819 0 3681.2882 33.532254 + 1800 19110.181 494.82407 0 3679.8543 18.02406 + 1850 21364.186 119.23625 0 3679.9339 2.5290683 + 1900 20146.613 322.15086 0 3679.9197 5.7314718 + 1950 20692.671 231.25334 0 3680.0319 4.2977791 + 2000 20943.905 189.11211 0 3679.7629 -22.644575 + 2050 19667.965 401.84519 0 3679.8394 3.6247265 + 2100 20280.309 299.78396 0 3679.8355 7.4806221 + 2150 19181.565 483.57073 0 3680.4982 22.62593 + 2200 21300.569 130.63684 0 3680.7316 4.7090558 + 2250 20486.112 266.77753 0 3681.1296 -8.6505201 + 2300 18651.193 572.56862 0 3681.1008 -5.2604682 + 2350 21514.435 95.462414 0 3681.2016 -9.3718933 + 2400 21464.75 103.81741 0 3681.2757 -29.521964 + 2450 20103.185 331.7557 0 3682.2865 35.600257 + 2500 20767.309 221.18002 0 3682.3981 -12.41075 + 2550 20461.88 271.93545 0 3682.2488 -22.542329 + 2600 21463.807 104.97703 0 3682.2782 -10.118749 + 2650 20902.135 198.66716 0 3682.3564 5.0103958 + 2700 18582.384 585.6465 0 3682.7106 22.212808 + 2750 21079.961 168.86261 0 3682.1894 -8.8401109 + 2800 21425.876 111.18035 0 3682.1598 -6.7933883 + 2850 17414.605 780.0645 0 3682.4987 28.180022 + 2900 19978.961 352.1845 0 3682.0113 8.4280816 + 2950 21189.046 150.47808 0 3681.9858 2.8898793 + 3000 19271.367 469.54947 0 3681.4439 -7.1530396 + 3050 21470.889 103.45294 0 3681.9344 -1.4975516 + 3100 21574.513 85.87604 0 3681.6282 7.0301554 + 3150 21649.42 73.506656 0 3681.7434 1.6649326 + 3200 20857.44 205.3704 0 3681.6104 2.9318184 + 3250 18573.575 585.73328 0 3681.3292 5.9394399 + 3300 17938.353 691.67199 0 3681.3975 9.7205454 + 3350 18668.795 570.23722 0 3681.7031 3.6442733 + 3400 16834.721 876.36804 0 3682.1548 21.869594 + 3450 20148.848 323.06988 0 3681.2112 3.8120475 + 3500 21039.942 175.06064 0 3681.7177 1.4965105 + 3550 21439.472 108.66655 0 3681.9119 4.192594 + 3600 21457.784 105.54883 0 3681.8461 -2.932673 + 3650 21409.999 113.49591 0 3681.829 -15.09817 + 3700 21380.023 118.56895 0 3681.9061 -15.461367 + 3750 20422.085 277.28852 0 3680.9694 19.331799 + 3800 18275.038 635.75951 0 3681.5992 22.413362 + 3850 20906.341 197.06897 0 3681.4592 2.5691289 + 3900 20041.032 341.11847 0 3681.2905 1.8089245 + 3950 18917.084 528.44677 0 3681.2941 -10.656627 + 4000 20425.89 276.98688 0 3681.3018 7.5960674 + 4050 18289.157 633.13575 0 3681.3286 6.5695895 + 4100 19601.884 414.64621 0 3681.6269 8.6144847 + 4150 20790.308 216.9575 0 3682.0088 1.6300255 + 4200 21043.169 174.98738 0 3682.1822 3.8942459 + 4250 19073.45 503.63057 0 3682.5389 -10.975988 + 4300 21251.971 140.63454 0 3682.6298 -7.7937426 + 4350 20844.867 208.08653 0 3682.2311 -10.295096 + 4400 20869.781 203.57469 0 3681.8716 -8.7176985 + 4450 20384.41 284.19751 0 3681.5992 3.9044821 + 4500 20002.241 346.95848 0 3680.6654 12.100678 + 4550 21410.259 112.40994 0 3680.7864 -6.6653767 + 4600 18230.418 641.88921 0 3680.2922 22.502391 + 4650 21319.778 127.76737 0 3681.0638 -0.50309316 + 4700 19429.05 441.85455 0 3680.0296 20.851722 + 4750 20395.967 281.13332 0 3680.4611 12.635024 + 4800 19405.371 446.47714 0 3680.7056 -3.0340076 + 4850 19935.979 358.4478 0 3681.1109 -7.9390554 + 4900 18822.801 543.80607 0 3680.9396 -3.1086099 + 4950 20569.881 252.87963 0 3681.1932 11.807076 + 5000 20311.182 296.63458 0 3681.8315 -4.2409472 + 5050 20187.672 316.83663 0 3681.4486 1.8723981 + 5100 17439.679 775.35516 0 3681.9684 -5.7037267 + 5150 20394.4 282.56755 0 3681.6342 4.3399253 + 5200 20294.84 299.10095 0 3681.5742 -9.9868412 + 5250 20396.122 282.31614 0 3681.6698 -4.9932521 + 5300 20617.465 245.11679 0 3681.3609 0.97429493 + 5350 21651.191 72.878802 0 3681.4106 2.0913693 + 5400 19097.721 498.69617 0 3681.6496 21.808511 + 5450 21856.73 38.930299 0 3681.7186 -4.0225451 + 5500 20087.477 334.09405 0 3682.0069 5.7109498 + 5550 17734.477 726.10594 0 3681.8522 16.277738 + 5600 21183.231 151.714 0 3682.2525 -2.1080998 + 5650 20832.185 210.14251 0 3682.1733 -8.0602581 + 5700 18879.226 535.50935 0 3682.0471 -14.351666 + 5750 18931.81 529.67506 0 3684.9768 4.8675164 + 5800 21674.979 70.259619 0 3682.7561 -14.990544 + 5850 21395.905 116.47471 0 3682.4588 -0.94334402 + 5900 18532.955 593.27143 0 3682.0973 26.072477 + 5950 20767.534 220.78554 0 3682.0413 -1.6468662 + 6000 21546.127 91.167146 0 3682.1882 -5.4664857 + 6050 20085.534 334.40872 0 3681.9977 -0.34825498 + 6100 21218.156 145.88926 0 3682.2486 2.2871905 + 6150 20902.857 198.59424 0 3682.4038 6.0082154 + 6200 21726.547 61.195607 0 3682.2868 -2.2981656 + 6250 17507.589 764.20763 0 3682.1392 9.4977327 + 6300 21687.283 67.283821 0 3681.831 -8.694756 + 6350 19806.474 380.24632 0 3681.3254 -0.94067379 + 6400 21128.461 160.65399 0 3682.0641 -4.8435757 + 6450 19747.214 390.89694 0 3682.0992 1.9108969 + 6500 20460.408 272.79545 0 3682.8634 -4.1094877 + 6550 16740.095 892.11547 0 3682.1313 13.20551 + 6600 18326.164 628.80415 0 3683.1648 -19.884336 + 6650 18469.284 605.36384 0 3683.5778 10.345658 + 6700 21086.876 168.61821 0 3683.0976 -0.036118094 + 6750 19924.801 361.46485 0 3682.2649 -2.1144953 + 6800 19812.028 380.5919 0 3682.5966 11.119936 + 6850 19118.501 496.38857 0 3682.8054 0.53906703 + 6900 19221.04 478.31879 0 3681.8255 11.13851 + 6950 20482.79 269.03445 0 3682.8328 2.6705981 + 7000 16350.403 957.96283 0 3683.03 -2.9783385 + 7050 20789.906 218.36242 0 3683.3467 4.2465754 + 7100 17718.126 730.09011 0 3683.111 15.271811 + 7150 19020.414 513.34591 0 3683.4149 -8.3035633 + 7200 21165.007 156.24494 0 3683.7461 -7.3085107 + 7250 20520.422 264.35574 0 3684.4261 -6.7803072 + 7300 19078.795 505.10953 0 3684.9087 -11.147107 + 7350 20529.173 263.85389 0 3685.3827 0.59881989 + 7400 20548.068 261.27337 0 3685.9513 -5.0067382 + 7450 20849.172 211.46852 0 3686.3306 -0.80175538 + 7500 20869.894 207.95335 0 3686.2689 0.44541197 + 7550 18490.583 605.63557 0 3687.3993 -11.744631 + 7600 19185.381 488.52218 0 3686.0857 3.0881652 + 7650 20520.848 265.65037 0 3685.7917 -0.28165722 + 7700 20599.631 251.69265 0 3684.9645 0.19835423 + 7750 18428.55 614.11446 0 3685.5395 5.8092563 + 7800 19660.337 408.61674 0 3685.3396 4.9902979 + 7850 19409.663 450.30454 0 3685.2483 8.8641567 + 7900 21307.628 133.95865 0 3685.23 -1.8297128 + 7950 17828.245 713.05722 0 3684.4314 5.9673166 + 8000 15894.788 1036.4896 0 3685.621 57.567209 + 8050 18588.022 587.45738 0 3685.4611 1.5643233 + 8100 20664.194 241.59965 0 3685.632 -4.9298687 + 8150 17745.538 728.43249 0 3686.0221 6.121885 + 8200 18433.239 612.84747 0 3685.0539 17.078623 + 8250 19162.628 492.52511 0 3686.2965 12.204945 + 8300 18507.768 602.21188 0 3686.8399 -14.003487 + 8350 21010.715 184.80032 0 3686.5861 -0.93351338 + 8400 20888.233 205.24214 0 3686.6143 -5.3433619 + 8450 20920.621 199.6941 0 3686.4643 -30.437742 + 8500 17085.22 840.80474 0 3688.3414 3.9123878 + 8550 20900.377 203.87077 0 3687.267 -6.7525851 + 8600 19771.517 392.67499 0 3687.9278 13.762684 + 8650 19541.099 431.09497 0 3687.9448 2.0785077 + 8700 21056.327 178.88314 0 3688.2709 -13.663758 + 8750 20109.075 336.93228 0 3688.4447 -1.0445182 + 8800 21821.77 51.337654 0 3688.2993 -10.263971 + 8850 17653.401 740.45074 0 3682.6842 49.147758 + 8900 20311.01 302.92663 0 3688.095 -8.1910583 + 8950 19745.488 396.38557 0 3687.3003 -16.948557 + 9000 20248.989 311.52221 0 3686.3537 -2.4158415 + 9050 17850.649 710.17969 0 3685.2878 25.692377 + 9100 19370.284 456.73812 0 3685.1187 -21.201413 + 9150 20452.896 276.95741 0 3685.7735 2.0316457 + 9200 19174.266 488.9925 0 3684.7035 10.317202 + 9250 20174.171 323.4614 0 3685.8232 -2.1072552 + 9300 21442.761 111.68542 0 3685.479 -12.303658 + 9350 19697.287 402.21503 0 3685.0963 8.4697153 + 9400 21553.763 93.03581 0 3685.3297 -6.7286485 + 9450 18946.935 527.04498 0 3684.8674 -6.6174191 + 9500 21162.915 158.64321 0 3685.7957 -3.2085936 + 9550 20704.844 235.41227 0 3686.2196 10.847095 + 9600 20664.074 242.09733 0 3686.1096 3.7301969 + 9650 20829.655 214.20146 0 3685.8107 7.2197609 + 9700 17336.625 797.22781 0 3686.6654 14.775351 + 9750 19978.15 356.51126 0 3686.2029 -1.1978838 + 9800 21150.487 162.1616 0 3687.2427 -15.596643 + 9850 20849.962 213.10316 0 3688.0968 -5.5443282 + 9900 18407.158 620.93592 0 3688.7956 10.177471 + 9950 20459.637 278.24203 0 3688.1815 0.0020687238 + 10000 21667.112 78.10938 0 3689.2948 -12.660594 +Loop time of 3.06048 on 1 procs for 10000 steps with 81 atoms + +Performance: 28230.843 tau/day, 3267.459 timesteps/s, 264.664 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11571 | 0.11571 | 0.11571 | 0.0 | 3.78 +Neigh | 0.094982 | 0.094982 | 0.094982 | 0.0 | 3.10 +Comm | 0.0098585 | 0.0098585 | 0.0098585 | 0.0 | 0.32 +Output | 0.003355 | 0.003355 | 0.003355 | 0.0 | 0.11 +Modify | 2.8226 | 2.8226 | 2.8226 | 0.0 | 92.23 +Other | | 0.01395 | | | 0.46 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 115 ave 115 max 115 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 808 ave 808 max 808 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 808 +Ave neighs/atom = 9.9753086 +Neighbor list builds = 1162 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.4 b/examples/rigid/log.25Mar24.rigid.poems.g++.4 new file mode 100644 index 0000000000..b75701792d --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384277 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184718 + 1150 20849.582 206.01695 0 3680.9472 -0.86699156 + 1200 21815.003 45.317416 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064076 + 1300 20780.781 217.36505 0 3680.8286 6.0538619 + 1350 20558.972 254.36481 0 3680.8601 -3.6773978 + 1400 21485.029 99.812941 0 3680.6511 -16.185471 + 1450 21771.108 52.159596 0 3680.6775 -2.4756679 + 1500 21520.948 93.503942 0 3680.3286 2.1023578 + 1550 21351.418 121.6814 0 3680.2511 5.5159969 + 1600 20778.805 216.92173 0 3680.0559 15.089183 + 1650 21477.639 100.21825 0 3679.8247 -1.1045878 + 1700 18501.342 596.47873 0 3680.0357 -15.679646 + 1750 18563.643 587.34777 0 3681.2882 33.532181 + 1800 19110.189 494.82286 0 3679.8543 18.024038 + 1850 21364.195 119.2348 0 3679.9339 2.5291365 + 1900 20146.638 322.1467 0 3679.9197 5.7312008 + 1950 20692.67 231.25355 0 3680.0319 4.297766 + 2000 20943.904 189.1122 0 3679.7629 -22.645478 + 2050 19668.123 401.81885 0 3679.8394 3.6254541 + 2100 20280.531 299.74669 0 3679.8352 7.4808896 + 2150 19182.034 483.49332 0 3680.4991 22.616956 + 2200 21299.885 130.75166 0 3680.7326 4.7110487 + 2250 20487.525 266.54254 0 3681.1301 -8.6422018 + 2300 18654.522 572.01515 0 3681.1021 -5.2661499 + 2350 21512.897 95.719565 0 3681.2024 -9.3553511 + 2400 21467.306 103.39279 0 3681.2771 -29.588234 + 2450 20097.914 332.63812 0 3682.2904 35.845886 + 2500 20762.362 222.00787 0 3682.4016 -12.509872 + 2550 20417.692 279.31982 0 3682.2685 -22.320693 + 2600 21468.738 104.15905 0 3682.2821 -10.050868 + 2650 20742.305 225.31121 0 3682.362 5.2887043 + 2700 18575.367 586.68141 0 3682.5759 21.990986 + 2750 20577.766 252.52411 0 3682.1518 -5.8697894 + 2800 20683.69 234.89244 0 3682.1741 -6.7464964 + 2850 16088.831 1001.1454 0 3682.6172 27.686908 + 2900 20715.565 229.46407 0 3682.0583 6.5207552 + 2950 19969.143 353.98595 0 3682.1765 5.3891903 + 3000 20429.639 277.11063 0 3682.0505 -10.302229 + 3050 19840.965 375.78339 0 3682.611 -6.1970263 + 3100 19149.859 490.69976 0 3682.3429 22.372557 + 3150 20421.772 278.3256 0 3681.9543 8.7381033 + 3200 19492.899 433.22833 0 3682.0448 4.3431162 + 3250 20231.034 310.12852 0 3681.9675 -3.2734265 + 3300 19420.155 445.8855 0 3682.578 14.157316 + 3350 21386.445 117.85565 0 3682.2631 1.9590216 + 3400 20372.28 286.91596 0 3682.296 8.2472357 + 3450 20870.351 203.91619 0 3682.308 7.9601676 + 3500 21469.401 104.14434 0 3682.3778 2.5067348 + 3550 21630.799 77.317219 0 3682.4504 -6.5148709 + 3600 21291.513 133.97558 0 3682.5611 -8.8761801 + 3650 19138.211 493.09199 0 3682.7937 25.075733 + 3700 21282.953 135.36631 0 3682.5252 -8.1163312 + 3750 20660.876 239.15863 0 3682.638 -24.806983 + 3800 20161.169 322.26065 0 3682.4555 13.204808 + 3850 19477.477 435.56421 0 3681.8105 31.065794 + 3900 21108.425 164.35492 0 3682.4258 0.37839399 + 3950 21195.124 150.68497 0 3683.2056 -10.098889 + 4000 21477.025 103.95273 0 3683.4568 -4.139886 + 4050 20603.58 249.35497 0 3683.2849 1.3114756 + 4100 19724.656 396.37166 0 3683.8144 -6.6159163 + 4150 20768.839 221.21034 0 3682.6835 -3.4649381 + 4200 19675.942 404.01538 0 3683.339 17.586922 + 4250 21022.927 179.12036 0 3682.9415 0.59436606 + 4300 20511.134 264.68208 0 3683.2044 8.8380269 + 4350 21038.204 177.05256 0 3683.42 -1.3698914 + 4400 18866.857 539.5082 0 3683.9844 10.461602 + 4450 21607.322 83.184316 0 3684.4046 -1.5071605 + 4500 20895.628 201.9445 0 3684.5492 5.7578991 + 4550 20210.744 316.5044 0 3684.9617 5.6678493 + 4600 20416.269 282.24539 0 3684.9569 -3.0067543 + 4650 18811.283 549.46791 0 3684.6817 7.5182454 + 4700 20899.462 201.92249 0 3685.1661 2.6998262 + 4750 20771.285 223.44307 0 3685.3239 12.165622 + 4800 21834.653 46.231798 0 3685.3407 2.021615 + 4850 21282.348 138.2858 0 3685.3437 4.2174481 + 4900 21892.433 36.607993 0 3685.3468 -10.208769 + 4950 21731.003 63.442124 0 3685.2759 -26.918841 + 5000 21476.967 105.69026 0 3685.1848 -10.007088 + 5050 20485.84 270.81814 0 3685.1248 0.65119013 + 5100 21485.763 104.28837 0 3685.2488 -5.3826149 + 5150 21485.096 104.44183 0 3685.2912 -1.274141 + 5200 21388.175 120.61165 0 3685.3074 -7.7953815 + 5250 20656.672 242.51472 0 3685.2934 -4.4067447 + 5300 20132.262 330.10916 0 3685.4862 -11.466755 + 5350 19080.054 505.63228 0 3685.6413 4.6356684 + 5400 21683.337 71.886529 0 3685.7761 -8.4520633 + 5450 20632.669 246.77173 0 3685.5499 5.5429152 + 5500 20896.92 202.76984 0 3685.5898 3.9762924 + 5550 21172.409 156.92085 0 3685.6557 2.6573146 + 5600 20695.91 236.255 0 3685.5733 -18.109158 + 5650 21741.679 61.956471 0 3685.5697 -3.7520994 + 5700 21164.94 157.60813 0 3685.098 2.4020734 + 5750 21075.393 172.84386 0 3685.4093 7.646915 + 5800 20638.831 245.82076 0 3685.6259 8.3009859 + 5850 20262.966 308.37489 0 3685.5359 7.5861941 + 5900 21730.418 63.97074 0 3685.7071 -6.2813552 + 5950 21820.659 48.990687 0 3685.7673 -5.6400713 + 6000 21027.051 181.2853 0 3685.7937 1.213872 + 6050 14422.66 1284.4174 0 3688.194 57.908667 + 6100 19852.685 377.0743 0 3685.8552 -5.1418207 + 6150 20678.783 239.10987 0 3685.5737 -11.982018 + 6200 19788.097 387.62127 0 3685.6375 -2.684571 + 6250 21611.523 83.575418 0 3685.496 1.7544019 + 6300 19214.109 482.45067 0 3684.8021 24.711965 + 6350 18800.074 553.07966 0 3686.4254 11.125791 + 6400 19771.53 390.40388 0 3685.659 -6.1254643 + 6450 20192.282 319.53713 0 3684.9175 13.959536 + 6500 20360.332 292.28682 0 3685.6755 4.4265274 + 6550 21778.739 56.056362 0 3685.8462 -4.6705452 + 6600 16612.689 917.96646 0 3686.748 -32.617733 + 6650 21068.368 174.38501 0 3685.7797 -0.84207954 + 6700 20749.675 227.41249 0 3685.6916 2.9235268 + 6750 20594.96 253.47665 0 3685.9699 -12.440843 + 6800 19974.133 357.05242 0 3686.0745 34.064247 + 6850 21802.523 52.05173 0 3685.8055 -1.4073818 + 6900 18644.747 577.97031 0 3685.4282 19.759245 + 6950 20463.441 274.90799 0 3685.4815 1.2230553 + 7000 20213.292 316.50714 0 3685.3892 23.9288 + 7050 21571.525 90.089593 0 3685.3437 -26.539261 + 7100 20480.036 271.77541 0 3685.1147 -0.13969301 + 7150 21064.842 174.4144 0 3685.2214 3.5451037 + 7200 21179.296 154.8514 0 3684.7341 -5.007319 + 7250 20714.182 232.84783 0 3685.2115 10.601943 + 7300 19341.561 461.91524 0 3685.5087 18.89547 + 7350 21011.016 183.55321 0 3685.3893 1.6481821 + 7400 21206.598 151.07364 0 3685.5066 1.5040526 + 7450 19999.404 352.83129 0 3686.0652 -18.58587 + 7500 21581.952 88.519362 0 3685.5114 -4.0009441 + 7550 21652.618 76.962392 0 3685.7321 -5.758242 + 7600 21207.411 150.86712 0 3685.4355 -0.023727123 + 7650 21756.168 59.804311 0 3685.8323 0.76768563 + 7700 21825.037 48.380795 0 3685.8869 -0.11098207 + 7750 21581.665 89.078228 0 3686.0223 -0.50220667 + 7800 21714.856 66.946216 0 3686.0889 4.637364 + 7850 21319.774 132.905 0 3686.2007 3.4663558 + 7900 21730.647 64.263898 0 3686.0384 1.0898763 + 7950 21597.663 86.255996 0 3685.8664 3.2847476 + 8000 21724.118 65.137632 0 3685.8239 3.7318614 + 8050 19672.702 406.56191 0 3685.3456 -0.37960768 + 8100 21696.026 69.71367 0 3685.7179 -6.2273451 + 8150 18869.648 540.09908 0 3685.0403 22.915669 + 8200 21717.002 66.01922 0 3685.5196 -4.8553801 + 8250 20292.502 303.3445 0 3685.4282 -13.203008 + 8300 21314.341 133.18215 0 3685.5724 -10.023288 + 8350 20992.272 186.87998 0 3685.592 -4.5538872 + 8400 21726.088 64.55825 0 3685.573 -5.1228188 + 8450 21188.98 153.93449 0 3685.4311 -6.8622554 + 8500 21113.87 166.54678 0 3685.5251 2.6009221 + 8550 20620.735 248.66776 0 3685.4569 -8.0047984 + 8600 19715.276 399.79648 0 3685.6758 -10.980391 + 8650 18898.94 535.95488 0 3685.7782 22.513752 + 8700 21692.841 70.067726 0 3685.5413 -3.3917479 + 8750 20242.909 311.87115 0 3685.6893 17.996012 + 8800 19253.702 476.69077 0 3685.6411 3.7170165 + 8850 17625.913 748.07802 0 3685.7302 11.095548 + 8900 21554.709 92.817998 0 3685.2696 0.30720376 + 8950 21585.337 87.685891 0 3685.2421 -0.22047593 + 9000 17454.847 776.14227 0 3685.2834 22.631913 + 9050 20023.106 347.35041 0 3684.5348 4.0008899 + 9100 21100.691 168.07199 0 3684.8539 2.9016681 + 9150 20307.206 299.45669 0 3683.991 2.1630277 + 9200 21747.579 60.245542 0 3684.8421 -15.419887 + 9250 21525.571 97.26157 0 3684.8567 -7.0449498 + 9300 15084.149 1170.5925 0 3684.6173 43.259279 + 9350 21198.648 151.70957 0 3684.8176 3.0716881 + 9400 17771.533 724.65805 0 3686.5802 -18.320033 + 9450 20029.819 346.23988 0 3684.543 -4.0976705 + 9500 19913.342 365.57743 0 3684.4677 2.4909741 + 9550 20594.619 252.35578 0 3684.7923 -4.4263632 + 9600 21013.668 182.33425 0 3684.6122 -1.9371919 + 9650 16915.052 865.78051 0 3684.9559 1.8697619 + 9700 18789.78 553.48818 0 3685.1181 15.642074 + 9750 21236.716 145.75801 0 3685.2107 -3.6730702 + 9800 20972.957 189.72849 0 3685.2214 0.85691231 + 9850 19658.721 408.29826 0 3684.7517 14.8446 + 9900 21624.401 81.484234 0 3685.5511 3.4507557 + 9950 21883.535 38.474607 0 3685.7304 0.3038348 + 10000 21355.31 126.72088 0 3685.9392 -5.5872974 +Loop time of 3.32742 on 4 procs for 10000 steps with 81 atoms + +Performance: 25966.084 tau/day, 3005.334 timesteps/s, 243.432 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0073125 | 0.031081 | 0.067049 | 13.5 | 0.93 +Neigh | 0.010912 | 0.030444 | 0.058202 | 10.8 | 0.91 +Comm | 0.084952 | 0.12347 | 0.18323 | 10.9 | 3.71 +Output | 0.0033463 | 0.0038996 | 0.0047508 | 0.9 | 0.12 +Modify | 2.8501 | 2.9361 | 3.0072 | 3.5 | 88.24 +Other | | 0.2024 | | | 6.08 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 33.5 ave 66 max 2 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 212.5 ave 850 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 850 +Ave neighs/atom = 10.493827 +Neighbor list builds = 1246 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.1 b/examples/rigid/log.25Mar24.rigid.poems2.g++.1 new file mode 100644 index 0000000000..4a8cb1298a --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems2.g++.1 @@ -0,0 +1,330 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173512 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50505 0 3904.2848 15.670464 + 300 19266.324 333.5788 0 3901.4165 7.2119173 + 350 20738.325 63.738945 0 3904.1694 -23.039989 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13818 0 3902.6059 0.42074126 + 500 20365.825 131.47231 0 3902.9213 0.69215475 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26028 0 3902.494 12.047308 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71155 0 3901.9116 3.471602 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.2723139 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717093 0 3902.5839 -34.817443 + 1250 20625.583 82.586395 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316033 + 1400 19753.56 244.81774 0 3902.8844 6.7138457 + 1450 15690.143 998.34271 0 3903.9248 48.124667 + 1500 20234.455 155.92517 0 3903.0465 13.172173 + 1550 20779.63 55.062895 0 3903.1426 -2.6390424 + 1600 20642.757 80.232879 0 3902.9657 -2.4687934 + 1650 18785.716 423.90031 0 3902.7365 -5.6468747 + 1700 20965.076 20.760295 0 3903.1818 -0.45382233 + 1750 18935.466 396.94949 0 3903.5173 25.912008 + 1800 20581.509 91.766145 0 3903.1567 3.8229018 + 1850 20616.968 85.18122 0 3903.1382 4.1907646 + 1900 16600.676 828.66496 0 3902.8643 -0.49197745 + 1950 20175.677 166.50513 0 3902.7416 5.6027746 + 2000 20268.078 149.2566 0 3902.6044 -1.1951453 + 2050 20155.388 170.16328 0 3902.6425 -0.79473147 + 2100 19715.497 250.63403 0 3901.652 3.6719022 + 2150 20677.205 73.792009 0 3902.9041 0.64246071 + 2200 20041.156 191.58407 0 3902.9093 7.4438342 + 2250 19924.453 213.0259 0 3902.7394 2.3652069 + 2300 20432.764 119.13103 0 3902.9763 -11.527566 + 2350 18265.828 520.75569 0 3903.3165 -8.9634198 + 2400 19574.981 277.7963 0 3902.7927 1.8085002 + 2450 20655.975 77.958119 0 3903.1387 3.4001031 + 2500 19783.143 239.3546 0 3902.8995 24.872182 + 2550 16660.113 818.36907 0 3903.5752 -11.766765 + 2600 19789.524 238.61817 0 3903.3448 3.3910931 + 2650 18532.96 471.8684 0 3903.898 -4.812577 + 2700 19081.457 369.81185 0 3903.4151 -0.49159968 + 2750 20370.042 131.6764 0 3903.9064 -3.3818893 + 2800 20727.087 65.499688 0 3903.8491 4.3537941 + 2850 18252.657 523.061 0 3903.1827 11.774986 + 2900 20780.391 55.586541 0 3903.8071 5.4415831 + 2950 20361.047 132.98647 0 3903.5508 -2.4847656 + 3000 19528.633 284.87405 0 3901.2876 14.23453 + 3050 20385.56 127.80448 0 3902.9081 -0.51079949 + 3100 19040.7 376.96613 0 3903.0216 -8.9425331 + 3150 20053.417 189.7312 0 3903.327 4.6695643 + 3200 20862.681 40.219985 0 3903.6795 1.2220199 + 3250 20692.32 71.660474 0 3903.5716 2.118694 + 3300 20560.104 95.905282 0 3903.332 5.9856809 + 3350 20693.236 71.35789 0 3903.4387 3.9315564 + 3400 19045.135 376.64379 0 3903.5206 3.9692419 + 3450 20354.826 134.28157 0 3903.6938 7.6208552 + 3500 20528.053 102.12643 0 3903.6178 7.2863414 + 3550 20525.13 103.01612 0 3903.9661 8.4807852 + 3600 19782.42 240.28031 0 3903.6914 1.0181878 + 3650 20519.52 104.05243 0 3903.9636 -2.36641 + 3700 20024.307 195.68587 0 3903.8908 -6.261818 + 3750 20239.643 155.72722 0 3903.8092 -20.781566 + 3800 20601.2 88.794605 0 3903.8317 -11.491217 + 3850 20973.346 19.675436 0 3903.6283 -9.0554155 + 3900 16212.846 902.10241 0 3904.4813 -19.773976 + 3950 19645.576 264.59477 0 3902.6643 16.065663 + 4000 17439.655 673.47397 0 3903.0398 -3.7357722 + 4050 19305.077 328.50056 0 3903.5148 10.43441 + 4100 18634.36 451.24343 0 3902.0508 3.4327844 + 4150 20249.11 153.64108 0 3903.4763 -2.5190604 + 4200 19177.928 351.81896 0 3903.2871 -5.5110274 + 4250 20754.898 60.189732 0 3903.6893 -3.3019026 + 4300 19693.307 256.31591 0 3903.2245 5.8795929 + 4350 18411.713 494.6957 0 3904.2722 4.2513782 + 4400 18499.707 474.35141 0 3900.2231 10.120914 + 4450 18620.543 449.98137 0 3898.2301 0.74648702 + 4500 18930.676 398.47668 0 3904.1573 -3.3953153 + 4550 18708.382 438.70363 0 3903.2188 8.478793 + 4600 19937.049 211.7655 0 3903.8117 4.8300368 + 4650 19919.169 214.98435 0 3903.7194 -1.0166319 + 4700 19345.329 321.18127 0 3903.6496 -23.032019 + 4750 18391.67 498.629 0 3904.4939 -15.40779 + 4800 18597.103 459.20983 0 3903.1179 9.3900723 + 4850 19857.892 226.27908 0 3903.6665 4.1998427 + 4900 20428.515 120.59483 0 3903.6532 -1.8636046 + 4950 18457.127 485.79992 0 3903.7864 -7.2380409 + 5000 20543.123 99.480661 0 3903.7627 -0.39555479 + 5050 18716.671 436.46735 0 3902.5175 29.395654 + 5100 20048.411 191.03727 0 3903.706 -0.91178091 + 5150 19647.675 265.24989 0 3903.7083 3.8658742 + 5200 20787.465 54.078505 0 3903.6091 -3.3582221 + 5250 20630.096 83.165593 0 3903.5538 -11.86045 + 5300 16598.926 830.02918 0 3903.9043 -1.8793568 + 5350 19114.667 363.424 0 3903.1772 11.894383 + 5400 19563.654 280.22257 0 3903.1215 8.8285523 + 5450 20012.628 197.27325 0 3903.3154 2.1981092 + 5500 17845.428 599.4114 0 3904.1202 20.091131 + 5550 20630.423 82.857857 0 3903.3065 0.93827014 + 5600 19675.125 259.89939 0 3903.4411 -2.4034875 + 5650 19932.349 212.22024 0 3903.3961 2.0064698 + 5700 20499.192 107.17918 0 3903.3259 2.5440649 + 5750 19522.335 287.94941 0 3903.1966 -0.7615272 + 5800 18010.242 568.31554 0 3903.5455 -6.3433889 + 5850 20177.497 166.64243 0 3903.2159 -0.95012013 + 5900 17919.358 584.40694 0 3902.8065 10.49282 + 5950 18390.453 498.29164 0 3903.9311 10.026285 + 6000 18040.232 562.71939 0 3903.5032 0.22172862 + 6050 19777.355 240.88597 0 3903.3592 -3.1899015 + 6100 19132.014 360.58765 0 3903.5531 1.6644736 + 6150 19780.214 240.31985 0 3903.3224 4.2403325 + 6200 18883.45 406.45503 0 3903.3902 -3.5422327 + 6250 19875.924 222.49729 0 3903.2239 3.0535292 + 6300 19882.454 221.4928 0 3903.4287 5.7371152 + 6350 19040.565 377.18193 0 3903.2124 -0.26454332 + 6400 19137.008 359.7025 0 3903.5929 9.5375531 + 6450 19655.205 263.59789 0 3903.4507 -1.8592763 + 6500 18385.045 499.5436 0 3904.1816 -7.8549266 + 6550 18823.423 417.69964 0 3903.5187 -2.8268518 + 6600 19414.118 308.11966 0 3903.3268 4.6627243 + 6650 20533.065 100.75047 0 3903.1698 3.3716972 + 6700 20206.283 161.18079 0 3903.085 5.6368472 + 6750 19517.622 288.72511 0 3903.0995 0.3337076 + 6800 18152.278 541.45525 0 3902.9883 -7.2734044 + 6850 18910.032 401.19322 0 3903.0511 6.2653128 + 6900 18580.612 462.26403 0 3903.1182 15.681586 + 6950 20459.012 114.44928 0 3903.1552 -0.82985388 + 7000 20866.868 38.822988 0 3903.0578 -6.2182429 + 7050 20460.074 114.11492 0 3903.0175 -2.1465384 + 7100 20553.533 96.636153 0 3902.846 -5.105486 + 7150 20447.915 116.30898 0 3902.9599 8.2035464 + 7200 20703.396 69.030336 0 3902.9926 9.1221166 + 7250 19652.215 263.63438 0 3902.9335 17.675447 + 7300 20691.205 71.094727 0 3902.7994 -1.7423404 + 7350 18845.785 412.74313 0 3902.7033 -2.0276584 + 7400 18462.131 483.73088 0 3902.6441 -0.22424322 + 7450 20458.641 113.96173 0 3902.599 -4.9286236 + 7500 17681.258 628.1576 0 3902.4647 -16.803813 + 7550 19149.34 356.35773 0 3902.5318 -5.3481685 + 7600 19723.907 249.45462 0 3902.03 7.2597963 + 7650 19317.18 325.01536 0 3902.271 -0.16642424 + 7700 19620.248 269.22043 0 3902.5996 -4.6771277 + 7750 17751.083 615.46827 0 3902.7058 7.3637076 + 7800 20724.904 64.633157 0 3902.5784 5.2079592 + 7850 19966.924 204.60327 0 3902.1817 6.4943932 + 7900 19730.339 248.88701 0 3902.6536 8.4392109 + 7950 19907.748 216.06587 0 3902.6859 -5.1989259 + 8000 18217.971 528.46486 0 3902.1632 -15.394144 + 8050 17868.898 592.98294 0 3902.0381 9.1139508 + 8100 19370.601 315.22753 0 3902.3759 7.9651368 + 8150 18199.01 532.43818 0 3902.6252 10.07163 + 8200 20646.337 79.222148 0 3902.6179 0.17396159 + 8250 20811.938 48.374613 0 3902.4372 -14.594973 + 8300 20906.571 30.626024 0 3902.2132 -12.34909 + 8350 19873.431 221.86861 0 3902.1335 7.1435615 + 8400 20374.979 127.96219 0 3901.1064 10.527044 + 8450 20701.502 68.073078 0 3901.6846 2.5071154 + 8500 20452.423 113.98399 0 3901.4698 4.2164058 + 8550 19695.059 253.87834 0 3901.1115 8.0656507 + 8600 19447.531 299.45597 0 3900.8505 -0.71982287 + 8650 17202.668 714.55842 0 3900.2378 -16.743518 + 8700 18579.153 459.20676 0 3899.7906 3.4494692 + 8750 20247.204 150.39086 0 3899.8731 -0.1022032 + 8800 18520.797 469.57224 0 3899.3494 5.7412252 + 8850 16011.411 934.80107 0 3899.8772 34.500452 + 8900 19045.914 372.92529 0 3899.9464 10.001612 + 8950 19798.369 233.70991 0 3900.0746 9.3270865 + 9000 17141.02 725.70858 0 3899.9716 -6.7470927 + 9050 17722.847 617.81927 0 3899.828 -10.909071 + 9100 20811.604 45.701413 0 3899.7021 -12.300065 + 9150 18066.034 554.62654 0 3900.1884 -5.7606837 + 9200 19259.884 332.49612 0 3899.1412 -40.231609 + 9250 19116.782 359.42396 0 3899.5689 0.68271469 + 9300 18785.022 421.1178 0 3899.8256 -20.433345 + 9350 19018.32 377.90289 0 3899.814 3.2963902 + 9400 17321.798 691.93839 0 3899.6788 24.552549 + 9450 18318.437 507.12661 0 3899.4297 6.1367468 + 9500 16431.681 857.32722 0 3900.2311 25.431389 + 9550 17920.939 581.45381 0 3900.1462 9.1734747 + 9600 16603.394 825.79291 0 3900.4954 -5.9643183 + 9650 17753.931 607.15019 0 3894.9151 2.2302338 + 9700 17452.305 668.30613 0 3900.2145 2.4635322 + 9750 15955.164 945.80159 0 3900.4617 20.290857 + 9800 17958.495 574.7055 0 3900.3526 12.218625 + 9850 18759.766 423.66965 0 3897.7005 -4.8999337 + 9900 19798.529 232.2507 0 3898.6449 0.10312101 + 9950 18260.87 517.50071 0 3899.1432 5.7261992 + 10000 19116.279 359.58291 0 3899.6345 3.2110764 +Loop time of 3.11933 on 1 procs for 10000 steps with 81 atoms + +Performance: 27698.233 tau/day, 3205.814 timesteps/s, 259.671 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.063297 | 0.063297 | 0.063297 | 0.0 | 2.03 +Neigh | 0.072119 | 0.072119 | 0.072119 | 0.0 | 2.31 +Comm | 0.012058 | 0.012058 | 0.012058 | 0.0 | 0.39 +Output | 0.0036722 | 0.0036722 | 0.0036722 | 0.0 | 0.12 +Modify | 2.953 | 2.953 | 2.953 | 0.0 | 94.67 +Other | | 0.01515 | | | 0.49 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 105 ave 105 max 105 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 498 ave 498 max 498 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 498 +Ave neighs/atom = 6.1481481 +Neighbor list builds = 1202 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.4 b/examples/rigid/log.25Mar24.rigid.poems2.g++.4 new file mode 100644 index 0000000000..bc26f32538 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems2.g++.4 @@ -0,0 +1,330 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62032 0 3904.3981 -4.6173548 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.272315 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1906 0 3902.6833 21.194041 + 1150 19658.317 261.99809 0 3902.4272 -2.8744196 + 1200 20767.681 56.717093 0 3902.5839 -34.817444 + 1250 20625.583 82.586396 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316031 + 1400 19753.56 244.81777 0 3902.8844 6.713847 + 1450 15690.145 998.34279 0 3903.9252 48.124638 + 1500 20234.455 155.92476 0 3903.0461 13.17218 + 1550 20779.631 55.063072 0 3903.1428 -2.6390427 + 1600 20642.756 80.233303 0 3902.9659 -2.4688077 + 1650 18785.71 423.90132 0 3902.7365 -5.6468182 + 1700 20965.076 20.760481 0 3903.182 -0.45377448 + 1750 18935.45 396.95247 0 3903.5173 25.912353 + 1800 20581.523 91.763662 0 3903.1567 3.8225817 + 1850 20616.962 85.182351 0 3903.1382 4.1907744 + 1900 16601.061 828.59343 0 3902.8639 -0.49284971 + 1950 20175.618 166.51633 0 3902.7419 5.6031735 + 2000 20266.439 149.55931 0 3902.6036 -1.1956447 + 2050 20159.308 169.44017 0 3902.6453 -0.7983344 + 2100 19743.72 245.40822 0 3901.6527 3.5301052 + 2150 20674.556 74.284034 0 3902.9055 0.61532081 + 2200 19950.784 208.30189 0 3902.8915 7.6523945 + 2250 19817.161 232.7485 0 3902.5932 3.4492756 + 2300 20459.058 114.2307 0 3902.9451 -11.066393 + 2350 18359.21 503.25787 0 3903.1115 -9.0741539 + 2400 19952.914 207.84881 0 3902.8328 -0.53972874 + 2450 19661.352 259.78979 0 3900.781 7.8669927 + 2500 20917.293 29.699201 0 3903.2719 1.1433085 + 2550 20763.955 57.990256 0 3903.1671 -1.1088372 + 2600 20640.005 80.556339 0 3902.7795 9.6127007 + 2650 20823.227 47.292746 0 3903.446 2.2923503 + 2700 20401.43 125.53141 0 3903.5739 -8.0683618 + 2750 20689.918 72.242212 0 3903.7084 0.22078527 + 2800 20783.922 54.87309 0 3903.7476 2.0668249 + 2850 19258.563 336.84835 0 3903.2488 4.2704683 + 2900 20565.694 95.184831 0 3903.6468 -0.24799068 + 2950 20915.041 30.344751 0 3903.5004 -2.9900907 + 3000 19571.964 278.74004 0 3903.1778 12.195325 + 3050 20356.693 133.43974 0 3903.1976 0.11608195 + 3100 20047.888 190.69627 0 3903.268 -4.5895546 + 3150 19834.363 230.59072 0 3903.6209 -1.4352632 + 3200 20213.412 160.25129 0 3903.4757 3.7488266 + 3250 19286.774 332.04497 0 3903.6699 -5.0835358 + 3300 20952.226 23.774103 0 3903.816 0.10019546 + 3350 20407.952 124.62932 0 3903.8798 0.4403531 + 3400 19401.716 311.03567 0 3903.9461 1.8034568 + 3450 20880.78 37.20558 0 3904.0167 6.3948533 + 3500 19529.313 287.50301 0 3904.0425 12.311168 + 3550 20943.604 25.677677 0 3904.1228 5.1786098 + 3600 20272.725 149.91697 0 3904.1254 1.196909 + 3650 19781.047 240.95421 0 3904.1111 -8.5091671 + 3700 20613.433 86.53896 0 3903.8414 -9.1622102 + 3750 20567.605 95.294456 0 3904.1101 -0.11887825 + 3800 19891.98 220.32932 0 3904.0292 6.8801146 + 3850 20669.735 76.407858 0 3904.1365 -7.4310509 + 3900 20908.711 32.197181 0 3904.1807 -4.6573356 + 3950 20822.78 48.03134 0 3904.1018 0.086779759 + 4000 20199.055 163.66262 0 3904.2283 2.0027771 + 4050 20072.638 187.07041 0 3904.2256 4.4103784 + 4100 17724.651 619.7903 0 3902.1331 11.210006 + 4150 20760.201 60.001382 0 3904.4831 -3.8510009 + 4200 19159.102 356.30472 0 3904.2865 -2.3503308 + 4250 19403.974 311.3497 0 3904.6783 -1.2458384 + 4300 20858.687 42.000734 0 3904.7206 2.1750528 + 4350 20486.989 110.94383 0 3904.8306 5.017245 + 4400 20231.073 158.28825 0 3904.7832 7.4295979 + 4450 16369.689 873.39361 0 3904.8175 14.371454 + 4500 20745.196 63.11427 0 3904.8172 -7.855609 + 4550 18688.003 443.85636 0 3904.5977 9.8067426 + 4600 17755.672 616.68475 0 3904.7721 -3.9654703 + 4650 19843.131 230.34486 0 3904.9988 -0.13553926 + 4700 18873.202 409.99341 0 3905.0308 15.912724 + 4750 20605.355 89.223116 0 3905.0295 2.0847611 + 4800 20136.483 176.1278 0 3905.1062 -1.7091113 + 4850 19808.073 236.83278 0 3904.9945 5.0982271 + 4900 19142.083 359.55764 0 3904.3878 8.2072008 + 4950 20539.687 101.08198 0 3904.7277 8.0469319 + 5000 20840.809 45.759021 0 3905.168 4.771755 + 5050 20009.696 199.45528 0 3904.9546 6.1191423 + 5100 20882.034 38.247578 0 3905.2909 -6.3068822 + 5150 20329.869 140.47458 0 3905.2651 -21.720979 + 5200 17334.411 695.67098 0 3905.7471 -9.8243617 + 5250 19602.025 275.17282 0 3905.1775 -3.2371379 + 5300 20858.74 42.630642 0 3905.3603 0.38011789 + 5350 20828.619 48.188698 0 3905.3403 5.7187945 + 5400 20978.428 20.447148 0 3905.3413 6.1168011 + 5450 20115.374 179.9294 0 3904.9987 8.6440563 + 5500 20522.744 104.7733 0 3905.2815 -2.6561664 + 5550 20625.724 85.600795 0 3905.1792 -1.327206 + 5600 19559.638 282.68742 0 3904.8426 17.893028 + 5650 20552.224 98.978098 0 3904.9455 2.4489071 + 5700 19982.142 204.09989 0 3904.4966 9.9034011 + 5750 20408.825 125.30875 0 3904.7209 1.2515548 + 5800 19773.143 243.02134 0 3904.7144 -2.6729948 + 5850 20781.934 56.310486 0 3904.8168 -1.659054 + 5900 19807.668 236.54392 0 3904.6306 0.49776361 + 5950 20741.237 63.921667 0 3904.8916 4.2800039 + 6000 20322.7 140.98125 0 3904.4442 7.4978024 + 6050 20858.439 42.383629 0 3905.0575 -4.6872323 + 6100 20212.538 162.022 0 3905.0847 -7.0796165 + 6150 18513.957 476.7087 0 3905.2193 7.107138 + 6200 20802.734 52.621638 0 3904.9797 3.7242428 + 6250 20818.044 49.717458 0 3904.9109 -0.91041774 + 6300 19987.245 203.4635 0 3904.8052 -0.86714551 + 6350 20806.906 51.449749 0 3904.5806 -4.0699629 + 6400 20530.3 103.09809 0 3905.0055 1.660177 + 6450 20667.085 77.715553 0 3904.9535 0.99217521 + 6500 20515.816 105.81762 0 3905.0428 3.0994091 + 6550 20548.348 99.627131 0 3904.8769 -0.77417688 + 6600 19827.378 232.99889 0 3904.7355 3.295082 + 6650 19237.199 342.94808 0 3905.3923 -6.2226637 + 6700 19611.621 273.139 0 3904.9206 -3.5465535 + 6750 20874.805 39.1893 0 3904.8939 -0.051336814 + 6800 19433.717 305.99952 0 3904.8361 -19.858865 + 6850 20119.223 179.19987 0 3904.9818 4.6466283 + 6900 20467.389 114.77871 0 3905.0359 10.290214 + 6950 20334.202 139.43289 0 3905.0259 7.5448433 + 7000 20504.591 107.86929 0 3905.0158 -0.10092084 + 7050 17969.214 576.83722 0 3904.4694 10.852897 + 7100 19186.398 351.80467 0 3904.8414 0.24779979 + 7150 20261.23 152.54684 0 3904.6265 -7.0175844 + 7200 20696.821 71.985154 0 3904.7298 3.9649146 + 7250 18456.212 487.1819 0 3904.9989 5.8280225 + 7300 17705.1 625.95928 0 3904.6816 6.8298215 + 7350 17032.039 750.96958 0 3905.051 11.833303 + 7400 20557.431 97.599213 0 3904.5308 0.43747863 + 7450 20466.847 114.5693 0 3904.7261 1.9786538 + 7500 20416.862 123.31643 0 3904.2168 -2.9094738 + 7550 18433.95 487.50767 0 3901.2022 4.0921479 + 7600 19950.107 209.92208 0 3904.3863 3.9114888 + 7650 16037.844 934.94785 0 3904.9189 -1.2183461 + 7700 20145.239 173.99945 0 3904.5993 3.1185554 + 7750 18672.579 446.35236 0 3904.2373 4.1086445 + 7800 19740.616 249.10395 0 3904.7737 4.6048428 + 7850 20801.917 52.742096 0 3904.9489 1.5978265 + 7900 20305.348 144.57749 0 3904.8272 2.7348725 + 7950 20221.086 159.31958 0 3903.9652 7.1592496 + 8000 20826.907 47.953835 0 3904.7884 6.2728901 + 8050 18646.418 452.02126 0 3905.0617 5.9716218 + 8100 20653.653 80.183024 0 3904.9336 -1.8274783 + 8150 20843.275 45.172279 0 3905.0379 -6.9445524 + 8200 20364.78 133.45082 0 3904.7064 -12.094533 + 8250 18163.745 541.08818 0 3904.7447 -2.6103997 + 8300 20889.664 36.793018 0 3905.2494 -9.2650749 + 8350 20307.367 144.33088 0 3904.9543 -0.65999546 + 8400 20485.202 111.41317 0 3904.9691 -0.42802224 + 8450 20864.395 41.146879 0 3904.9238 7.7084978 + 8500 20901.899 34.291267 0 3905.0132 -5.2070823 + 8550 20211.78 162.02611 0 3904.9484 -5.8363409 + 8600 19639.538 268.05291 0 3905.0044 3.8180903 + 8650 19919.356 216.24885 0 3905.0185 0.17130921 + 8700 19499.449 293.97522 0 3904.9843 -4.897872 + 8750 20270.687 151.1571 0 3904.9879 0.28558082 + 8800 18804.137 422.61651 0 3904.864 15.351015 + 8850 20654.443 80.110976 0 3905.0078 4.1368065 + 8900 19953.725 209.81046 0 3904.9447 10.71743 + 8950 18195.013 536.67764 0 3906.1245 21.497802 + 9000 20478.531 112.78923 0 3905.1098 -13.053056 + 9050 20866.484 40.901611 0 3905.0653 -3.6134066 + 9100 20322.595 141.61419 0 3905.0577 15.459697 + 9150 20855.456 42.94311 0 3905.0646 4.9123213 + 9200 20208.201 162.79363 0 3905.0531 2.5454472 + 9250 18394.203 498.63686 0 3904.9707 0.041811692 + 9300 18776.997 427.7118 0 3904.9335 -7.652483 + 9350 18330.751 510.07857 0 3904.6621 8.3424059 + 9400 17538.366 657.08623 0 3904.9319 8.5478668 + 9450 20309.605 143.77142 0 3904.8093 6.6831447 + 9500 19982.331 203.81545 0 3904.2471 -7.6711411 + 9550 19410.612 310.1139 0 3904.6717 5.3983286 + 9600 19198.225 349.06634 0 3904.2932 -4.107658 + 9650 19388.043 314.31566 0 3904.6939 6.1198194 + 9700 18849.37 414.1045 0 3904.7286 5.4468861 + 9750 18263.312 523.38716 0 3905.4819 -0.56480349 + 9800 20421.858 122.53973 0 3904.3653 -15.641399 + 9850 17678.959 631.15683 0 3905.0381 -1.805446 + 9900 19421.046 306.67446 0 3903.1644 7.0287747 + 9950 18460.64 483.18902 0 3901.8261 3.658774 + 10000 19781.151 239.38136 0 3902.5575 6.3312911 +Loop time of 3.44431 on 4 procs for 10000 steps with 81 atoms + +Performance: 25084.833 tau/day, 2903.337 timesteps/s, 235.170 katom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.007256 | 0.017426 | 0.044845 | 12.0 | 0.51 +Neigh | 0.010951 | 0.023139 | 0.043878 | 8.2 | 0.67 +Comm | 0.070404 | 0.096764 | 0.1104 | 5.0 | 2.81 +Output | 0.0039809 | 0.0074043 | 0.010167 | 2.6 | 0.21 +Modify | 3.0537 | 3.0735 | 3.1272 | 1.8 | 89.23 +Other | | 0.226 | | | 6.56 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 38.25 ave 50 max 28 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Neighs: 126.5 ave 213 max 0 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 506 +Ave neighs/atom = 6.2469136 +Neighbor list builds = 1207 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.1 b/examples/rigid/log.25Mar24.rigid.poems3.g++.1 new file mode 100644 index 0000000000..2554c0f610 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems3.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.00096754004 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071213 0 5269.4974 11.918931 + 3300 16732.493 1.8663821 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475276 0 5269.4774 12.195939 + 3600 16728.659 3.059607 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974053 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.00022763101 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567427 0 5269.522 11.911005 + 9500 16738.495 -0.0036645346 0 5269.5224 11.910982 + 9550 16738.49 -0.001067391 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.00058544655 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244935 0 5269.5242 11.911015 +Loop time of 3.15773 on 1 procs for 10000 steps with 81 atoms + +Performance: 27361.390 tau/day, 3166.828 timesteps/s, 256.513 katom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0090105 | 0.0090105 | 0.0090105 | 0.0 | 0.29 +Neigh | 0.047552 | 0.047552 | 0.047552 | 0.0 | 1.51 +Comm | 0.012213 | 0.012213 | 0.012213 | 0.0 | 0.39 +Output | 0.0028666 | 0.0028666 | 0.0028666 | 0.0 | 0.09 +Modify | 3.0714 | 3.0714 | 3.0714 | 0.0 | 97.27 +Other | | 0.01471 | | | 0.47 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 66 ave 66 max 66 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 1576 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.4 b/examples/rigid/log.25Mar24.rigid.poems3.g++.4 new file mode 100644 index 0000000000..142b81ad80 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems3.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.00096754006 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071213 0 5269.4974 11.918931 + 3300 16732.493 1.866382 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475276 0 5269.4774 12.195939 + 3600 16728.659 3.059607 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136079 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.00022763102 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306434 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567424 0 5269.522 11.911005 + 9500 16738.495 -0.0036645342 0 5269.5224 11.910982 + 9550 16738.49 -0.0010673909 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.0005854466 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244937 0 5269.5242 11.911015 +Loop time of 3.27386 on 4 procs for 10000 steps with 81 atoms + +Performance: 26390.874 tau/day, 3054.499 timesteps/s, 247.414 katom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.003643 | 0.0042095 | 0.0048106 | 0.7 | 0.13 +Neigh | 0.015047 | 0.01644 | 0.018121 | 0.9 | 0.50 +Comm | 0.08923 | 0.091442 | 0.093047 | 0.5 | 2.79 +Output | 0.0033998 | 0.0040485 | 0.0051625 | 1.0 | 0.12 +Modify | 2.9783 | 2.9943 | 3.0343 | 1.3 | 91.46 +Other | | 0.1635 | | | 4.99 + +Nlocal: 20.25 ave 27 max 9 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 30.5 ave 50 max 14 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 1 ave 4 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 1576 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.1 b/examples/rigid/log.25Mar24.rigid.poems4.g++.1 new file mode 100644 index 0000000000..f754fba3b4 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems4.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384279 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184717 + 1150 20849.582 206.01695 0 3680.9472 -0.86699135 + 1200 21815.003 45.317412 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.06408 + 1300 20780.781 217.36509 0 3680.8286 6.0538614 + 1350 20558.971 254.36485 0 3680.8601 -3.6773923 + 1400 21485.029 99.812891 0 3680.6511 -16.185475 + 1450 21771.107 52.159624 0 3680.6775 -2.4756668 + 1500 21520.948 93.503905 0 3680.3286 2.1023577 + 1550 21351.418 121.68136 0 3680.2511 5.5159922 + 1600 20778.805 216.92182 0 3680.0559 15.089193 + 1650 21477.637 100.21853 0 3679.8247 -1.1045536 + 1700 18501.335 596.47986 0 3680.0357 -15.679729 + 1750 18563.64 587.34819 0 3681.2882 33.532254 + 1800 19110.181 494.82407 0 3679.8543 18.02406 + 1850 21364.186 119.23625 0 3679.9339 2.5290683 + 1900 20146.613 322.15086 0 3679.9197 5.7314718 + 1950 20692.671 231.25334 0 3680.0319 4.2977791 + 2000 20943.905 189.11211 0 3679.7629 -22.644575 + 2050 19667.965 401.84519 0 3679.8394 3.6247265 + 2100 20280.309 299.78396 0 3679.8355 7.4806221 + 2150 19181.565 483.57073 0 3680.4982 22.62593 + 2200 21300.569 130.63684 0 3680.7316 4.7090558 + 2250 20486.112 266.77753 0 3681.1296 -8.6505201 + 2300 18651.193 572.56862 0 3681.1008 -5.2604682 + 2350 21514.435 95.462414 0 3681.2016 -9.3718933 + 2400 21464.75 103.81741 0 3681.2757 -29.521964 + 2450 20103.185 331.7557 0 3682.2865 35.600257 + 2500 20767.309 221.18002 0 3682.3981 -12.41075 + 2550 20461.88 271.93545 0 3682.2488 -22.542329 + 2600 21463.807 104.97703 0 3682.2782 -10.118749 + 2650 20902.135 198.66716 0 3682.3564 5.0103958 + 2700 18582.384 585.6465 0 3682.7106 22.212808 + 2750 21079.961 168.86261 0 3682.1894 -8.8401109 + 2800 21425.876 111.18035 0 3682.1598 -6.7933883 + 2850 17414.605 780.0645 0 3682.4987 28.180022 + 2900 19978.961 352.1845 0 3682.0113 8.4280816 + 2950 21189.046 150.47808 0 3681.9858 2.8898793 + 3000 19271.367 469.54947 0 3681.4439 -7.1530396 + 3050 21470.889 103.45294 0 3681.9344 -1.4975516 + 3100 21574.513 85.87604 0 3681.6282 7.0301554 + 3150 21649.42 73.506656 0 3681.7434 1.6649326 + 3200 20857.44 205.3704 0 3681.6104 2.9318184 + 3250 18573.575 585.73328 0 3681.3292 5.9394399 + 3300 17938.353 691.67199 0 3681.3975 9.7205454 + 3350 18668.795 570.23722 0 3681.7031 3.6442733 + 3400 16834.721 876.36804 0 3682.1548 21.869594 + 3450 20148.848 323.06988 0 3681.2112 3.8120475 + 3500 21039.942 175.06064 0 3681.7177 1.4965105 + 3550 21439.472 108.66655 0 3681.9119 4.192594 + 3600 21457.784 105.54883 0 3681.8461 -2.932673 + 3650 21409.999 113.49591 0 3681.829 -15.09817 + 3700 21380.023 118.56895 0 3681.9061 -15.461367 + 3750 20422.085 277.28852 0 3680.9694 19.331799 + 3800 18275.038 635.75951 0 3681.5992 22.413362 + 3850 20906.341 197.06897 0 3681.4592 2.5691289 + 3900 20041.032 341.11847 0 3681.2905 1.8089245 + 3950 18917.084 528.44677 0 3681.2941 -10.656627 + 4000 20425.89 276.98688 0 3681.3018 7.5960674 + 4050 18289.157 633.13575 0 3681.3286 6.5695895 + 4100 19601.884 414.64621 0 3681.6269 8.6144847 + 4150 20790.308 216.9575 0 3682.0088 1.6300255 + 4200 21043.169 174.98738 0 3682.1822 3.8942459 + 4250 19073.45 503.63057 0 3682.5389 -10.975988 + 4300 21251.971 140.63454 0 3682.6298 -7.7937426 + 4350 20844.867 208.08653 0 3682.2311 -10.295096 + 4400 20869.781 203.57469 0 3681.8716 -8.7176985 + 4450 20384.41 284.19751 0 3681.5992 3.9044821 + 4500 20002.241 346.95848 0 3680.6654 12.100678 + 4550 21410.259 112.40994 0 3680.7864 -6.6653767 + 4600 18230.418 641.88921 0 3680.2922 22.502391 + 4650 21319.778 127.76737 0 3681.0638 -0.50309316 + 4700 19429.05 441.85455 0 3680.0296 20.851722 + 4750 20395.967 281.13332 0 3680.4611 12.635024 + 4800 19405.371 446.47714 0 3680.7056 -3.0340076 + 4850 19935.979 358.4478 0 3681.1109 -7.9390554 + 4900 18822.801 543.80607 0 3680.9396 -3.1086099 + 4950 20569.881 252.87963 0 3681.1932 11.807076 + 5000 20311.182 296.63458 0 3681.8315 -4.2409472 + 5050 20187.672 316.83663 0 3681.4486 1.8723981 + 5100 17439.679 775.35516 0 3681.9684 -5.7037267 + 5150 20394.4 282.56755 0 3681.6342 4.3399253 + 5200 20294.84 299.10095 0 3681.5742 -9.9868412 + 5250 20396.122 282.31614 0 3681.6698 -4.9932521 + 5300 20617.465 245.11679 0 3681.3609 0.97429493 + 5350 21651.191 72.878802 0 3681.4106 2.0913693 + 5400 19097.721 498.69617 0 3681.6496 21.808511 + 5450 21856.73 38.930299 0 3681.7186 -4.0225451 + 5500 20087.477 334.09405 0 3682.0069 5.7109498 + 5550 17734.477 726.10594 0 3681.8522 16.277738 + 5600 21183.231 151.714 0 3682.2525 -2.1080998 + 5650 20832.185 210.14251 0 3682.1733 -8.0602581 + 5700 18879.226 535.50935 0 3682.0471 -14.351666 + 5750 18931.81 529.67506 0 3684.9768 4.8675164 + 5800 21674.979 70.259619 0 3682.7561 -14.990544 + 5850 21395.905 116.47471 0 3682.4588 -0.94334402 + 5900 18532.955 593.27143 0 3682.0973 26.072477 + 5950 20767.534 220.78554 0 3682.0413 -1.6468662 + 6000 21546.127 91.167146 0 3682.1882 -5.4664857 + 6050 20085.534 334.40872 0 3681.9977 -0.34825498 + 6100 21218.156 145.88926 0 3682.2486 2.2871905 + 6150 20902.857 198.59424 0 3682.4038 6.0082154 + 6200 21726.547 61.195607 0 3682.2868 -2.2981656 + 6250 17507.589 764.20763 0 3682.1392 9.4977327 + 6300 21687.283 67.283821 0 3681.831 -8.694756 + 6350 19806.474 380.24632 0 3681.3254 -0.94067379 + 6400 21128.461 160.65399 0 3682.0641 -4.8435757 + 6450 19747.214 390.89694 0 3682.0992 1.9108969 + 6500 20460.408 272.79545 0 3682.8634 -4.1094877 + 6550 16740.095 892.11547 0 3682.1313 13.20551 + 6600 18326.164 628.80415 0 3683.1648 -19.884336 + 6650 18469.284 605.36384 0 3683.5778 10.345658 + 6700 21086.876 168.61821 0 3683.0976 -0.036118094 + 6750 19924.801 361.46485 0 3682.2649 -2.1144953 + 6800 19812.028 380.5919 0 3682.5966 11.119936 + 6850 19118.501 496.38857 0 3682.8054 0.53906703 + 6900 19221.04 478.31879 0 3681.8255 11.13851 + 6950 20482.79 269.03445 0 3682.8328 2.6705981 + 7000 16350.403 957.96283 0 3683.03 -2.9783385 + 7050 20789.906 218.36242 0 3683.3467 4.2465754 + 7100 17718.126 730.09011 0 3683.111 15.271811 + 7150 19020.414 513.34591 0 3683.4149 -8.3035633 + 7200 21165.007 156.24494 0 3683.7461 -7.3085107 + 7250 20520.422 264.35574 0 3684.4261 -6.7803072 + 7300 19078.795 505.10953 0 3684.9087 -11.147107 + 7350 20529.173 263.85389 0 3685.3827 0.59881989 + 7400 20548.068 261.27337 0 3685.9513 -5.0067382 + 7450 20849.172 211.46852 0 3686.3306 -0.80175538 + 7500 20869.894 207.95335 0 3686.2689 0.44541197 + 7550 18490.583 605.63557 0 3687.3993 -11.744631 + 7600 19185.381 488.52218 0 3686.0857 3.0881652 + 7650 20520.848 265.65037 0 3685.7917 -0.28165722 + 7700 20599.631 251.69265 0 3684.9645 0.19835423 + 7750 18428.55 614.11446 0 3685.5395 5.8092563 + 7800 19660.337 408.61674 0 3685.3396 4.9902979 + 7850 19409.663 450.30454 0 3685.2483 8.8641567 + 7900 21307.628 133.95865 0 3685.23 -1.8297128 + 7950 17828.245 713.05722 0 3684.4314 5.9673166 + 8000 15894.788 1036.4896 0 3685.621 57.567209 + 8050 18588.022 587.45738 0 3685.4611 1.5643233 + 8100 20664.194 241.59965 0 3685.632 -4.9298687 + 8150 17745.538 728.43249 0 3686.0221 6.121885 + 8200 18433.239 612.84747 0 3685.0539 17.078623 + 8250 19162.628 492.52511 0 3686.2965 12.204945 + 8300 18507.768 602.21188 0 3686.8399 -14.003487 + 8350 21010.715 184.80032 0 3686.5861 -0.93351338 + 8400 20888.233 205.24214 0 3686.6143 -5.3433619 + 8450 20920.621 199.6941 0 3686.4643 -30.437742 + 8500 17085.22 840.80474 0 3688.3414 3.9123878 + 8550 20900.377 203.87077 0 3687.267 -6.7525851 + 8600 19771.517 392.67499 0 3687.9278 13.762684 + 8650 19541.099 431.09497 0 3687.9448 2.0785077 + 8700 21056.327 178.88314 0 3688.2709 -13.663758 + 8750 20109.075 336.93228 0 3688.4447 -1.0445182 + 8800 21821.77 51.337654 0 3688.2993 -10.263971 + 8850 17653.401 740.45074 0 3682.6842 49.147758 + 8900 20311.01 302.92663 0 3688.095 -8.1910583 + 8950 19745.488 396.38557 0 3687.3003 -16.948557 + 9000 20248.989 311.52221 0 3686.3537 -2.4158415 + 9050 17850.649 710.17969 0 3685.2878 25.692377 + 9100 19370.284 456.73812 0 3685.1187 -21.201413 + 9150 20452.896 276.95741 0 3685.7735 2.0316457 + 9200 19174.266 488.9925 0 3684.7035 10.317202 + 9250 20174.171 323.4614 0 3685.8232 -2.1072552 + 9300 21442.761 111.68542 0 3685.479 -12.303658 + 9350 19697.287 402.21503 0 3685.0963 8.4697153 + 9400 21553.763 93.03581 0 3685.3297 -6.7286485 + 9450 18946.935 527.04498 0 3684.8674 -6.6174191 + 9500 21162.915 158.64321 0 3685.7957 -3.2085936 + 9550 20704.844 235.41227 0 3686.2196 10.847095 + 9600 20664.074 242.09733 0 3686.1096 3.7301969 + 9650 20829.655 214.20146 0 3685.8107 7.2197609 + 9700 17336.625 797.22781 0 3686.6654 14.775351 + 9750 19978.15 356.51126 0 3686.2029 -1.1978838 + 9800 21150.487 162.1616 0 3687.2427 -15.596643 + 9850 20849.962 213.10316 0 3688.0968 -5.5443282 + 9900 18407.158 620.93592 0 3688.7956 10.177471 + 9950 20459.637 278.24203 0 3688.1815 0.0020687238 + 10000 21667.112 78.10938 0 3689.2948 -12.660594 +Loop time of 3.40889 on 1 procs for 10000 steps with 81 atoms + +Performance: 25345.463 tau/day, 2933.503 timesteps/s, 237.614 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.12904 | 0.12904 | 0.12904 | 0.0 | 3.79 +Neigh | 0.10613 | 0.10613 | 0.10613 | 0.0 | 3.11 +Comm | 0.011135 | 0.011135 | 0.011135 | 0.0 | 0.33 +Output | 0.0042137 | 0.0042137 | 0.0042137 | 0.0 | 0.12 +Modify | 3.142 | 3.142 | 3.142 | 0.0 | 92.17 +Other | | 0.01636 | | | 0.48 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 115 ave 115 max 115 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 808 ave 808 max 808 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 808 +Ave neighs/atom = 9.9753086 +Neighbor list builds = 1162 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.4 b/examples/rigid/log.25Mar24.rigid.poems4.g++.4 new file mode 100644 index 0000000000..e78a2e0f05 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems4.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384277 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184718 + 1150 20849.582 206.01695 0 3680.9472 -0.86699156 + 1200 21815.003 45.317416 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064076 + 1300 20780.781 217.36505 0 3680.8286 6.0538619 + 1350 20558.972 254.36481 0 3680.8601 -3.6773978 + 1400 21485.029 99.812941 0 3680.6511 -16.185471 + 1450 21771.108 52.159596 0 3680.6775 -2.4756679 + 1500 21520.948 93.503942 0 3680.3286 2.1023578 + 1550 21351.418 121.6814 0 3680.2511 5.5159969 + 1600 20778.805 216.92173 0 3680.0559 15.089183 + 1650 21477.639 100.21825 0 3679.8247 -1.1045878 + 1700 18501.342 596.47873 0 3680.0357 -15.679646 + 1750 18563.643 587.34777 0 3681.2882 33.532181 + 1800 19110.189 494.82286 0 3679.8543 18.024038 + 1850 21364.195 119.2348 0 3679.9339 2.5291365 + 1900 20146.638 322.1467 0 3679.9197 5.7312008 + 1950 20692.67 231.25355 0 3680.0319 4.297766 + 2000 20943.904 189.1122 0 3679.7629 -22.645478 + 2050 19668.123 401.81885 0 3679.8394 3.6254541 + 2100 20280.531 299.74669 0 3679.8352 7.4808896 + 2150 19182.034 483.49332 0 3680.4991 22.616956 + 2200 21299.885 130.75166 0 3680.7326 4.7110487 + 2250 20487.525 266.54254 0 3681.1301 -8.6422018 + 2300 18654.522 572.01515 0 3681.1021 -5.2661499 + 2350 21512.897 95.719565 0 3681.2024 -9.3553511 + 2400 21467.306 103.39279 0 3681.2771 -29.588234 + 2450 20097.914 332.63812 0 3682.2904 35.845886 + 2500 20762.362 222.00787 0 3682.4016 -12.509872 + 2550 20417.692 279.31982 0 3682.2685 -22.320693 + 2600 21468.738 104.15905 0 3682.2821 -10.050868 + 2650 20742.305 225.31121 0 3682.362 5.2887043 + 2700 18575.367 586.68141 0 3682.5759 21.990986 + 2750 20577.766 252.52411 0 3682.1518 -5.8697894 + 2800 20683.69 234.89244 0 3682.1741 -6.7464964 + 2850 16088.831 1001.1454 0 3682.6172 27.686908 + 2900 20715.565 229.46407 0 3682.0583 6.5207552 + 2950 19969.143 353.98595 0 3682.1765 5.3891903 + 3000 20429.639 277.11063 0 3682.0505 -10.302229 + 3050 19840.965 375.78339 0 3682.611 -6.1970263 + 3100 19149.859 490.69976 0 3682.3429 22.372557 + 3150 20421.772 278.3256 0 3681.9543 8.7381033 + 3200 19492.899 433.22833 0 3682.0448 4.3431162 + 3250 20231.034 310.12852 0 3681.9675 -3.2734265 + 3300 19420.155 445.8855 0 3682.578 14.157316 + 3350 21386.445 117.85565 0 3682.2631 1.9590216 + 3400 20372.28 286.91596 0 3682.296 8.2472357 + 3450 20870.351 203.91619 0 3682.308 7.9601676 + 3500 21469.401 104.14434 0 3682.3778 2.5067348 + 3550 21630.799 77.317219 0 3682.4504 -6.5148709 + 3600 21291.513 133.97558 0 3682.5611 -8.8761801 + 3650 19138.211 493.09199 0 3682.7937 25.075733 + 3700 21282.953 135.36631 0 3682.5252 -8.1163312 + 3750 20660.876 239.15863 0 3682.638 -24.806983 + 3800 20161.169 322.26065 0 3682.4555 13.204808 + 3850 19477.477 435.56421 0 3681.8105 31.065794 + 3900 21108.425 164.35492 0 3682.4258 0.37839399 + 3950 21195.124 150.68497 0 3683.2056 -10.098889 + 4000 21477.025 103.95273 0 3683.4568 -4.139886 + 4050 20603.58 249.35497 0 3683.2849 1.3114756 + 4100 19724.656 396.37166 0 3683.8144 -6.6159163 + 4150 20768.839 221.21034 0 3682.6835 -3.4649381 + 4200 19675.942 404.01538 0 3683.339 17.586922 + 4250 21022.927 179.12036 0 3682.9415 0.59436606 + 4300 20511.134 264.68208 0 3683.2044 8.8380269 + 4350 21038.204 177.05256 0 3683.42 -1.3698914 + 4400 18866.857 539.5082 0 3683.9844 10.461602 + 4450 21607.322 83.184316 0 3684.4046 -1.5071605 + 4500 20895.628 201.9445 0 3684.5492 5.7578991 + 4550 20210.744 316.5044 0 3684.9617 5.6678493 + 4600 20416.269 282.24539 0 3684.9569 -3.0067543 + 4650 18811.283 549.46791 0 3684.6817 7.5182454 + 4700 20899.462 201.92249 0 3685.1661 2.6998262 + 4750 20771.285 223.44307 0 3685.3239 12.165622 + 4800 21834.653 46.231798 0 3685.3407 2.021615 + 4850 21282.348 138.2858 0 3685.3437 4.2174481 + 4900 21892.433 36.607993 0 3685.3468 -10.208769 + 4950 21731.003 63.442124 0 3685.2759 -26.918841 + 5000 21476.967 105.69026 0 3685.1848 -10.007088 + 5050 20485.84 270.81814 0 3685.1248 0.65119013 + 5100 21485.763 104.28837 0 3685.2488 -5.3826149 + 5150 21485.096 104.44183 0 3685.2912 -1.274141 + 5200 21388.175 120.61165 0 3685.3074 -7.7953815 + 5250 20656.672 242.51472 0 3685.2934 -4.4067447 + 5300 20132.262 330.10916 0 3685.4862 -11.466755 + 5350 19080.054 505.63228 0 3685.6413 4.6356684 + 5400 21683.337 71.886529 0 3685.7761 -8.4520633 + 5450 20632.669 246.77173 0 3685.5499 5.5429152 + 5500 20896.92 202.76984 0 3685.5898 3.9762924 + 5550 21172.409 156.92085 0 3685.6557 2.6573146 + 5600 20695.91 236.255 0 3685.5733 -18.109158 + 5650 21741.679 61.956471 0 3685.5697 -3.7520994 + 5700 21164.94 157.60813 0 3685.098 2.4020734 + 5750 21075.393 172.84386 0 3685.4093 7.646915 + 5800 20638.831 245.82076 0 3685.6259 8.3009859 + 5850 20262.966 308.37489 0 3685.5359 7.5861941 + 5900 21730.418 63.97074 0 3685.7071 -6.2813552 + 5950 21820.659 48.990687 0 3685.7673 -5.6400713 + 6000 21027.051 181.2853 0 3685.7937 1.213872 + 6050 14422.66 1284.4174 0 3688.194 57.908667 + 6100 19852.685 377.0743 0 3685.8552 -5.1418207 + 6150 20678.783 239.10987 0 3685.5737 -11.982018 + 6200 19788.097 387.62127 0 3685.6375 -2.684571 + 6250 21611.523 83.575418 0 3685.496 1.7544019 + 6300 19214.109 482.45067 0 3684.8021 24.711965 + 6350 18800.074 553.07966 0 3686.4254 11.125791 + 6400 19771.53 390.40388 0 3685.659 -6.1254643 + 6450 20192.282 319.53713 0 3684.9175 13.959536 + 6500 20360.332 292.28682 0 3685.6755 4.4265274 + 6550 21778.739 56.056362 0 3685.8462 -4.6705452 + 6600 16612.689 917.96646 0 3686.748 -32.617733 + 6650 21068.368 174.38501 0 3685.7797 -0.84207954 + 6700 20749.675 227.41249 0 3685.6916 2.9235268 + 6750 20594.96 253.47665 0 3685.9699 -12.440843 + 6800 19974.133 357.05242 0 3686.0745 34.064247 + 6850 21802.523 52.05173 0 3685.8055 -1.4073818 + 6900 18644.747 577.97031 0 3685.4282 19.759245 + 6950 20463.441 274.90799 0 3685.4815 1.2230553 + 7000 20213.292 316.50714 0 3685.3892 23.9288 + 7050 21571.525 90.089593 0 3685.3437 -26.539261 + 7100 20480.036 271.77541 0 3685.1147 -0.13969301 + 7150 21064.842 174.4144 0 3685.2214 3.5451037 + 7200 21179.296 154.8514 0 3684.7341 -5.007319 + 7250 20714.182 232.84783 0 3685.2115 10.601943 + 7300 19341.561 461.91524 0 3685.5087 18.89547 + 7350 21011.016 183.55321 0 3685.3893 1.6481821 + 7400 21206.598 151.07364 0 3685.5066 1.5040526 + 7450 19999.404 352.83129 0 3686.0652 -18.58587 + 7500 21581.952 88.519362 0 3685.5114 -4.0009441 + 7550 21652.618 76.962392 0 3685.7321 -5.758242 + 7600 21207.411 150.86712 0 3685.4355 -0.023727123 + 7650 21756.168 59.804311 0 3685.8323 0.76768563 + 7700 21825.037 48.380795 0 3685.8869 -0.11098207 + 7750 21581.665 89.078228 0 3686.0223 -0.50220667 + 7800 21714.856 66.946216 0 3686.0889 4.637364 + 7850 21319.774 132.905 0 3686.2007 3.4663558 + 7900 21730.647 64.263898 0 3686.0384 1.0898763 + 7950 21597.663 86.255996 0 3685.8664 3.2847476 + 8000 21724.118 65.137632 0 3685.8239 3.7318614 + 8050 19672.702 406.56191 0 3685.3456 -0.37960768 + 8100 21696.026 69.71367 0 3685.7179 -6.2273451 + 8150 18869.648 540.09908 0 3685.0403 22.915669 + 8200 21717.002 66.01922 0 3685.5196 -4.8553801 + 8250 20292.502 303.3445 0 3685.4282 -13.203008 + 8300 21314.341 133.18215 0 3685.5724 -10.023288 + 8350 20992.272 186.87998 0 3685.592 -4.5538872 + 8400 21726.088 64.55825 0 3685.573 -5.1228188 + 8450 21188.98 153.93449 0 3685.4311 -6.8622554 + 8500 21113.87 166.54678 0 3685.5251 2.6009221 + 8550 20620.735 248.66776 0 3685.4569 -8.0047984 + 8600 19715.276 399.79648 0 3685.6758 -10.980391 + 8650 18898.94 535.95488 0 3685.7782 22.513752 + 8700 21692.841 70.067726 0 3685.5413 -3.3917479 + 8750 20242.909 311.87115 0 3685.6893 17.996012 + 8800 19253.702 476.69077 0 3685.6411 3.7170165 + 8850 17625.913 748.07802 0 3685.7302 11.095548 + 8900 21554.709 92.817998 0 3685.2696 0.30720376 + 8950 21585.337 87.685891 0 3685.2421 -0.22047593 + 9000 17454.847 776.14227 0 3685.2834 22.631913 + 9050 20023.106 347.35041 0 3684.5348 4.0008899 + 9100 21100.691 168.07199 0 3684.8539 2.9016681 + 9150 20307.206 299.45669 0 3683.991 2.1630277 + 9200 21747.579 60.245542 0 3684.8421 -15.419887 + 9250 21525.571 97.26157 0 3684.8567 -7.0449498 + 9300 15084.149 1170.5925 0 3684.6173 43.259279 + 9350 21198.648 151.70957 0 3684.8176 3.0716881 + 9400 17771.533 724.65805 0 3686.5802 -18.320033 + 9450 20029.819 346.23988 0 3684.543 -4.0976705 + 9500 19913.342 365.57743 0 3684.4677 2.4909741 + 9550 20594.619 252.35578 0 3684.7923 -4.4263632 + 9600 21013.668 182.33425 0 3684.6122 -1.9371919 + 9650 16915.052 865.78051 0 3684.9559 1.8697619 + 9700 18789.78 553.48818 0 3685.1181 15.642074 + 9750 21236.716 145.75801 0 3685.2107 -3.6730702 + 9800 20972.957 189.72849 0 3685.2214 0.85691231 + 9850 19658.721 408.29826 0 3684.7517 14.8446 + 9900 21624.401 81.484234 0 3685.5511 3.4507557 + 9950 21883.535 38.474607 0 3685.7304 0.3038348 + 10000 21355.31 126.72088 0 3685.9392 -5.5872974 +Loop time of 3.23589 on 4 procs for 10000 steps with 81 atoms + +Performance: 26700.576 tau/day, 3090.344 timesteps/s, 250.318 katom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0072165 | 0.030554 | 0.065382 | 13.2 | 0.94 +Neigh | 0.010707 | 0.029677 | 0.056594 | 10.6 | 0.92 +Comm | 0.083225 | 0.12075 | 0.17828 | 10.6 | 3.73 +Output | 0.0034779 | 0.0040163 | 0.0050814 | 1.0 | 0.12 +Modify | 2.8247 | 2.8749 | 2.9245 | 2.6 | 88.85 +Other | | 0.176 | | | 5.44 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 33.5 ave 66 max 2 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 212.5 ave 850 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 850 +Ave neighs/atom = 10.493827 +Neighbor list builds = 1246 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.1 b/examples/rigid/log.25Mar24.rigid.poems5.g++.1 new file mode 100644 index 0000000000..03ca091c13 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems5.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173512 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50505 0 3904.2848 15.670464 + 300 19266.324 333.5788 0 3901.4165 7.2119173 + 350 20738.325 63.738945 0 3904.1694 -23.039989 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13818 0 3902.6059 0.42074126 + 500 20365.825 131.47231 0 3902.9213 0.69215475 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26028 0 3902.494 12.047308 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71155 0 3901.9116 3.471602 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.2723139 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717093 0 3902.5839 -34.817443 + 1250 20625.583 82.586395 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316033 + 1400 19753.56 244.81774 0 3902.8844 6.7138457 + 1450 15690.143 998.34271 0 3903.9248 48.124667 + 1500 20234.455 155.92517 0 3903.0465 13.172173 + 1550 20779.63 55.062895 0 3903.1426 -2.6390424 + 1600 20642.757 80.232879 0 3902.9657 -2.4687934 + 1650 18785.716 423.90031 0 3902.7365 -5.6468747 + 1700 20965.076 20.760295 0 3903.1818 -0.45382233 + 1750 18935.466 396.94949 0 3903.5173 25.912008 + 1800 20581.509 91.766145 0 3903.1567 3.8229018 + 1850 20616.968 85.18122 0 3903.1382 4.1907646 + 1900 16600.676 828.66496 0 3902.8643 -0.49197745 + 1950 20175.677 166.50513 0 3902.7416 5.6027746 + 2000 20268.078 149.2566 0 3902.6044 -1.1951453 + 2050 20155.388 170.16328 0 3902.6425 -0.79473147 + 2100 19715.497 250.63403 0 3901.652 3.6719022 + 2150 20677.205 73.792009 0 3902.9041 0.64246071 + 2200 20041.156 191.58407 0 3902.9093 7.4438342 + 2250 19924.453 213.0259 0 3902.7394 2.3652069 + 2300 20432.764 119.13103 0 3902.9763 -11.527566 + 2350 18265.828 520.75569 0 3903.3165 -8.9634198 + 2400 19574.981 277.7963 0 3902.7927 1.8085002 + 2450 20655.975 77.958119 0 3903.1387 3.4001031 + 2500 19783.143 239.3546 0 3902.8995 24.872182 + 2550 16660.113 818.36907 0 3903.5752 -11.766765 + 2600 19789.524 238.61817 0 3903.3448 3.3910931 + 2650 18532.96 471.8684 0 3903.898 -4.812577 + 2700 19081.457 369.81185 0 3903.4151 -0.49159968 + 2750 20370.042 131.6764 0 3903.9064 -3.3818893 + 2800 20727.087 65.499688 0 3903.8491 4.3537941 + 2850 18252.657 523.061 0 3903.1827 11.774986 + 2900 20780.391 55.586541 0 3903.8071 5.4415831 + 2950 20361.047 132.98647 0 3903.5508 -2.4847656 + 3000 19528.633 284.87405 0 3901.2876 14.23453 + 3050 20385.56 127.80448 0 3902.9081 -0.51079949 + 3100 19040.7 376.96613 0 3903.0216 -8.9425331 + 3150 20053.417 189.7312 0 3903.327 4.6695643 + 3200 20862.681 40.219985 0 3903.6795 1.2220199 + 3250 20692.32 71.660474 0 3903.5716 2.118694 + 3300 20560.104 95.905282 0 3903.332 5.9856809 + 3350 20693.236 71.35789 0 3903.4387 3.9315564 + 3400 19045.135 376.64379 0 3903.5206 3.9692419 + 3450 20354.826 134.28157 0 3903.6938 7.6208552 + 3500 20528.053 102.12643 0 3903.6178 7.2863414 + 3550 20525.13 103.01612 0 3903.9661 8.4807852 + 3600 19782.42 240.28031 0 3903.6914 1.0181878 + 3650 20519.52 104.05243 0 3903.9636 -2.36641 + 3700 20024.307 195.68587 0 3903.8908 -6.261818 + 3750 20239.643 155.72722 0 3903.8092 -20.781566 + 3800 20601.2 88.794605 0 3903.8317 -11.491217 + 3850 20973.346 19.675436 0 3903.6283 -9.0554155 + 3900 16212.846 902.10241 0 3904.4813 -19.773976 + 3950 19645.576 264.59477 0 3902.6643 16.065663 + 4000 17439.655 673.47397 0 3903.0398 -3.7357722 + 4050 19305.077 328.50056 0 3903.5148 10.43441 + 4100 18634.36 451.24343 0 3902.0508 3.4327844 + 4150 20249.11 153.64108 0 3903.4763 -2.5190604 + 4200 19177.928 351.81896 0 3903.2871 -5.5110274 + 4250 20754.898 60.189732 0 3903.6893 -3.3019026 + 4300 19693.307 256.31591 0 3903.2245 5.8795929 + 4350 18411.713 494.6957 0 3904.2722 4.2513782 + 4400 18499.707 474.35141 0 3900.2231 10.120914 + 4450 18620.543 449.98137 0 3898.2301 0.74648702 + 4500 18930.676 398.47668 0 3904.1573 -3.3953153 + 4550 18708.382 438.70363 0 3903.2188 8.478793 + 4600 19937.049 211.7655 0 3903.8117 4.8300368 + 4650 19919.169 214.98435 0 3903.7194 -1.0166319 + 4700 19345.329 321.18127 0 3903.6496 -23.032019 + 4750 18391.67 498.629 0 3904.4939 -15.40779 + 4800 18597.103 459.20983 0 3903.1179 9.3900723 + 4850 19857.892 226.27908 0 3903.6665 4.1998427 + 4900 20428.515 120.59483 0 3903.6532 -1.8636046 + 4950 18457.127 485.79992 0 3903.7864 -7.2380409 + 5000 20543.123 99.480661 0 3903.7627 -0.39555479 + 5050 18716.671 436.46735 0 3902.5175 29.395654 + 5100 20048.411 191.03727 0 3903.706 -0.91178091 + 5150 19647.675 265.24989 0 3903.7083 3.8658742 + 5200 20787.465 54.078505 0 3903.6091 -3.3582221 + 5250 20630.096 83.165593 0 3903.5538 -11.86045 + 5300 16598.926 830.02918 0 3903.9043 -1.8793568 + 5350 19114.667 363.424 0 3903.1772 11.894383 + 5400 19563.654 280.22257 0 3903.1215 8.8285523 + 5450 20012.628 197.27325 0 3903.3154 2.1981092 + 5500 17845.428 599.4114 0 3904.1202 20.091131 + 5550 20630.423 82.857857 0 3903.3065 0.93827014 + 5600 19675.125 259.89939 0 3903.4411 -2.4034875 + 5650 19932.349 212.22024 0 3903.3961 2.0064698 + 5700 20499.192 107.17918 0 3903.3259 2.5440649 + 5750 19522.335 287.94941 0 3903.1966 -0.7615272 + 5800 18010.242 568.31554 0 3903.5455 -6.3433889 + 5850 20177.497 166.64243 0 3903.2159 -0.95012013 + 5900 17919.358 584.40694 0 3902.8065 10.49282 + 5950 18390.453 498.29164 0 3903.9311 10.026285 + 6000 18040.232 562.71939 0 3903.5032 0.22172862 + 6050 19777.355 240.88597 0 3903.3592 -3.1899015 + 6100 19132.014 360.58765 0 3903.5531 1.6644736 + 6150 19780.214 240.31985 0 3903.3224 4.2403325 + 6200 18883.45 406.45503 0 3903.3902 -3.5422327 + 6250 19875.924 222.49729 0 3903.2239 3.0535292 + 6300 19882.454 221.4928 0 3903.4287 5.7371152 + 6350 19040.565 377.18193 0 3903.2124 -0.26454332 + 6400 19137.008 359.7025 0 3903.5929 9.5375531 + 6450 19655.205 263.59789 0 3903.4507 -1.8592763 + 6500 18385.045 499.5436 0 3904.1816 -7.8549266 + 6550 18823.423 417.69964 0 3903.5187 -2.8268518 + 6600 19414.118 308.11966 0 3903.3268 4.6627243 + 6650 20533.065 100.75047 0 3903.1698 3.3716972 + 6700 20206.283 161.18079 0 3903.085 5.6368472 + 6750 19517.622 288.72511 0 3903.0995 0.3337076 + 6800 18152.278 541.45525 0 3902.9883 -7.2734044 + 6850 18910.032 401.19322 0 3903.0511 6.2653128 + 6900 18580.612 462.26403 0 3903.1182 15.681586 + 6950 20459.012 114.44928 0 3903.1552 -0.82985388 + 7000 20866.868 38.822988 0 3903.0578 -6.2182429 + 7050 20460.074 114.11492 0 3903.0175 -2.1465384 + 7100 20553.533 96.636153 0 3902.846 -5.105486 + 7150 20447.915 116.30898 0 3902.9599 8.2035464 + 7200 20703.396 69.030336 0 3902.9926 9.1221166 + 7250 19652.215 263.63438 0 3902.9335 17.675447 + 7300 20691.205 71.094727 0 3902.7994 -1.7423404 + 7350 18845.785 412.74313 0 3902.7033 -2.0276584 + 7400 18462.131 483.73088 0 3902.6441 -0.22424322 + 7450 20458.641 113.96173 0 3902.599 -4.9286236 + 7500 17681.258 628.1576 0 3902.4647 -16.803813 + 7550 19149.34 356.35773 0 3902.5318 -5.3481685 + 7600 19723.907 249.45462 0 3902.03 7.2597963 + 7650 19317.18 325.01536 0 3902.271 -0.16642424 + 7700 19620.248 269.22043 0 3902.5996 -4.6771277 + 7750 17751.083 615.46827 0 3902.7058 7.3637076 + 7800 20724.904 64.633157 0 3902.5784 5.2079592 + 7850 19966.924 204.60327 0 3902.1817 6.4943932 + 7900 19730.339 248.88701 0 3902.6536 8.4392109 + 7950 19907.748 216.06587 0 3902.6859 -5.1989259 + 8000 18217.971 528.46486 0 3902.1632 -15.394144 + 8050 17868.898 592.98294 0 3902.0381 9.1139508 + 8100 19370.601 315.22753 0 3902.3759 7.9651368 + 8150 18199.01 532.43818 0 3902.6252 10.07163 + 8200 20646.337 79.222148 0 3902.6179 0.17396159 + 8250 20811.938 48.374613 0 3902.4372 -14.594973 + 8300 20906.571 30.626024 0 3902.2132 -12.34909 + 8350 19873.431 221.86861 0 3902.1335 7.1435615 + 8400 20374.979 127.96219 0 3901.1064 10.527044 + 8450 20701.502 68.073078 0 3901.6846 2.5071154 + 8500 20452.423 113.98399 0 3901.4698 4.2164058 + 8550 19695.059 253.87834 0 3901.1115 8.0656507 + 8600 19447.531 299.45597 0 3900.8505 -0.71982287 + 8650 17202.668 714.55842 0 3900.2378 -16.743518 + 8700 18579.153 459.20676 0 3899.7906 3.4494692 + 8750 20247.204 150.39086 0 3899.8731 -0.1022032 + 8800 18520.797 469.57224 0 3899.3494 5.7412252 + 8850 16011.411 934.80107 0 3899.8772 34.500452 + 8900 19045.914 372.92529 0 3899.9464 10.001612 + 8950 19798.369 233.70991 0 3900.0746 9.3270865 + 9000 17141.02 725.70858 0 3899.9716 -6.7470927 + 9050 17722.847 617.81927 0 3899.828 -10.909071 + 9100 20811.604 45.701413 0 3899.7021 -12.300065 + 9150 18066.034 554.62654 0 3900.1884 -5.7606837 + 9200 19259.884 332.49612 0 3899.1412 -40.231609 + 9250 19116.782 359.42396 0 3899.5689 0.68271469 + 9300 18785.022 421.1178 0 3899.8256 -20.433345 + 9350 19018.32 377.90289 0 3899.814 3.2963902 + 9400 17321.798 691.93839 0 3899.6788 24.552549 + 9450 18318.437 507.12661 0 3899.4297 6.1367468 + 9500 16431.681 857.32722 0 3900.2311 25.431389 + 9550 17920.939 581.45381 0 3900.1462 9.1734747 + 9600 16603.394 825.79291 0 3900.4954 -5.9643183 + 9650 17753.931 607.15019 0 3894.9151 2.2302338 + 9700 17452.305 668.30613 0 3900.2145 2.4635322 + 9750 15955.164 945.80159 0 3900.4617 20.290857 + 9800 17958.495 574.7055 0 3900.3526 12.218625 + 9850 18759.766 423.66965 0 3897.7005 -4.8999337 + 9900 19798.529 232.2507 0 3898.6449 0.10312101 + 9950 18260.87 517.50071 0 3899.1432 5.7261992 + 10000 19116.279 359.58291 0 3899.6345 3.2110764 +Loop time of 3.40298 on 1 procs for 10000 steps with 81 atoms + +Performance: 25389.516 tau/day, 2938.601 timesteps/s, 238.027 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.068835 | 0.068835 | 0.068835 | 0.0 | 2.02 +Neigh | 0.078603 | 0.078603 | 0.078603 | 0.0 | 2.31 +Comm | 0.013957 | 0.013957 | 0.013957 | 0.0 | 0.41 +Output | 0.0034786 | 0.0034786 | 0.0034786 | 0.0 | 0.10 +Modify | 3.2212 | 3.2212 | 3.2212 | 0.0 | 94.66 +Other | | 0.01692 | | | 0.50 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 105 ave 105 max 105 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 498 ave 498 max 498 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 498 +Ave neighs/atom = 6.1481481 +Neighbor list builds = 1202 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.4 b/examples/rigid/log.25Mar24.rigid.poems5.g++.4 new file mode 100644 index 0000000000..78f4d4417b --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems5.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62032 0 3904.3981 -4.6173548 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.272315 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1906 0 3902.6833 21.194041 + 1150 19658.317 261.99809 0 3902.4272 -2.8744196 + 1200 20767.681 56.717093 0 3902.5839 -34.817444 + 1250 20625.583 82.586396 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316031 + 1400 19753.56 244.81777 0 3902.8844 6.713847 + 1450 15690.145 998.34279 0 3903.9252 48.124638 + 1500 20234.455 155.92476 0 3903.0461 13.17218 + 1550 20779.631 55.063072 0 3903.1428 -2.6390427 + 1600 20642.756 80.233303 0 3902.9659 -2.4688077 + 1650 18785.71 423.90132 0 3902.7365 -5.6468182 + 1700 20965.076 20.760481 0 3903.182 -0.45377448 + 1750 18935.45 396.95247 0 3903.5173 25.912353 + 1800 20581.523 91.763662 0 3903.1567 3.8225817 + 1850 20616.962 85.182351 0 3903.1382 4.1907744 + 1900 16601.061 828.59343 0 3902.8639 -0.49284971 + 1950 20175.618 166.51633 0 3902.7419 5.6031735 + 2000 20266.439 149.55931 0 3902.6036 -1.1956447 + 2050 20159.308 169.44017 0 3902.6453 -0.7983344 + 2100 19743.72 245.40822 0 3901.6527 3.5301052 + 2150 20674.556 74.284034 0 3902.9055 0.61532081 + 2200 19950.784 208.30189 0 3902.8915 7.6523945 + 2250 19817.161 232.7485 0 3902.5932 3.4492756 + 2300 20459.058 114.2307 0 3902.9451 -11.066393 + 2350 18359.21 503.25787 0 3903.1115 -9.0741539 + 2400 19952.914 207.84881 0 3902.8328 -0.53972874 + 2450 19661.352 259.78979 0 3900.781 7.8669927 + 2500 20917.293 29.699201 0 3903.2719 1.1433085 + 2550 20763.955 57.990256 0 3903.1671 -1.1088372 + 2600 20640.005 80.556339 0 3902.7795 9.6127007 + 2650 20823.227 47.292746 0 3903.446 2.2923503 + 2700 20401.43 125.53141 0 3903.5739 -8.0683618 + 2750 20689.918 72.242212 0 3903.7084 0.22078527 + 2800 20783.922 54.87309 0 3903.7476 2.0668249 + 2850 19258.563 336.84835 0 3903.2488 4.2704683 + 2900 20565.694 95.184831 0 3903.6468 -0.24799068 + 2950 20915.041 30.344751 0 3903.5004 -2.9900907 + 3000 19571.964 278.74004 0 3903.1778 12.195325 + 3050 20356.693 133.43974 0 3903.1976 0.11608195 + 3100 20047.888 190.69627 0 3903.268 -4.5895546 + 3150 19834.363 230.59072 0 3903.6209 -1.4352632 + 3200 20213.412 160.25129 0 3903.4757 3.7488266 + 3250 19286.774 332.04497 0 3903.6699 -5.0835358 + 3300 20952.226 23.774103 0 3903.816 0.10019546 + 3350 20407.952 124.62932 0 3903.8798 0.4403531 + 3400 19401.716 311.03567 0 3903.9461 1.8034568 + 3450 20880.78 37.20558 0 3904.0167 6.3948533 + 3500 19529.313 287.50301 0 3904.0425 12.311168 + 3550 20943.604 25.677677 0 3904.1228 5.1786098 + 3600 20272.725 149.91697 0 3904.1254 1.196909 + 3650 19781.047 240.95421 0 3904.1111 -8.5091671 + 3700 20613.433 86.53896 0 3903.8414 -9.1622102 + 3750 20567.605 95.294456 0 3904.1101 -0.11887825 + 3800 19891.98 220.32932 0 3904.0292 6.8801146 + 3850 20669.735 76.407858 0 3904.1365 -7.4310509 + 3900 20908.711 32.197181 0 3904.1807 -4.6573356 + 3950 20822.78 48.03134 0 3904.1018 0.086779759 + 4000 20199.055 163.66262 0 3904.2283 2.0027771 + 4050 20072.638 187.07041 0 3904.2256 4.4103784 + 4100 17724.651 619.7903 0 3902.1331 11.210006 + 4150 20760.201 60.001382 0 3904.4831 -3.8510009 + 4200 19159.102 356.30472 0 3904.2865 -2.3503308 + 4250 19403.974 311.3497 0 3904.6783 -1.2458384 + 4300 20858.687 42.000734 0 3904.7206 2.1750528 + 4350 20486.989 110.94383 0 3904.8306 5.017245 + 4400 20231.073 158.28825 0 3904.7832 7.4295979 + 4450 16369.689 873.39361 0 3904.8175 14.371454 + 4500 20745.196 63.11427 0 3904.8172 -7.855609 + 4550 18688.003 443.85636 0 3904.5977 9.8067426 + 4600 17755.672 616.68475 0 3904.7721 -3.9654703 + 4650 19843.131 230.34486 0 3904.9988 -0.13553926 + 4700 18873.202 409.99341 0 3905.0308 15.912724 + 4750 20605.355 89.223116 0 3905.0295 2.0847611 + 4800 20136.483 176.1278 0 3905.1062 -1.7091113 + 4850 19808.073 236.83278 0 3904.9945 5.0982271 + 4900 19142.083 359.55764 0 3904.3878 8.2072008 + 4950 20539.687 101.08198 0 3904.7277 8.0469319 + 5000 20840.809 45.759021 0 3905.168 4.771755 + 5050 20009.696 199.45528 0 3904.9546 6.1191423 + 5100 20882.034 38.247578 0 3905.2909 -6.3068822 + 5150 20329.869 140.47458 0 3905.2651 -21.720979 + 5200 17334.411 695.67098 0 3905.7471 -9.8243617 + 5250 19602.025 275.17282 0 3905.1775 -3.2371379 + 5300 20858.74 42.630642 0 3905.3603 0.38011789 + 5350 20828.619 48.188698 0 3905.3403 5.7187945 + 5400 20978.428 20.447148 0 3905.3413 6.1168011 + 5450 20115.374 179.9294 0 3904.9987 8.6440563 + 5500 20522.744 104.7733 0 3905.2815 -2.6561664 + 5550 20625.724 85.600795 0 3905.1792 -1.327206 + 5600 19559.638 282.68742 0 3904.8426 17.893028 + 5650 20552.224 98.978098 0 3904.9455 2.4489071 + 5700 19982.142 204.09989 0 3904.4966 9.9034011 + 5750 20408.825 125.30875 0 3904.7209 1.2515548 + 5800 19773.143 243.02134 0 3904.7144 -2.6729948 + 5850 20781.934 56.310486 0 3904.8168 -1.659054 + 5900 19807.668 236.54392 0 3904.6306 0.49776361 + 5950 20741.237 63.921667 0 3904.8916 4.2800039 + 6000 20322.7 140.98125 0 3904.4442 7.4978024 + 6050 20858.439 42.383629 0 3905.0575 -4.6872323 + 6100 20212.538 162.022 0 3905.0847 -7.0796165 + 6150 18513.957 476.7087 0 3905.2193 7.107138 + 6200 20802.734 52.621638 0 3904.9797 3.7242428 + 6250 20818.044 49.717458 0 3904.9109 -0.91041774 + 6300 19987.245 203.4635 0 3904.8052 -0.86714551 + 6350 20806.906 51.449749 0 3904.5806 -4.0699629 + 6400 20530.3 103.09809 0 3905.0055 1.660177 + 6450 20667.085 77.715553 0 3904.9535 0.99217521 + 6500 20515.816 105.81762 0 3905.0428 3.0994091 + 6550 20548.348 99.627131 0 3904.8769 -0.77417688 + 6600 19827.378 232.99889 0 3904.7355 3.295082 + 6650 19237.199 342.94808 0 3905.3923 -6.2226637 + 6700 19611.621 273.139 0 3904.9206 -3.5465535 + 6750 20874.805 39.1893 0 3904.8939 -0.051336814 + 6800 19433.717 305.99952 0 3904.8361 -19.858865 + 6850 20119.223 179.19987 0 3904.9818 4.6466283 + 6900 20467.389 114.77871 0 3905.0359 10.290214 + 6950 20334.202 139.43289 0 3905.0259 7.5448433 + 7000 20504.591 107.86929 0 3905.0158 -0.10092084 + 7050 17969.214 576.83722 0 3904.4694 10.852897 + 7100 19186.398 351.80467 0 3904.8414 0.24779979 + 7150 20261.23 152.54684 0 3904.6265 -7.0175844 + 7200 20696.821 71.985154 0 3904.7298 3.9649146 + 7250 18456.212 487.1819 0 3904.9989 5.8280225 + 7300 17705.1 625.95928 0 3904.6816 6.8298215 + 7350 17032.039 750.96958 0 3905.051 11.833303 + 7400 20557.431 97.599213 0 3904.5308 0.43747863 + 7450 20466.847 114.5693 0 3904.7261 1.9786538 + 7500 20416.862 123.31643 0 3904.2168 -2.9094738 + 7550 18433.95 487.50767 0 3901.2022 4.0921479 + 7600 19950.107 209.92208 0 3904.3863 3.9114888 + 7650 16037.844 934.94785 0 3904.9189 -1.2183461 + 7700 20145.239 173.99945 0 3904.5993 3.1185554 + 7750 18672.579 446.35236 0 3904.2373 4.1086445 + 7800 19740.616 249.10395 0 3904.7737 4.6048428 + 7850 20801.917 52.742096 0 3904.9489 1.5978265 + 7900 20305.348 144.57749 0 3904.8272 2.7348725 + 7950 20221.086 159.31958 0 3903.9652 7.1592496 + 8000 20826.907 47.953835 0 3904.7884 6.2728901 + 8050 18646.418 452.02126 0 3905.0617 5.9716218 + 8100 20653.653 80.183024 0 3904.9336 -1.8274783 + 8150 20843.275 45.172279 0 3905.0379 -6.9445524 + 8200 20364.78 133.45082 0 3904.7064 -12.094533 + 8250 18163.745 541.08818 0 3904.7447 -2.6103997 + 8300 20889.664 36.793018 0 3905.2494 -9.2650749 + 8350 20307.367 144.33088 0 3904.9543 -0.65999546 + 8400 20485.202 111.41317 0 3904.9691 -0.42802224 + 8450 20864.395 41.146879 0 3904.9238 7.7084978 + 8500 20901.899 34.291267 0 3905.0132 -5.2070823 + 8550 20211.78 162.02611 0 3904.9484 -5.8363409 + 8600 19639.538 268.05291 0 3905.0044 3.8180903 + 8650 19919.356 216.24885 0 3905.0185 0.17130921 + 8700 19499.449 293.97522 0 3904.9843 -4.897872 + 8750 20270.687 151.1571 0 3904.9879 0.28558082 + 8800 18804.137 422.61651 0 3904.864 15.351015 + 8850 20654.443 80.110976 0 3905.0078 4.1368065 + 8900 19953.725 209.81046 0 3904.9447 10.71743 + 8950 18195.013 536.67764 0 3906.1245 21.497802 + 9000 20478.531 112.78923 0 3905.1098 -13.053056 + 9050 20866.484 40.901611 0 3905.0653 -3.6134066 + 9100 20322.595 141.61419 0 3905.0577 15.459697 + 9150 20855.456 42.94311 0 3905.0646 4.9123213 + 9200 20208.201 162.79363 0 3905.0531 2.5454472 + 9250 18394.203 498.63686 0 3904.9707 0.041811692 + 9300 18776.997 427.7118 0 3904.9335 -7.652483 + 9350 18330.751 510.07857 0 3904.6621 8.3424059 + 9400 17538.366 657.08623 0 3904.9319 8.5478668 + 9450 20309.605 143.77142 0 3904.8093 6.6831447 + 9500 19982.331 203.81545 0 3904.2471 -7.6711411 + 9550 19410.612 310.1139 0 3904.6717 5.3983286 + 9600 19198.225 349.06634 0 3904.2932 -4.107658 + 9650 19388.043 314.31566 0 3904.6939 6.1198194 + 9700 18849.37 414.1045 0 3904.7286 5.4468861 + 9750 18263.312 523.38716 0 3905.4819 -0.56480349 + 9800 20421.858 122.53973 0 3904.3653 -15.641399 + 9850 17678.959 631.15683 0 3905.0381 -1.805446 + 9900 19421.046 306.67446 0 3903.1644 7.0287747 + 9950 18460.64 483.18902 0 3901.8261 3.658774 + 10000 19781.151 239.38136 0 3902.5575 6.3312911 +Loop time of 3.21586 on 4 procs for 10000 steps with 81 atoms + +Performance: 26866.868 tau/day, 3109.591 timesteps/s, 251.877 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0068055 | 0.017185 | 0.043838 | 11.8 | 0.53 +Neigh | 0.010594 | 0.021601 | 0.042532 | 8.5 | 0.67 +Comm | 0.068664 | 0.091849 | 0.10748 | 4.8 | 2.86 +Output | 0.0038351 | 0.0044469 | 0.0057465 | 1.1 | 0.14 +Modify | 2.8494 | 2.9033 | 2.9663 | 2.5 | 90.28 +Other | | 0.1775 | | | 5.52 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 38.25 ave 50 max 28 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Neighs: 126.5 ave 213 max 0 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 506 +Ave neighs/atom = 6.2469136 +Neighbor list builds = 1207 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.1 b/examples/rigid/log.25Mar24.rigid.property.g++.1 new file mode 100644 index 0000000000..0a3d0da63a --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.property.g++.1 @@ -0,0 +1,343 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Clumps +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.42 | 4.42 | 4.42 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.13897 on 1 procs for 10000 steps with 81 atoms + +Performance: 621716.264 tau/day, 71957.901 timesteps/s, 5.829 Matom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0095014 | 0.0095014 | 0.0095014 | 0.0 | 6.84 +Neigh | 0.050174 | 0.050174 | 0.050174 | 0.0 | 36.10 +Comm | 0.0091698 | 0.0091698 | 0.0091698 | 0.0 | 6.60 +Output | 0.0016255 | 0.0016255 | 0.0016255 | 0.0 | 1.17 +Modify | 0.060968 | 0.060968 | 0.060968 | 0.0 | 43.87 +Other | | 0.007531 | | | 5.42 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.4 b/examples/rigid/log.25Mar24.rigid.property.g++.4 new file mode 100644 index 0000000000..5195cd4eb6 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.property.g++.4 @@ -0,0 +1,343 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Clumps +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.268 | 4.3 | 4.394 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.145717 on 4 procs for 10000 steps with 81 atoms + +Performance: 592928.932 tau/day, 68626.034 timesteps/s, 5.559 Matom-step/s +98.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0017512 | 0.002579 | 0.0032423 | 1.1 | 1.77 +Neigh | 0.01337 | 0.01442 | 0.016488 | 1.0 | 9.90 +Comm | 0.066749 | 0.068666 | 0.070799 | 0.7 | 47.12 +Output | 0.0018563 | 0.0020346 | 0.0025278 | 0.6 | 1.40 +Modify | 0.040991 | 0.042542 | 0.044042 | 0.6 | 29.19 +Other | | 0.01548 | | | 10.62 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.1 b/examples/rigid/log.25Mar24.rigid.small.g++.1 new file mode 100644 index 0000000000..7c1c88364b --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.g++.1 @@ -0,0 +1,321 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722853e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652431 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814366 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589875 0 5269.4979 12.062708 + 9750 16738.013 0.13550135 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270544 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.159025 on 1 procs for 10000 steps with 81 atoms + +Performance: 543312.198 tau/day, 62883.356 timesteps/s, 5.094 Matom-step/s +98.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0094515 | 0.0094515 | 0.0094515 | 0.0 | 5.94 +Bond | 0.00045015 | 0.00045015 | 0.00045015 | 0.0 | 0.28 +Neigh | 0.066186 | 0.066186 | 0.066186 | 0.0 | 41.62 +Comm | 0.0097819 | 0.0097819 | 0.0097819 | 0.0 | 6.15 +Output | 0.0021947 | 0.0021947 | 0.0021947 | 0.0 | 1.38 +Modify | 0.062923 | 0.062923 | 0.062923 | 0.0 | 39.57 +Other | | 0.008038 | | | 5.05 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.4 b/examples/rigid/log.25Mar24.rigid.small.g++.4 new file mode 100644 index 0000000000..1b0d54f7b3 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.g++.4 @@ -0,0 +1,321 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722842e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554428 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934367 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532814 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765244 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589896 0 5269.4979 12.062708 + 9750 16738.013 0.13550091 0 5269.5101 11.407245 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984566 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.200426 on 4 procs for 10000 steps with 81 atoms + +Performance: 431082.236 tau/day, 49893.777 timesteps/s, 4.041 Matom-step/s +97.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.001863 | 0.0024669 | 0.0029246 | 0.8 | 1.23 +Bond | 0.00033475 | 0.00034422 | 0.00035273 | 0.0 | 0.17 +Neigh | 0.016097 | 0.017035 | 0.018935 | 0.9 | 8.50 +Comm | 0.066051 | 0.06822 | 0.070253 | 0.7 | 34.04 +Output | 0.0020466 | 0.0021927 | 0.0026005 | 0.5 | 1.09 +Modify | 0.094972 | 0.096687 | 0.098173 | 0.4 | 48.24 +Other | | 0.01348 | | | 6.73 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 new file mode 100644 index 0000000000..8c441d5d00 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 @@ -0,0 +1,322 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 + 9600 16738.549 -0.026814367 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589876 0 5269.4979 12.062708 + 9750 16738.013 0.13550105 0 5269.5101 11.407245 + 9800 16738.512 -0.011620331 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270584 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984576 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395074 +Loop time of 0.154542 on 1 procs for 10000 steps with 81 atoms + +Performance: 559072.380 tau/day, 64707.451 timesteps/s, 5.241 Matom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0094322 | 0.0094322 | 0.0094322 | 0.0 | 6.10 +Bond | 0.00037544 | 0.00037544 | 0.00037544 | 0.0 | 0.24 +Neigh | 0.062048 | 0.062048 | 0.062048 | 0.0 | 40.15 +Comm | 0.0095533 | 0.0095533 | 0.0095533 | 0.0 | 6.18 +Output | 0.0022247 | 0.0022247 | 0.0022247 | 0.0 | 1.44 +Modify | 0.06281 | 0.06281 | 0.06281 | 0.0 | 40.64 +Other | | 0.008098 | | | 5.24 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 new file mode 100644 index 0000000000..e4c45a4523 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 @@ -0,0 +1,322 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722864e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 + 9600 16738.549 -0.026814366 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589874 0 5269.4979 12.062708 + 9750 16738.013 0.1355012 0 5269.5101 11.407245 + 9800 16738.512 -0.011620331 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270574 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.194899 on 4 procs for 10000 steps with 81 atoms + +Performance: 443306.036 tau/day, 51308.569 timesteps/s, 4.156 Matom-step/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0017487 | 0.0024215 | 0.0028965 | 0.9 | 1.24 +Bond | 0.00032501 | 0.00033082 | 0.0003413 | 0.0 | 0.17 +Neigh | 0.015692 | 0.016603 | 0.018578 | 0.9 | 8.52 +Comm | 0.063465 | 0.066081 | 0.068061 | 0.8 | 33.91 +Output | 0.0019654 | 0.0021191 | 0.0025315 | 0.5 | 1.09 +Modify | 0.092199 | 0.094298 | 0.096149 | 0.5 | 48.38 +Other | | 0.01305 | | | 6.69 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.1 b/examples/rigid/log.25Mar24.rigid.tnr.g++.1 new file mode 100644 index 0000000000..be58bf94b9 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.tnr.g++.1 @@ -0,0 +1,475 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr +Reading data file ... + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.027 seconds + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule + 800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.017 | 8.017 | 8.017 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 + 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 + 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 + 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 + 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 + 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 + 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 + 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 + 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 + 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 + 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 + 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 + 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 + 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 + 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 + 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 + 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 + 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 + 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 + 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 + 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 + 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 + 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 + 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 + 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 + 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 + 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 + 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 + 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 + 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 + 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 + 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 + 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 + 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 + 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 + 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 + 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 + 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 + 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 + 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 + 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 + 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 + 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 + 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 + 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 + 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 + 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 + 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 + 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 + 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 +Loop time of 5.54157 on 1 procs for 5000 steps with 5600 atoms + +Performance: 389781.415 tau/day, 902.272 timesteps/s, 5.053 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.40156 | 0.40156 | 0.40156 | 0.0 | 7.25 +Bond | 0.172 | 0.172 | 0.172 | 0.0 | 3.10 +Neigh | 1.6573 | 1.6573 | 1.6573 | 0.0 | 29.91 +Comm | 0.10679 | 0.10679 | 0.10679 | 0.0 | 1.93 +Output | 0.0033706 | 0.0033706 | 0.0033706 | 0.0 | 0.06 +Modify | 3.0948 | 3.0948 | 3.0948 | 0.0 | 55.85 +Other | | 0.1058 | | | 1.91 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1351 ave 1351 max 1351 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5254 ave 5254 max 5254 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5254 +Ave neighs/atom = 0.93821429 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 766 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule + 800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 + 5100 1.439608 5.9052128 7.0359478 0.0060989876 7.2985886 62.244 62.244 62.244 0.0087364154 0.0040228411 0.0055377063 + 5200 1.4120671 5.9102569 7.01936 0.0064301456 7.2962615 62.244 62.244 62.244 0.0082738088 0.0038925707 0.0071240574 + 5300 1.4452434 5.8842166 7.0193778 0.0081724166 7.3713067 62.244 62.244 62.244 0.0077715644 0.0068924374 0.0098532479 + 5400 1.4170243 5.887522 7.0005186 0.00086566653 7.0377968 62.244 62.244 62.244 -9.179779e-05 -0.0020237494 0.0047125468 + 5500 1.4209084 5.875892 6.9919394 0.009363414 7.3951563 62.244 62.244 62.244 0.0088769611 0.0087092372 0.010504044 + 5600 1.4132978 5.8798939 6.9899636 0.0014877902 7.0540323 62.244 62.244 62.244 -0.0023427699 0.0045593956 0.0022467449 + 5700 1.4065055 5.8875412 6.9922759 0.002808316 7.1132105 62.244 62.244 62.244 0.0025187553 0.00051088905 0.0053953037 + 5800 1.4079049 5.8940749 6.9999087 0.0015946903 7.0685809 62.244 62.244 62.244 0.0037830352 0.00021762631 0.00078340928 + 5900 1.4076048 5.8941588 6.9997569 0.0051902121 7.2232631 62.244 62.244 62.244 -0.00093181434 0.0096405899 0.0068618607 + 6000 1.4322812 5.8903503 7.0153305 0.00029722379 7.0281298 62.244 62.244 62.244 0.0019139164 -0.00073870179 -0.00028354325 +Loop time of 1.21399 on 1 procs for 1000 steps with 5600 atoms + +Performance: 355850.342 tau/day, 823.728 timesteps/s, 4.613 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.12141 | 0.12141 | 0.12141 | 0.0 | 10.00 +Bond | 0.038739 | 0.038739 | 0.038739 | 0.0 | 3.19 +Neigh | 0.39335 | 0.39335 | 0.39335 | 0.0 | 32.40 +Comm | 0.023806 | 0.023806 | 0.023806 | 0.0 | 1.96 +Output | 0.00074295 | 0.00074295 | 0.00074295 | 0.0 | 0.06 +Modify | 0.61212 | 0.61212 | 0.61212 | 0.0 | 50.42 +Other | | 0.02383 | | | 1.96 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1347 ave 1347 max 1347 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5399 ave 5399 max 5399 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5399 +Ave neighs/atom = 0.96410714 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 153 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 + 800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.4322812 5.8903503 7.0153305 0.012984296 7.5744734 62.244 62.244 62.244 0.058323772 0.007366828 -0.026737713 + 6100 1.4199781 5.8764024 6.9917192 0.0054080227 7.2246049 62.244 62.244 62.244 0.0092282159 0.0019631398 0.0050327123 + 6200 1.3976803 5.8924474 6.9902504 0.00044474719 7.0094026 62.244 62.244 62.244 -0.0022979183 -0.0004943354 0.0041264952 + 6300 1.4076912 5.8847607 6.9904268 0.0066261457 7.2757686 62.244 62.244 62.244 0.0057923777 0.0091772934 0.0049087658 + 6400 1.3749242 5.8816641 6.9615934 0.0075045379 7.2847615 62.244 62.244 62.244 0.012318395 0.003979389 0.0062158299 + 6500 1.3467602 5.888001 6.945809 -6.1011018e-05 6.9431817 62.244 62.244 62.244 0.0031945051 -0.0013048764 -0.0020726618 + 6600 1.3638321 5.8744775 6.9456945 0.005780579 7.1946237 62.244 62.244 62.244 0.0060765968 0.0058486743 0.0054164658 + 6700 1.3933343 5.8833797 6.9777691 0.0026007197 7.089764 62.244 62.244 62.244 0.0029828101 0.0019631585 0.0028561905 + 6800 1.4025439 5.901019 7.0026421 0.0033759718 7.1480216 62.244 62.244 62.244 0.0059683617 0.0016890885 0.002470465 + 6900 1.4165405 5.8901618 7.0027785 0.0048537306 7.2117948 62.244 62.244 62.244 0.0031937581 0.0089194691 0.0024479647 + 7000 1.4256345 5.8979889 7.0177485 0.0076603683 7.347627 62.244 62.244 62.244 0.0064499957 0.0096400261 0.0068910831 +Loop time of 1.16587 on 1 procs for 1000 steps with 5600 atoms + +Performance: 370540.281 tau/day, 857.732 timesteps/s, 4.803 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11675 | 0.11675 | 0.11675 | 0.0 | 10.01 +Bond | 0.03628 | 0.03628 | 0.03628 | 0.0 | 3.11 +Neigh | 0.36879 | 0.36879 | 0.36879 | 0.0 | 31.63 +Comm | 0.022201 | 0.022201 | 0.022201 | 0.0 | 1.90 +Output | 0.00070791 | 0.00070791 | 0.00070791 | 0.0 | 0.06 +Modify | 0.59859 | 0.59859 | 0.59859 | 0.0 | 51.34 +Other | | 0.02255 | | | 1.93 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1284 ave 1284 max 1284 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5691 ave 5691 max 5691 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5691 +Ave neighs/atom = 1.01625 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 151 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.4256345 5.8979889 7.0177485 0.030670312 8.3385046 62.244 62.244 62.244 0.019152979 0.028037341 0.044820616 + 7100 1.4830481 5.8740667 7.0389215 0.021216954 7.7436467 57.083193 57.083193 57.083193 0.015785563 0.020078182 0.027787115 + 7200 1.5225973 5.8364439 7.0323626 0.015560962 7.3866118 50.329217 50.329217 50.329217 0.017379604 0.02205435 0.0072489313 + 7300 1.5589134 5.7874972 7.0119402 0.020613279 7.3515942 45.188285 45.188285 45.188285 0.019963793 0.02165546 0.020220585 + 7400 1.5629259 5.7523794 6.9799739 0.035363756 7.4299227 41.456971 41.456971 41.456971 0.030810521 0.041559103 0.033721646 + 7500 1.5735285 5.706087 6.9420093 0.033186427 7.2889675 38.830074 38.830074 38.830074 0.030605548 0.018770943 0.050182791 + 7600 1.5546074 5.6815832 6.902644 0.027297758 7.1446412 36.752801 36.752801 36.752801 0.027154479 0.030653039 0.024085757 + 7700 1.5396727 5.6293114 6.8386418 0.030528746 7.0744265 35.101973 35.101973 35.101973 0.022542269 0.025802901 0.043241069 + 7800 1.5249769 5.5826711 6.7804588 0.067321436 7.2458344 33.82824 33.82824 33.82824 0.063820368 0.072156874 0.065987065 + 7900 1.5017937 5.5660576 6.7456361 0.04770857 7.0497596 32.926623 32.926623 32.926623 0.035259576 0.06869573 0.039170404 + 8000 1.5105319 5.5459012 6.7323431 0.053301062 7.0487429 32.153588 32.153588 32.153588 0.076450314 0.07417732 0.0092755526 +Loop time of 2.49405 on 1 procs for 1000 steps with 5600 atoms + +Performance: 173212.568 tau/day, 400.955 timesteps/s, 2.245 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.29712 | 0.29712 | 0.29712 | 0.0 | 11.91 +Bond | 0.044611 | 0.044611 | 0.044611 | 0.0 | 1.79 +Neigh | 1.2735 | 1.2735 | 1.2735 | 0.0 | 51.06 +Comm | 0.048469 | 0.048469 | 0.048469 | 0.0 | 1.94 +Output | 0.0007418 | 0.0007418 | 0.0007418 | 0.0 | 0.03 +Modify | 0.7991 | 0.7991 | 0.7991 | 0.0 | 32.04 +Other | | 0.03048 | | | 1.22 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2993 ave 2993 max 2993 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 25312 ave 25312 max 25312 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 25312 +Ave neighs/atom = 4.52 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 335 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.033 | 8.033 | 8.033 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.5105319 5.5459012 6.7323431 -0.15611622 5.8056235 32.153588 32.153588 32.153588 -0.25823552 0.036861264 -0.24697441 + 8100 1.4816536 5.5214096 6.6851691 0.051659716 6.9889314 31.85012 32.153588 32.153588 0.042525917 0.079045459 0.033407772 + 8200 1.4364335 5.5026881 6.6309297 0.030961663 6.8100555 31.337401 32.153588 32.153588 0.062969827 0.0077436471 0.022171514 + 8300 1.4159126 5.504273 6.6163965 0.050231597 6.9027629 30.879771 32.153588 32.153588 0.047512875 0.071477224 0.031704693 + 8400 1.4479331 5.4732237 6.6104975 0.037171033 6.8195306 30.460678 32.153588 32.153588 0.016306171 0.072770628 0.022436301 + 8500 1.4126922 5.4616331 6.5712271 0.069137703 6.9521816 29.846079 32.153588 32.153588 0.075972518 0.063305384 0.068135208 + 8600 1.4129562 5.4397649 6.5495663 0.068287674 6.9190398 29.306917 32.153588 32.153588 0.077820831 0.076960087 0.050082105 + 8700 1.4199417 5.408767 6.5240551 0.046952367 6.7741118 28.847632 32.153588 32.153588 0.078496327 0.013710756 0.048650018 + 8800 1.415092 5.4082456 6.5197246 0.017068201 6.6091852 28.39051 32.153588 32.153588 0.01803734 0.0086202553 0.024547008 + 8900 1.4080943 5.3806524 6.486635 0.006282149 6.5189723 27.882074 32.153588 32.153588 0.023331732 0.01130818 -0.015793465 + 9000 1.4188356 5.3687142 6.4831335 0.078333785 6.8770321 27.237322 32.153588 32.153588 0.092873218 0.033643462 0.10848468 +Loop time of 2.35076 on 1 procs for 1000 steps with 5600 atoms + +Performance: 183770.370 tau/day, 425.394 timesteps/s, 2.382 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.45082 | 0.45082 | 0.45082 | 0.0 | 19.18 +Bond | 0.045157 | 0.045157 | 0.045157 | 0.0 | 1.92 +Neigh | 0.98655 | 0.98655 | 0.98655 | 0.0 | 41.97 +Comm | 0.039968 | 0.039968 | 0.039968 | 0.0 | 1.70 +Output | 0.00072296 | 0.00072296 | 0.00072296 | 0.0 | 0.03 +Modify | 0.80394 | 0.80394 | 0.80394 | 0.0 | 34.20 +Other | | 0.0236 | | | 1.00 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3422 ave 3422 max 3422 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 31084 ave 31084 max 31084 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 31084 +Ave neighs/atom = 5.5507143 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 167 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.036 | 8.036 | 8.036 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.4188356 5.3687142 6.4831335 0.066940268 6.8197402 27.237322 32.153588 32.153588 0.020750172 0.14461869 0.035451941 + 9100 1.418441 5.3523211 6.4664305 0.016522511 6.5489637 27.17712 32.08252 32.08252 0.01137531 0.0028933886 0.035298833 + 9200 1.4433401 5.3458252 6.4794915 0.038961106 6.6708176 27.023003 31.900585 31.900585 0.012667867 0.094480325 0.0097351253 + 9300 1.4806575 5.309105 6.4720822 0.11806636 7.0379478 26.804952 31.643176 31.643176 0.063001935 0.11667303 0.17452413 + 9400 1.4835179 5.3103383 6.4755622 0.098990545 6.9362503 26.543432 31.334452 31.334452 0.13023767 0.084360197 0.08237377 + 9500 1.4855723 5.2906327 6.4574702 -0.0012789282 6.4516456 26.352845 31.109465 31.109465 0.053813822 -0.016098782 -0.041551825 + 9600 1.4959395 5.2553176 6.4302979 0.036958035 6.5952607 26.176506 30.901298 30.901298 0.077457004 -0.035314705 0.068731807 + 9700 1.4470266 5.289874 6.4264359 0.065648447 6.7177609 26.125849 30.841497 30.841497 0.064764383 0.041383889 0.090797069 + 9800 1.4525327 5.2808561 6.4217428 0.0076421133 6.4554682 26.077575 30.78451 30.78451 -0.01978363 0.013568065 0.029141905 + 9900 1.4603761 5.269343 6.4163902 0.079488558 6.7651749 26.027767 30.725712 30.725712 0.06210239 0.062690336 0.11367295 + 10000 1.4437445 5.2626116 6.3965955 0.0024175103 6.4072252 26.045744 30.746933 30.746933 0.0020903338 0.023283622 -0.018121425 +Loop time of 2.42718 on 1 procs for 1000 steps with 5600 atoms + +Performance: 177984.690 tau/day, 412.002 timesteps/s, 2.307 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52411 | 0.52411 | 0.52411 | 0.0 | 21.59 +Bond | 0.04594 | 0.04594 | 0.04594 | 0.0 | 1.89 +Neigh | 1.0079 | 1.0079 | 1.0079 | 0.0 | 41.53 +Comm | 0.040182 | 0.040182 | 0.040182 | 0.0 | 1.66 +Output | 0.00070663 | 0.00070663 | 0.00070663 | 0.0 | 0.03 +Modify | 0.78582 | 0.78582 | 0.78582 | 0.0 | 32.38 +Other | | 0.02253 | | | 0.93 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3638 ave 3638 max 3638 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 35778 ave 35778 max 35778 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 35778 +Ave neighs/atom = 6.3889286 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 161 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.041 | 8.041 | 8.041 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.4437445 5.2626116 6.3965955 0.043852305 6.5894123 26.045744 30.746933 30.746933 -0.10594451 -0.016019605 0.25352103 + 10100 1.4544517 5.2536075 6.3960014 0.040252547 6.5723133 25.995896 30.688087 30.746933 0.036481947 0.058195014 0.026080679 + 10200 1.4465796 5.2533056 6.3895164 0.043103918 6.5797343 26.093233 30.802994 30.746933 0.047509548 0.023387048 0.058415158 + 10300 1.4703558 5.2311222 6.3860079 0.02952279 6.5179005 26.253791 30.992532 30.746933 0.067825843 -1.1742127e-05 0.020754268 + 10400 1.4264151 5.2426153 6.362988 0.043320767 6.5561801 26.230542 30.965087 30.746933 0.036437179 0.069318063 0.02420706 + 10500 1.4718495 5.213542 6.3696009 0.028876649 6.4965877 26.047535 30.749047 30.746933 0.044470994 0.03304953 0.0091094235 + 10600 1.4550996 5.2087392 6.3516419 0.049130073 6.5647387 25.868744 30.537985 30.746933 0.056613289 0.028555571 0.062221359 + 10700 1.4755834 5.1912236 6.3502153 0.0027128909 6.3617831 25.648895 30.278455 30.746933 0.035708882 0.02165412 -0.04922433 + 10800 1.4801906 5.1863989 6.3490092 0.030220134 6.4763468 25.497097 30.099256 30.746933 0.035963119 0.021549561 0.033147721 + 10900 1.4318851 5.1785312 6.3032002 0.095502071 6.7019424 25.380506 29.961622 30.746933 0.1040397 0.10708089 0.075385625 + 11000 1.4500789 5.1660716 6.3050309 0.072030914 6.6026703 25.249123 29.806525 30.746933 0.073199983 0.0091150749 0.13377768 +Loop time of 2.55647 on 1 procs for 1000 steps with 5600 atoms + +Performance: 168982.932 tau/day, 391.164 timesteps/s, 2.191 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.5683 | 0.5683 | 0.5683 | 0.0 | 22.23 +Bond | 0.044877 | 0.044877 | 0.044877 | 0.0 | 1.76 +Neigh | 1.0732 | 1.0732 | 1.0732 | 0.0 | 41.98 +Comm | 0.041328 | 0.041328 | 0.041328 | 0.0 | 1.62 +Output | 0.00078717 | 0.00078717 | 0.00078717 | 0.0 | 0.03 +Modify | 0.80433 | 0.80433 | 0.80433 | 0.0 | 31.46 +Other | | 0.02363 | | | 0.92 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3699 ave 3699 max 3699 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 39523 ave 39523 max 39523 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39523 +Ave neighs/atom = 7.0576786 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 163 +Dangerous builds = 0 + +Total wall time: 0:00:17 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.4 b/examples/rigid/log.25Mar24.rigid.tnr.g++.4 new file mode 100644 index 0000000000..6d98088472 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.tnr.g++.4 @@ -0,0 +1,475 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr +Reading data file ... + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.017 seconds + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule + 800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.552 | 7.555 | 7.559 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 + 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 + 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 + 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 + 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 + 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 + 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 + 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 + 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 + 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 + 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 + 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 + 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 + 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 + 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 + 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 + 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 + 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 + 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 + 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 + 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 + 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 + 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 + 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 + 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414204 0.0039571831 0.0048428538 + 2600 1.3876469 5.9249124 7.0148347 -0.0017777225 6.9382806 62.244 62.244 62.244 -0.00047616393 -0.0025484918 -0.0023085117 + 2700 1.4099941 5.916763 7.0242378 0.0070716262 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812866 0.0032048359 + 2800 1.4444643 5.9283432 7.0628925 0.0019400023 7.1464349 62.244 62.244 62.244 0.0014895078 0.0046367397 -0.00030624049 + 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403268 -0.0046971891 + 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093025 0.010147657 + 3100 1.3569137 5.9171753 6.9829583 -0.0028266769 6.8612331 62.244 62.244 62.244 -0.0069507251 0.0010084401 -0.0025377458 + 3200 1.4004275 5.905939 7.0058998 0.0054394667 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594139 0.00020680257 + 3300 1.3641217 5.9145275 6.985972 -0.0027212813 6.8687854 62.244 62.244 62.244 -0.00065933696 -0.005771301 -0.001733206 + 3400 1.3868722 5.9059546 6.9952684 0.0092591263 7.3939943 62.244 62.244 62.244 0.010690877 0.01075252 0.0063339817 + 3500 1.3939169 5.8992292 6.9940762 0.0074340014 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252538 0.0077394438 + 3600 1.3982507 5.9219461 7.0201971 0.0056794512 7.2647714 62.244 62.244 62.244 0.0023367131 0.0080592141 0.0066424266 + 3700 1.4019908 5.9059957 7.0071844 0.0065915518 7.2910365 62.244 62.244 62.244 0.0049554052 0.010827013 0.0039922376 + 3800 1.3960736 5.902079 6.9986201 0.0027763672 7.1181788 62.244 62.244 62.244 -0.0015907142 0.0025862031 0.0073336126 + 3900 1.4352825 5.8986216 7.0259591 0.003498295 7.1766062 62.244 62.244 62.244 0.0030417173 0.0027739456 0.0046792221 + 4000 1.4121845 5.9079028 7.0170981 0.0050462581 7.2344052 62.244 62.244 62.244 0.0045543085 0.0064113637 0.0041731022 + 4100 1.3989579 5.9082397 7.0070461 0.00042870391 7.0255074 62.244 62.244 62.244 0.0025733986 0.0025181076 -0.0038053944 + 4200 1.399883 5.8998147 6.9993477 0.0042777423 7.1835602 62.244 62.244 62.244 0.0013744675 0.0064699404 0.0049888191 + 4300 1.4076025 5.9044509 7.0100472 0.0066788698 7.2976595 62.244 62.244 62.244 0.007361029 0.0048139331 0.0078616474 + 4400 1.4161078 5.9064334 7.0187102 -0.0011844913 6.9677025 62.244 62.244 62.244 -0.001908963 -0.0037556847 0.0021111739 + 4500 1.429225 5.8980089 7.0205885 0.0018498822 7.10025 62.244 62.244 62.244 0.0041143046 0.0010156504 0.00041969169 + 4600 1.3958783 5.894313 6.9907006 0.0041483111 7.1693394 62.244 62.244 62.244 0.0033996217 0.0041616835 0.004883628 + 4700 1.3856609 5.8886843 6.9770467 0.0013148711 7.033669 62.244 62.244 62.244 -0.00051706505 0.0030872136 0.0013744648 + 4800 1.4016792 5.902351 7.0032949 0.0025050908 7.1111717 62.244 62.244 62.244 0.0016540384 -0.00018095286 0.0060421869 + 4900 1.4466248 5.9050606 7.0413069 -0.0026620212 6.9266722 62.244 62.244 62.244 -0.00069094879 -0.0073956145 0.00010049979 + 5000 1.4387209 5.9077482 7.0377864 0.0049404333 7.2505363 62.244 62.244 62.244 0.0042769255 0.0046681652 0.0058762093 +Loop time of 2.72962 on 4 procs for 5000 steps with 5600 atoms + +Performance: 791319.942 tau/day, 1831.759 timesteps/s, 10.258 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.06605 | 0.10369 | 0.14557 | 11.7 | 3.80 +Bond | 0.03005 | 0.045571 | 0.06035 | 6.5 | 1.67 +Neigh | 0.61326 | 0.61489 | 0.61678 | 0.2 | 22.53 +Comm | 0.14416 | 0.19908 | 0.25001 | 11.1 | 7.29 +Output | 0.0017405 | 0.0025188 | 0.0028143 | 0.9 | 0.09 +Modify | 1.522 | 1.6149 | 1.699 | 6.3 | 59.16 +Other | | 0.1489 | | | 5.46 + +Nlocal: 1400 ave 1868 max 905 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Nghost: 648.25 ave 688 max 598 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Neighs: 1202.5 ave 1821 max 698 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 4810 +Ave neighs/atom = 0.85892857 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 759 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule + 800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4387209 5.9077482 7.0377864 0.0036839327 7.1964276 62.244 62.244 62.244 0.025677952 -0.016670649 0.002044495 + 5100 1.4449629 5.8876265 7.0225675 0.0023125815 7.1221542 62.244 62.244 62.244 0.0045991271 0.0036872425 -0.0013486251 + 5200 1.4271279 5.9160281 7.0369606 0.0020315691 7.1244461 62.244 62.244 62.244 -0.0022476411 0.0039290288 0.0044133197 + 5300 1.4143266 5.9052803 7.0161581 0.0064093985 7.2921661 62.244 62.244 62.244 0.0090986577 0.0026397649 0.0074897729 + 5400 1.4426551 5.9087477 7.041876 0.0020419183 7.1298072 62.244 62.244 62.244 0.0043078454 1.5623413e-05 0.001802286 + 5500 1.4280605 5.9038941 7.0255591 0.00057730336 7.0504195 62.244 62.244 62.244 0.0058938228 0.00065558729 -0.0048175 + 5600 1.4315004 5.902394 7.0267609 0.0096531882 7.4424563 62.244 62.244 62.244 0.0054225258 0.011780272 0.011756766 + 5700 1.4074659 5.9076093 7.0130984 0.0052032455 7.2371658 62.244 62.244 62.244 0.0029612305 0.003678953 0.008969553 + 5800 1.4216898 5.9047983 7.0214595 0.0015109698 7.0865264 62.244 62.244 62.244 -6.4662019e-05 0.0023994389 0.0021981326 + 5900 1.4052133 5.8920187 6.9957385 0.0065755622 7.278902 62.244 62.244 62.244 0.0062703932 0.011367786 0.002088507 + 6000 1.3958734 5.9025061 6.9988899 0.0071783223 7.3080101 62.244 62.244 62.244 0.0088905564 0.0025533521 0.010091058 +Loop time of 0.646284 on 4 procs for 1000 steps with 5600 atoms + +Performance: 668436.315 tau/day, 1547.306 timesteps/s, 8.665 Matom-step/s +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.01802 | 0.028926 | 0.041262 | 6.4 | 4.48 +Bond | 0.0066363 | 0.0098826 | 0.012811 | 2.9 | 1.53 +Neigh | 0.14233 | 0.14273 | 0.14311 | 0.1 | 22.08 +Comm | 0.029365 | 0.044453 | 0.057955 | 6.3 | 6.88 +Output | 0.00034317 | 0.00049475 | 0.00055796 | 0.0 | 0.08 +Modify | 0.35817 | 0.37856 | 0.40064 | 2.8 | 58.57 +Other | | 0.04124 | | | 6.38 + +Nlocal: 1400 ave 1850 max 932 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 642.25 ave 730 max 550 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Neighs: 1267.25 ave 1805 max 729 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 5069 +Ave neighs/atom = 0.90517857 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 154 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 + 800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.3958734 5.9025061 6.9988899 0.0021028569 7.0894453 62.244 62.244 62.244 0.013626393 0.019990521 -0.027308344 + 6100 1.403297 5.9008111 7.0030257 0.0034667159 7.152313 62.244 62.244 62.244 0.00094173119 0.0074633638 0.0019950526 + 6200 1.4025256 5.8966477 6.9982564 -0.00020483779 6.9894355 62.244 62.244 62.244 -0.0064238043 0.0010245391 0.0047847518 + 6300 1.4394011 5.9052004 7.0357728 0.0054604133 7.2709147 62.244 62.244 62.244 0.0096132747 0.002164465 0.0046035003 + 6400 1.408769 5.8824709 6.9889834 0.005608612 7.2305072 62.244 62.244 62.244 0.0042736813 0.0053311794 0.0072209755 + 6500 1.3956548 5.8831208 6.9793329 0.0085962528 7.3495135 62.244 62.244 62.244 0.0082055979 0.011231962 0.0063511989 + 6600 1.3758562 5.8829365 6.9635978 0.0065047826 7.2437134 62.244 62.244 62.244 0.005468046 0.0069917695 0.0070545323 + 6700 1.3804704 5.8923062 6.9765917 0.0057976076 7.2262542 62.244 62.244 62.244 0.0052851407 0.011935403 0.00017227886 + 6800 1.396967 5.8774293 6.974672 0.0018361999 7.0537443 62.244 62.244 62.244 1.5181397e-05 0.0031700121 0.0023234062 + 6900 1.3966118 5.8872183 6.9841821 0.0029553371 7.1114478 62.244 62.244 62.244 -0.0022750426 0.0055197498 0.005621304 + 7000 1.3992657 5.8918087 6.990857 0.0033614376 7.1356106 62.244 62.244 62.244 0.0019626838 -0.0019054573 0.010027086 +Loop time of 0.627583 on 4 procs for 1000 steps with 5600 atoms + +Performance: 688355.013 tau/day, 1593.414 timesteps/s, 8.923 Matom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.017522 | 0.028358 | 0.041297 | 6.2 | 4.52 +Bond | 0.0060681 | 0.0092563 | 0.012417 | 2.9 | 1.47 +Neigh | 0.13625 | 0.13667 | 0.13709 | 0.1 | 21.78 +Comm | 0.027966 | 0.043787 | 0.057522 | 6.2 | 6.98 +Output | 0.00035478 | 0.00049121 | 0.00055892 | 0.0 | 0.08 +Modify | 0.35811 | 0.37631 | 0.39333 | 2.6 | 59.96 +Other | | 0.03272 | | | 5.21 + +Nlocal: 1400 ave 1883 max 958 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 665 ave 803 max 565 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Neighs: 1272.25 ave 1895 max 762 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 5089 +Ave neighs/atom = 0.90875 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 150 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.3992657 5.8918087 6.990857 0.016459779 7.6996647 62.244 62.244 62.244 0.056781831 -0.019577361 0.012174866 + 7100 1.5086944 5.8706667 7.0556653 0.011656301 7.4412826 57.006966 57.006966 57.006966 0.015012728 0.015151838 0.0048043378 + 7200 1.5444857 5.8347072 7.047818 0.025893976 7.6357076 50.283831 50.283831 50.283831 0.021166084 0.027070838 0.029445006 + 7300 1.5460527 5.7950177 7.0093593 0.02162991 7.3688559 45.318555 45.318555 45.318555 0.014747735 0.037527921 0.012614075 + 7400 1.5613693 5.7516603 6.9780323 0.034798817 7.4279201 41.678228 41.678228 41.678228 0.041296806 0.025288632 0.037811012 + 7500 1.5582169 5.7359749 6.9598708 0.029878761 7.2757008 38.972622 38.972622 38.972622 0.031657651 0.020061922 0.037916711 + 7600 1.5578367 5.6988812 6.9224785 0.045695884 7.3351888 36.981577 36.981577 36.981577 0.040243029 0.039644927 0.057199697 + 7700 1.5148812 5.6528692 6.8427272 0.022439627 7.0209705 35.43196 35.43196 35.43196 0.010631952 0.017769669 0.03891726 + 7800 1.529109 5.6051059 6.8061392 0.054079172 7.1911354 34.161596 34.161596 34.161596 0.034939239 0.071325426 0.05597285 + 7900 1.5182819 5.5708546 6.7633838 0.066345571 7.1933547 33.108416 33.108416 33.108416 0.060359678 0.07068182 0.067995216 + 8000 1.4677372 5.5540248 6.7068537 0.033729921 6.90804 32.205032 32.205032 32.205032 0.049412183 0.016101823 0.035675755 +Loop time of 1.1282 on 4 procs for 1000 steps with 5600 atoms + +Performance: 382910.795 tau/day, 886.368 timesteps/s, 4.964 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.047245 | 0.075421 | 0.11065 | 10.1 | 6.69 +Bond | 0.0077964 | 0.011056 | 0.014794 | 2.9 | 0.98 +Neigh | 0.47306 | 0.4737 | 0.47434 | 0.1 | 41.99 +Comm | 0.047565 | 0.086613 | 0.11788 | 10.3 | 7.68 +Output | 0.00031206 | 0.00038703 | 0.00060877 | 0.0 | 0.03 +Modify | 0.43174 | 0.44726 | 0.46676 | 2.3 | 39.64 +Other | | 0.03376 | | | 2.99 + +Nlocal: 1400 ave 1845 max 1051 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 1558.25 ave 1732 max 1431 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Neighs: 6210.75 ave 9543 max 3698 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 24843 +Ave neighs/atom = 4.43625 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 335 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.567 | 7.579 | 7.596 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.4677372 5.5540248 6.7068537 -0.017850632 6.6003814 32.205032 32.205032 32.205032 -0.10278017 -0.1824093 0.23163757 + 8100 1.4540331 5.5388671 6.6809322 0.022562574 6.8139144 31.823315 32.205032 32.205032 0.028408548 0.028883436 0.010395737 + 8200 1.4702497 5.4971666 6.6519689 0.031541665 6.8340274 31.164985 32.205032 32.205032 0.05198967 0.017790558 0.024844767 + 8300 1.4895576 5.4752966 6.6452643 0.049612462 6.9245663 30.396516 32.205032 32.205032 0.050583662 0.041684528 0.056569197 + 8400 1.4546023 5.4627064 6.6052185 0.014637455 6.6862795 29.901065 32.205032 32.205032 0.022874978 -0.0061332581 0.027170646 + 8500 1.4485789 5.4330137 6.5707949 0.06887386 6.9450276 29.337823 32.205032 32.205032 0.082103679 0.041682043 0.082835857 + 8600 1.4443937 5.4261726 6.5606664 0.02551672 6.6959898 28.63444 32.205032 32.205032 0.028149026 0.066325162 -0.017924027 + 8700 1.4329121 5.409813 6.5352887 0.028828984 6.6848753 28.015854 32.205032 32.205032 0.015384578 0.050827744 0.02027463 + 8800 1.4015747 5.4009279 6.5017898 0.046423411 6.7374794 27.41221 32.205032 32.205032 0.099149897 0.019633915 0.020486421 + 8900 1.411353 5.3728016 6.4813438 0.046095308 6.711069 26.908695 32.205032 32.205032 0.04716092 0.029778906 0.061346098 + 9000 1.3987178 5.3528351 6.451453 0.029891295 6.5977498 26.425959 32.205032 32.205032 0.033096258 0.039059663 0.017517965 +Loop time of 1.05732 on 4 procs for 1000 steps with 5600 atoms + +Performance: 408581.873 tau/day, 945.791 timesteps/s, 5.296 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.084017 | 0.12178 | 0.1674 | 10.7 | 11.52 +Bond | 0.0087866 | 0.011339 | 0.014172 | 2.1 | 1.07 +Neigh | 0.35177 | 0.35194 | 0.35221 | 0.0 | 33.29 +Comm | 0.046529 | 0.094466 | 0.13331 | 12.7 | 8.93 +Output | 0.00031081 | 0.00038714 | 0.00061511 | 0.0 | 0.04 +Modify | 0.43779 | 0.45007 | 0.46334 | 1.8 | 42.57 +Other | | 0.02734 | | | 2.59 + +Nlocal: 1400 ave 1718 max 1133 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 1700.75 ave 1793 max 1533 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Neighs: 7936.75 ave 10967 max 5250 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 31747 +Ave neighs/atom = 5.6691071 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 169 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.568 | 7.58 | 7.597 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.3987178 5.3528351 6.451453 0.26585248 7.7526137 26.425959 32.205032 32.205032 0.02018168 0.47782722 0.29954855 + 9100 1.4351747 5.3304458 6.4576986 0.051746697 6.707501 26.305023 32.057649 32.057649 0.073064096 0.037508173 0.044667823 + 9200 1.442609 5.3185643 6.4516564 0.026933669 6.5768423 25.974904 31.655336 31.655336 0.0097800385 0.035425194 0.035595776 + 9300 1.4528107 5.2812305 6.4223354 0.074634951 6.7601945 25.747306 31.377965 31.377965 0.12937272 0.031196451 0.063335685 + 9400 1.4778194 5.2625966 6.4233445 0.0179548 6.5034822 25.626311 31.23051 31.23051 0.042627054 -0.047901197 0.059138542 + 9500 1.4406019 5.2661826 6.3976982 0.048963663 6.6143417 25.551982 31.139926 31.139926 0.097226703 -0.0051171725 0.054781458 + 9600 1.4463517 5.2420508 6.3780826 0.033338493 6.5253103 25.535743 31.120136 31.120136 0.013953126 0.066958907 0.019103444 + 9700 1.4040075 5.264089 6.3668617 0.075486855 6.6986983 25.496763 31.072631 31.072631 0.051974464 0.097239496 0.077246606 + 9800 1.4369291 5.25259 6.3812208 0.062882837 6.6532231 25.359898 30.905835 30.905835 0.088614069 0.087884794 0.012149647 + 9900 1.4426697 5.2270989 6.3602387 0.070910381 6.6603048 25.175015 30.68052 30.68052 0.081294501 0.056618911 0.07481773 + 10000 1.4714476 5.2051468 6.3608901 0.038441228 6.5234989 25.171919 30.676748 30.676748 0.021691591 0.0086967032 0.084935388 +Loop time of 1.07529 on 4 procs for 1000 steps with 5600 atoms + +Performance: 401751.573 tau/day, 929.980 timesteps/s, 5.208 Matom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.10178 | 0.14349 | 0.18701 | 10.0 | 13.34 +Bond | 0.0094369 | 0.011359 | 0.01342 | 1.5 | 1.06 +Neigh | 0.35737 | 0.35764 | 0.35787 | 0.0 | 33.26 +Comm | 0.048562 | 0.093503 | 0.13651 | 12.7 | 8.70 +Output | 0.00029714 | 0.00035903 | 0.0005404 | 0.0 | 0.03 +Modify | 0.43477 | 0.44365 | 0.45263 | 1.3 | 41.26 +Other | | 0.0253 | | | 2.35 + +Nlocal: 1400 ave 1650 max 1148 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Nghost: 1770.5 ave 1864 max 1640 min +Histogram: 1 0 0 0 0 1 0 0 1 1 +Neighs: 9370.75 ave 12213 max 6410 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 37483 +Ave neighs/atom = 6.6933929 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 162 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.569 | 7.58 | 7.597 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.4714476 5.2051468 6.3608901 -0.096738415 5.9516804 25.171919 30.676748 30.676748 -0.07465944 0.069571401 -0.28512721 + 10100 1.4336012 5.2129069 6.3389239 0.069305782 6.6336186 25.237381 30.756525 30.676748 0.1042358 0.062982076 0.040699467 + 10200 1.3850266 5.2255115 6.3133757 -0.026502584 6.1990129 25.423835 30.983755 30.676748 -0.018638813 -0.01225392 -0.048615018 + 10300 1.4059572 5.2273228 6.3316268 0.026841528 6.4477936 25.461278 31.029386 30.676748 0.0032748153 0.054971756 0.022278013 + 10400 1.4085811 5.2218002 6.3281652 0.087028058 6.7005137 25.315588 30.851835 30.676748 0.095488962 0.059423478 0.10617173 + 10500 1.4323046 5.1961285 6.321127 0.011963636 6.3715428 25.124329 30.61875 30.676748 0.047765438 -0.013073535 0.0011990069 + 10600 1.4401614 5.1744178 6.3055874 0.065577091 6.5770196 24.899891 30.345229 30.676748 0.05130409 0.11923748 0.026189709 + 10700 1.45262 5.1656069 6.3065622 0.019979844 6.3873914 24.616776 30.0002 30.676748 0.062077837 0.01564587 -0.017784176 + 10800 1.436593 5.1491998 6.2775666 0.06467682 6.5343926 24.388662 29.722201 30.676748 0.055509186 0.081686998 0.056834275 + 10900 1.4221057 5.1580272 6.2750151 0.10779715 6.6964287 24.198783 29.490797 30.676748 0.11821126 0.13388181 0.071298392 + 11000 1.4318097 5.1652839 6.2898937 0.12207839 6.7635101 24.106649 29.378514 30.676748 0.13281999 0.095712525 0.13770264 +Loop time of 1.05977 on 4 procs for 1000 steps with 5600 atoms + +Performance: 407635.235 tau/day, 943.600 timesteps/s, 5.284 Matom-step/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11531 | 0.15482 | 0.18642 | 8.0 | 14.61 +Bond | 0.0095915 | 0.011316 | 0.012716 | 1.2 | 1.07 +Neigh | 0.34708 | 0.34732 | 0.34748 | 0.0 | 32.77 +Comm | 0.050629 | 0.082561 | 0.12326 | 11.1 | 7.79 +Output | 0.00029841 | 0.00036751 | 0.00057311 | 0.0 | 0.03 +Modify | 0.43421 | 0.44242 | 0.45027 | 0.9 | 41.75 +Other | | 0.02097 | | | 1.98 + +Nlocal: 1400 ave 1551 max 1205 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 1831.5 ave 1910 max 1688 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Neighs: 10203.8 ave 12647 max 7619 min +Histogram: 1 0 1 0 0 0 0 1 0 1 + +Total # of neighbors = 40815 +Ave neighs/atom = 7.2883929 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 161 +Dangerous builds = 0 + +Total wall time: 0:00:08 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 deleted file mode 100644 index e3e539eada..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.109 | 4.109 | 4.109 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.153749 on 1 procs for 10000 steps with 81 atoms - -Performance: 561955.786 tau/day, 65041.179 timesteps/s -98.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0098538 | 0.0098538 | 0.0098538 | 0.0 | 6.41 -Neigh | 0.040308 | 0.040308 | 0.040308 | 0.0 | 26.22 -Comm | 0.013034 | 0.013034 | 0.013034 | 0.0 | 8.48 -Output | 0.0017202 | 0.0017202 | 0.0017202 | 0.0 | 1.12 -Modify | 0.083709 | 0.083709 | 0.083709 | 0.0 | 54.45 -Other | | 0.005123 | | | 3.33 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 deleted file mode 100644 index 1e28766101..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.174 | 4.455 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.202963 on 4 procs for 10000 steps with 81 atoms - -Performance: 425693.239 tau/day, 49270.051 timesteps/s -89.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0025978 | 0.0033882 | 0.0042055 | 1.0 | 1.67 -Neigh | 0.012025 | 0.013416 | 0.01623 | 1.4 | 6.61 -Comm | 0.080375 | 0.087468 | 0.090782 | 1.4 | 43.10 -Output | 0.0031407 | 0.0039954 | 0.0065427 | 2.3 | 1.97 -Modify | 0.086613 | 0.087285 | 0.087619 | 0.1 | 43.01 -Other | | 0.00741 | | | 3.65 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 deleted file mode 100644 index 58834ebf3d..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.984 | 3.984 | 3.984 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.15622 on 1 procs for 10000 steps with 81 atoms - -Performance: 553065.489 tau/day, 64012.209 timesteps/s -95.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0098181 | 0.0098181 | 0.0098181 | 0.0 | 6.28 -Neigh | 0.040912 | 0.040912 | 0.040912 | 0.0 | 26.19 -Comm | 0.013111 | 0.013111 | 0.013111 | 0.0 | 8.39 -Output | 0.0016305 | 0.0016305 | 0.0016305 | 0.0 | 1.04 -Modify | 0.085361 | 0.085361 | 0.085361 | 0.0 | 54.64 -Other | | 0.005387 | | | 3.45 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 deleted file mode 100644 index 42b8a52768..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.955 | 4.049 | 4.33 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.199799 on 4 procs for 10000 steps with 81 atoms - -Performance: 432434.078 tau/day, 50050.241 timesteps/s -91.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.002665 | 0.0034567 | 0.0040557 | 0.9 | 1.73 -Neigh | 0.012185 | 0.013168 | 0.014083 | 0.8 | 6.59 -Comm | 0.079331 | 0.082804 | 0.084927 | 0.7 | 41.44 -Output | 0.0031595 | 0.0039212 | 0.0061827 | 2.1 | 1.96 -Modify | 0.088465 | 0.090202 | 0.091938 | 0.4 | 45.15 -Other | | 0.006247 | | | 3.13 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.1 b/examples/rigid/log.27Nov18.rigid.early.g++.1 deleted file mode 100644 index 3c8022423f..0000000000 --- a/examples/rigid/log.27Nov18.rigid.early.g++.1 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.152593 on 1 procs for 10000 steps with 81 atoms - -Performance: 566210.692 tau/day, 65533.645 timesteps/s -96.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0098324 | 0.0098324 | 0.0098324 | 0.0 | 6.44 -Neigh | 0.040376 | 0.040376 | 0.040376 | 0.0 | 26.46 -Comm | 0.012246 | 0.012246 | 0.012246 | 0.0 | 8.03 -Output | 0.0016036 | 0.0016036 | 0.0016036 | 0.0 | 1.05 -Modify | 0.083605 | 0.083605 | 0.083605 | 0.0 | 54.79 -Other | | 0.00493 | | | 3.23 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.4 b/examples/rigid/log.27Nov18.rigid.early.g++.4 deleted file mode 100644 index 91f091b799..0000000000 --- a/examples/rigid/log.27Nov18.rigid.early.g++.4 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.198859 on 4 procs for 10000 steps with 81 atoms - -Performance: 434479.274 tau/day, 50286.953 timesteps/s -91.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.002526 | 0.0034331 | 0.0041001 | 1.0 | 1.73 -Neigh | 0.012097 | 0.013092 | 0.013992 | 0.8 | 6.58 -Comm | 0.075266 | 0.07972 | 0.084679 | 1.2 | 40.09 -Output | 0.0030892 | 0.0043746 | 0.0081537 | 3.3 | 2.20 -Modify | 0.088037 | 0.091924 | 0.095021 | 0.9 | 46.23 -Other | | 0.006316 | | | 3.18 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.1 b/examples/rigid/log.27Nov18.rigid.g++.1 deleted file mode 100644 index 9dff202069..0000000000 --- a/examples/rigid/log.27Nov18.rigid.g++.1 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.152143 on 1 procs for 10000 steps with 81 atoms - -Performance: 567885.005 tau/day, 65727.431 timesteps/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0097773 | 0.0097773 | 0.0097773 | 0.0 | 6.43 -Neigh | 0.040602 | 0.040602 | 0.040602 | 0.0 | 26.69 -Comm | 0.012049 | 0.012049 | 0.012049 | 0.0 | 7.92 -Output | 0.0016172 | 0.0016172 | 0.0016172 | 0.0 | 1.06 -Modify | 0.083104 | 0.083104 | 0.083104 | 0.0 | 54.62 -Other | | 0.004994 | | | 3.28 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.4 b/examples/rigid/log.27Nov18.rigid.g++.4 deleted file mode 100644 index 36e602f1f1..0000000000 --- a/examples/rigid/log.27Nov18.rigid.g++.4 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.201762 on 4 procs for 10000 steps with 81 atoms - -Performance: 428226.262 tau/day, 49563.225 timesteps/s -89.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0025356 | 0.0033935 | 0.0042305 | 1.0 | 1.68 -Neigh | 0.012009 | 0.012959 | 0.015092 | 1.1 | 6.42 -Comm | 0.07666 | 0.086213 | 0.092506 | 2.0 | 42.73 -Output | 0.0032623 | 0.0052034 | 0.011 | 4.6 | 2.58 -Modify | 0.084815 | 0.087869 | 0.089999 | 0.6 | 43.55 -Other | | 0.006125 | | | 3.04 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 deleted file mode 100644 index 1e426d397e..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.04852143 0 5269.4761 12.385777 - 4800 16735.057 1.0347216 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908974 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 - 5350 16738.479 -0.020383841 0 5269.5007 13.089897 - 5400 16735.845 0.7988947 0 5269.4909 13.136244 - 5450 16735.558 0.87620022 0 5269.4778 12.324482 - 5500 16711.494 8.4724178 0 5269.4984 12.656579 - 5550 16454.525 89.074815 0 5269.2031 16.996503 - 5600 16713.084 7.9801418 0 5269.5065 13.774979 - 5650 16738.676 -0.079987748 0 5269.5033 13.168297 - 5700 16446.281 91.866085 0 5269.399 23.764663 - 5750 16738.549 -0.039869084 0 5269.5034 13.378122 - 5800 16738.487 -0.014994478 0 5269.5086 13.378399 - 5850 16738.466 -0.0051267616 0 5269.512 13.37856 - 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 - 5950 16738.528 -0.032727415 0 5269.5039 13.378197 - 6000 16702.774 10.969438 0 5269.2502 13.788852 - 6050 16682.271 17.483137 0 5269.3092 13.353101 - 6100 16738.508 -0.028838222 0 5269.5016 12.521084 - 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 - 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 - 6250 16738.455 0 0 5269.5135 12.52141 - 6300 16738.523 0 0 5269.5352 12.52158 - 6350 16738.503 0 0 5269.5287 12.521531 - 6400 16738.427 0 0 5269.5047 12.521344 - 6450 16738.399 0 0 5269.496 12.521274 - 6500 16738.425 0 0 5269.5042 12.521337 - 6550 16738.441 0 0 5269.5093 12.521378 - 6600 16738.42 0 0 5269.5025 12.521326 - 6650 16738.398 0 0 5269.4957 12.521272 - 6700 16738.435 0 0 5269.5074 12.521362 - 6750 16738.505 0 0 5269.5293 12.521534 - 6800 16738.508 0 0 5269.5303 12.521543 - 6850 16738.446 0 0 5269.5108 12.521391 - 6900 16738.414 0 0 5269.5009 12.521312 - 6950 16738.432 0 0 5269.5063 12.521354 - 7000 16738.444 0 0 5269.5102 12.521385 - 7050 16738.421 0 0 5269.5029 12.521329 - 7100 16738.393 0 0 5269.4941 12.521259 - 7150 16738.419 0 0 5269.5022 12.521322 - 7200 16738.489 0 0 5269.5244 12.521495 - 7250 16738.505 0 0 5269.5293 12.521535 - 7300 16738.443 0 0 5269.5098 12.521383 - 7350 16738.404 0 0 5269.4976 12.521287 - 7400 16738.43 0 0 5269.5058 12.52135 - 7450 16738.461 0 0 5269.5156 12.521427 - 7500 16738.447 0 0 5269.5109 12.521392 - 7550 16738.407 0 0 5269.4986 12.521295 - 7600 16738.412 0 0 5269.5002 12.521306 - 7650 16738.478 0 0 5269.5208 12.521467 - 7700 16738.51 0 0 5269.5309 12.521547 - 7750 16738.454 0 0 5269.5135 12.521412 - 7800 16738.398 0 0 5269.4958 12.521273 - 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 - 7900 16738.441 -0.00021679711 0 5269.509 12.521373 - 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 - 8000 16738.423 0 0 5269.5035 12.521333 - 8050 16738.423 0 0 5269.5034 12.521332 - 8100 16738.478 -0.00069622994 0 5269.52 12.521454 - 8150 16738.523 -0.0040058408 0 5269.531 12.521501 - 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 - 8250 16738.458 -0.023189671 0 5269.4914 12.521014 - 8300 16738.513 -0.045845677 0 5269.4861 12.520779 - 8350 16723.745 4.5690412 0 5269.4516 12.849325 - 8400 16738.466 -0.020158442 0 5269.497 12.835773 - 8450 16738.437 -0.012822892 0 5269.4952 12.829936 - 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 - 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 - 8600 16738.669 -0.050578079 0 5269.5304 12.829934 - 8650 15917.563 250.28318 0 5261.3678 24.54572 - 8700 16738.445 0.0012168759 0 5269.5117 10.589499 - 8750 16738.473 -0.010164589 0 5269.509 10.588414 - 8800 16738.468 0 0 5269.5177 10.588633 - 8850 16738.508 0 0 5269.5304 10.588733 - 8900 16738.509 0 0 5269.5307 10.588736 - 8950 16738.496 0 0 5269.5266 10.588705 - 9000 16738.477 0 0 5269.5204 10.588656 - 9050 16738.455 0 0 5269.5135 10.588602 - 9100 16738.477 0 0 5269.5206 10.588656 - 9150 16738.512 0 0 5269.5316 10.588743 - 9200 16738.502 0 0 5269.5285 10.58872 - 9250 16738.493 0 0 5269.5255 10.588696 - 9300 16738.482 0 0 5269.522 10.588669 - 9350 16738.46 0 0 5269.5151 10.588615 - 9400 16738.481 0 0 5269.5217 10.588665 - 9450 16738.509 0 0 5269.5307 10.588736 - 9500 16738.491 0 0 5269.5248 10.58869 - 9550 16738.484 0 0 5269.5227 10.588674 - 9600 16738.483 0 0 5269.5223 10.588671 - 9650 16738.464 0 0 5269.5166 10.588626 - 9700 16738.484 0 0 5269.5229 10.588674 - 9750 16738.507 0 0 5269.5301 10.588731 - 9800 16738.482 0 0 5269.5221 10.588669 - 9850 16738.478 0 0 5269.5208 10.588659 - 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 - 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 - 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 -Loop time of 0.168577 on 1 procs for 10000 steps with 81 atoms - -Performance: 512524.843 tau/day, 59320.005 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.010812 | 0.010812 | 0.010812 | 0.0 | 6.41 -Neigh | 0.04144 | 0.04144 | 0.04144 | 0.0 | 24.58 -Comm | 0.012082 | 0.012082 | 0.012082 | 0.0 | 7.17 -Output | 0.0016394 | 0.0016394 | 0.0016394 | 0.0 | 0.97 -Modify | 0.097466 | 0.097466 | 0.097466 | 0.0 | 57.82 -Other | | 0.005139 | | | 3.05 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 49 ave 49 max 49 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 deleted file mode 100644 index 5b775d969a..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.048521428 0 5269.4761 12.385777 - 4800 16735.057 1.0347217 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908973 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 - 5350 16738.479 -0.020383842 0 5269.5007 13.089897 - 5400 16735.845 0.79889474 0 5269.4909 13.136244 - 5450 16735.558 0.87619992 0 5269.4778 12.324482 - 5500 16711.494 8.4724208 0 5269.4984 12.656579 - 5550 16454.525 89.074816 0 5269.2031 16.996503 - 5600 16713.084 7.9801334 0 5269.5065 13.774977 - 5650 16738.676 -0.079987764 0 5269.5033 13.168295 - 5700 16446.281 91.866085 0 5269.399 23.764662 - 5750 16738.549 -0.039869084 0 5269.5034 13.378121 - 5800 16738.487 -0.014994475 0 5269.5086 13.378397 - 5850 16738.466 -0.0051267556 0 5269.512 13.378559 - 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 - 5950 16738.528 -0.03272741 0 5269.5039 13.378195 - 6000 16702.774 10.969434 0 5269.2502 13.788851 - 6050 16682.271 17.483158 0 5269.3092 13.3531 - 6100 16738.508 -0.028838239 0 5269.5016 12.521082 - 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 - 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 - 6250 16738.455 0 0 5269.5135 12.521408 - 6300 16738.523 0 0 5269.5352 12.521578 - 6350 16738.503 0 0 5269.5287 12.52153 - 6400 16738.427 0 0 5269.5047 12.521342 - 6450 16738.399 0 0 5269.496 12.521273 - 6500 16738.425 0 0 5269.5042 12.521336 - 6550 16738.441 0 0 5269.5093 12.521377 - 6600 16738.42 0 0 5269.5025 12.521324 - 6650 16738.398 0 0 5269.4957 12.52127 - 6700 16738.435 0 0 5269.5074 12.52136 - 6750 16738.505 0 0 5269.5293 12.521532 - 6800 16738.508 0 0 5269.5303 12.521541 - 6850 16738.446 0 0 5269.5108 12.521389 - 6900 16738.414 0 0 5269.5009 12.521311 - 6950 16738.432 0 0 5269.5063 12.521353 - 7000 16738.444 0 0 5269.5102 12.521383 - 7050 16738.421 0 0 5269.5029 12.521327 - 7100 16738.393 0 0 5269.4941 12.521258 - 7150 16738.419 0 0 5269.5022 12.52132 - 7200 16738.489 0 0 5269.5244 12.521494 - 7250 16738.505 0 0 5269.5293 12.521533 - 7300 16738.443 0 0 5269.5098 12.521381 - 7350 16738.404 0 0 5269.4976 12.521285 - 7400 16738.43 0 0 5269.5058 12.521348 - 7450 16738.461 0 0 5269.5156 12.521425 - 7500 16738.447 0 0 5269.5109 12.52139 - 7550 16738.407 0 0 5269.4986 12.521293 - 7600 16738.412 0 0 5269.5002 12.521305 - 7650 16738.478 0 0 5269.5208 12.521465 - 7700 16738.51 0 0 5269.5309 12.521546 - 7750 16738.454 0 0 5269.5135 12.52141 - 7800 16738.398 0 0 5269.4958 12.521272 - 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 - 7900 16738.441 -0.0002167964 0 5269.509 12.521371 - 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 - 8000 16738.423 0 0 5269.5035 12.521331 - 8050 16738.423 0 0 5269.5034 12.52133 - 8100 16738.478 -0.00069623408 0 5269.52 12.521452 - 8150 16738.523 -0.0040058355 0 5269.531 12.521499 - 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 - 8250 16738.458 -0.023189665 0 5269.4914 12.521012 - 8300 16738.513 -0.045846242 0 5269.4861 12.520778 - 8350 16723.742 4.5698786 0 5269.4516 12.849386 - 8400 16738.466 -0.02016972 0 5269.497 12.835784 - 8450 16738.437 -0.012822703 0 5269.4952 12.829948 - 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 - 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 - 8600 16738.669 -0.050578946 0 5269.5304 12.829946 - 8650 15917.707 250.24016 0 5261.3702 24.544744 - 8700 16738.445 0.0010615265 0 5269.5117 10.589987 - 8750 16738.473 -0.010158834 0 5269.509 10.588904 - 8800 16738.468 0 0 5269.5176 10.589124 - 8850 16738.508 0 0 5269.5304 10.589223 - 8900 16738.509 0 0 5269.5306 10.589226 - 8950 16738.496 0 0 5269.5266 10.589195 - 9000 16738.477 0 0 5269.5204 10.589147 - 9050 16738.455 0 0 5269.5135 10.589092 - 9100 16738.477 0 0 5269.5206 10.589146 - 9150 16738.512 0 0 5269.5316 10.589233 - 9200 16738.502 0 0 5269.5285 10.58921 - 9250 16738.493 0 0 5269.5255 10.589186 - 9300 16738.482 0 0 5269.522 10.589159 - 9350 16738.46 0 0 5269.5151 10.589105 - 9400 16738.481 0 0 5269.5217 10.589155 - 9450 16738.509 0 0 5269.5307 10.589226 - 9500 16738.491 0 0 5269.5248 10.589181 - 9550 16738.484 0 0 5269.5227 10.589164 - 9600 16738.483 0 0 5269.5223 10.589161 - 9650 16738.464 0 0 5269.5166 10.589116 - 9700 16738.484 0 0 5269.5228 10.589164 - 9750 16738.507 0 0 5269.5301 10.589221 - 9800 16738.482 0 0 5269.5221 10.589159 - 9850 16738.478 0 0 5269.5208 10.589149 - 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 - 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 - 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 -Loop time of 0.213152 on 4 procs for 10000 steps with 81 atoms - -Performance: 405345.239 tau/day, 46914.958 timesteps/s -91.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0029514 | 0.0038354 | 0.005348 | 1.5 | 1.80 -Neigh | 0.01178 | 0.013139 | 0.0167 | 1.8 | 6.16 -Comm | 0.073879 | 0.078553 | 0.081131 | 1.0 | 36.85 -Output | 0.0031943 | 0.0037987 | 0.0055451 | 1.6 | 1.78 -Modify | 0.10553 | 0.10763 | 0.1096 | 0.4 | 50.49 -Other | | 0.0062 | | | 2.91 - -Nlocal: 20.25 ave 34 max 9 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 38.5 ave 43 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 3 -Neighs: 0.75 ave 2 max 0 min -Histogram: 2 0 0 0 0 1 0 0 0 1 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.g++.1 deleted file mode 100644 index c3805dc42e..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.g++.1 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.04852143 0 5269.4761 12.385777 - 4800 16735.057 1.0347216 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908974 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 - 5350 16738.479 -0.020383841 0 5269.5007 13.089897 - 5400 16735.845 0.7988947 0 5269.4909 13.136244 - 5450 16735.558 0.87620022 0 5269.4778 12.324482 - 5500 16711.494 8.4724178 0 5269.4984 12.656579 - 5550 16454.525 89.074815 0 5269.2031 16.996503 - 5600 16713.084 7.9801418 0 5269.5065 13.774979 - 5650 16738.676 -0.079987748 0 5269.5033 13.168297 - 5700 16446.281 91.866085 0 5269.399 23.764663 - 5750 16738.549 -0.039869084 0 5269.5034 13.378122 - 5800 16738.487 -0.014994478 0 5269.5086 13.378399 - 5850 16738.466 -0.0051267616 0 5269.512 13.37856 - 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 - 5950 16738.528 -0.032727415 0 5269.5039 13.378197 - 6000 16702.774 10.969438 0 5269.2502 13.788852 - 6050 16682.271 17.483137 0 5269.3092 13.353101 - 6100 16738.508 -0.028838222 0 5269.5016 12.521084 - 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 - 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 - 6250 16738.455 0 0 5269.5135 12.52141 - 6300 16738.523 0 0 5269.5352 12.52158 - 6350 16738.503 0 0 5269.5287 12.521531 - 6400 16738.427 0 0 5269.5047 12.521344 - 6450 16738.399 0 0 5269.496 12.521274 - 6500 16738.425 0 0 5269.5042 12.521337 - 6550 16738.441 0 0 5269.5093 12.521378 - 6600 16738.42 0 0 5269.5025 12.521326 - 6650 16738.398 0 0 5269.4957 12.521272 - 6700 16738.435 0 0 5269.5074 12.521362 - 6750 16738.505 0 0 5269.5293 12.521534 - 6800 16738.508 0 0 5269.5303 12.521543 - 6850 16738.446 0 0 5269.5108 12.521391 - 6900 16738.414 0 0 5269.5009 12.521312 - 6950 16738.432 0 0 5269.5063 12.521354 - 7000 16738.444 0 0 5269.5102 12.521385 - 7050 16738.421 0 0 5269.5029 12.521329 - 7100 16738.393 0 0 5269.4941 12.521259 - 7150 16738.419 0 0 5269.5022 12.521322 - 7200 16738.489 0 0 5269.5244 12.521495 - 7250 16738.505 0 0 5269.5293 12.521535 - 7300 16738.443 0 0 5269.5098 12.521383 - 7350 16738.404 0 0 5269.4976 12.521287 - 7400 16738.43 0 0 5269.5058 12.52135 - 7450 16738.461 0 0 5269.5156 12.521427 - 7500 16738.447 0 0 5269.5109 12.521392 - 7550 16738.407 0 0 5269.4986 12.521295 - 7600 16738.412 0 0 5269.5002 12.521306 - 7650 16738.478 0 0 5269.5208 12.521467 - 7700 16738.51 0 0 5269.5309 12.521547 - 7750 16738.454 0 0 5269.5135 12.521412 - 7800 16738.398 0 0 5269.4958 12.521273 - 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 - 7900 16738.441 -0.00021679711 0 5269.509 12.521373 - 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 - 8000 16738.423 0 0 5269.5035 12.521333 - 8050 16738.423 0 0 5269.5034 12.521332 - 8100 16738.478 -0.00069622994 0 5269.52 12.521454 - 8150 16738.523 -0.0040058408 0 5269.531 12.521501 - 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 - 8250 16738.458 -0.023189671 0 5269.4914 12.521014 - 8300 16738.513 -0.045845677 0 5269.4861 12.520779 - 8350 16723.745 4.5690412 0 5269.4516 12.849325 - 8400 16738.466 -0.020158442 0 5269.497 12.835773 - 8450 16738.437 -0.012822892 0 5269.4952 12.829936 - 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 - 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 - 8600 16738.669 -0.050578079 0 5269.5304 12.829934 - 8650 15917.563 250.28318 0 5261.3678 24.54572 - 8700 16738.445 0.0012168759 0 5269.5117 10.589499 - 8750 16738.473 -0.010164589 0 5269.509 10.588414 - 8800 16738.468 0 0 5269.5177 10.588633 - 8850 16738.508 0 0 5269.5304 10.588733 - 8900 16738.509 0 0 5269.5307 10.588736 - 8950 16738.496 0 0 5269.5266 10.588705 - 9000 16738.477 0 0 5269.5204 10.588656 - 9050 16738.455 0 0 5269.5135 10.588602 - 9100 16738.477 0 0 5269.5206 10.588656 - 9150 16738.512 0 0 5269.5316 10.588743 - 9200 16738.502 0 0 5269.5285 10.58872 - 9250 16738.493 0 0 5269.5255 10.588696 - 9300 16738.482 0 0 5269.522 10.588669 - 9350 16738.46 0 0 5269.5151 10.588615 - 9400 16738.481 0 0 5269.5217 10.588665 - 9450 16738.509 0 0 5269.5307 10.588736 - 9500 16738.491 0 0 5269.5248 10.58869 - 9550 16738.484 0 0 5269.5227 10.588674 - 9600 16738.483 0 0 5269.5223 10.588671 - 9650 16738.464 0 0 5269.5166 10.588626 - 9700 16738.484 0 0 5269.5229 10.588674 - 9750 16738.507 0 0 5269.5301 10.588731 - 9800 16738.482 0 0 5269.5221 10.588669 - 9850 16738.478 0 0 5269.5208 10.588659 - 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 - 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 - 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 -Loop time of 0.171181 on 1 procs for 10000 steps with 81 atoms - -Performance: 504728.317 tau/day, 58417.629 timesteps/s -97.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.011004 | 0.011004 | 0.011004 | 0.0 | 6.43 -Neigh | 0.041984 | 0.041984 | 0.041984 | 0.0 | 24.53 -Comm | 0.012262 | 0.012262 | 0.012262 | 0.0 | 7.16 -Output | 0.0017002 | 0.0017002 | 0.0017002 | 0.0 | 0.99 -Modify | 0.098894 | 0.098894 | 0.098894 | 0.0 | 57.77 -Other | | 0.005337 | | | 3.12 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 49 ave 49 max 49 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.g++.4 deleted file mode 100644 index bc79d9730f..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.g++.4 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.048521428 0 5269.4761 12.385777 - 4800 16735.057 1.0347217 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908973 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 - 5350 16738.479 -0.020383842 0 5269.5007 13.089897 - 5400 16735.845 0.79889474 0 5269.4909 13.136244 - 5450 16735.558 0.87619992 0 5269.4778 12.324482 - 5500 16711.494 8.4724208 0 5269.4984 12.656579 - 5550 16454.525 89.074816 0 5269.2031 16.996503 - 5600 16713.084 7.9801334 0 5269.5065 13.774977 - 5650 16738.676 -0.079987764 0 5269.5033 13.168295 - 5700 16446.281 91.866085 0 5269.399 23.764662 - 5750 16738.549 -0.039869084 0 5269.5034 13.378121 - 5800 16738.487 -0.014994475 0 5269.5086 13.378397 - 5850 16738.466 -0.0051267556 0 5269.512 13.378559 - 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 - 5950 16738.528 -0.03272741 0 5269.5039 13.378195 - 6000 16702.774 10.969434 0 5269.2502 13.788851 - 6050 16682.271 17.483158 0 5269.3092 13.3531 - 6100 16738.508 -0.028838239 0 5269.5016 12.521082 - 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 - 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 - 6250 16738.455 0 0 5269.5135 12.521408 - 6300 16738.523 0 0 5269.5352 12.521578 - 6350 16738.503 0 0 5269.5287 12.52153 - 6400 16738.427 0 0 5269.5047 12.521342 - 6450 16738.399 0 0 5269.496 12.521273 - 6500 16738.425 0 0 5269.5042 12.521336 - 6550 16738.441 0 0 5269.5093 12.521377 - 6600 16738.42 0 0 5269.5025 12.521324 - 6650 16738.398 0 0 5269.4957 12.52127 - 6700 16738.435 0 0 5269.5074 12.52136 - 6750 16738.505 0 0 5269.5293 12.521532 - 6800 16738.508 0 0 5269.5303 12.521541 - 6850 16738.446 0 0 5269.5108 12.521389 - 6900 16738.414 0 0 5269.5009 12.521311 - 6950 16738.432 0 0 5269.5063 12.521353 - 7000 16738.444 0 0 5269.5102 12.521383 - 7050 16738.421 0 0 5269.5029 12.521327 - 7100 16738.393 0 0 5269.4941 12.521258 - 7150 16738.419 0 0 5269.5022 12.52132 - 7200 16738.489 0 0 5269.5244 12.521494 - 7250 16738.505 0 0 5269.5293 12.521533 - 7300 16738.443 0 0 5269.5098 12.521381 - 7350 16738.404 0 0 5269.4976 12.521285 - 7400 16738.43 0 0 5269.5058 12.521348 - 7450 16738.461 0 0 5269.5156 12.521425 - 7500 16738.447 0 0 5269.5109 12.52139 - 7550 16738.407 0 0 5269.4986 12.521293 - 7600 16738.412 0 0 5269.5002 12.521305 - 7650 16738.478 0 0 5269.5208 12.521465 - 7700 16738.51 0 0 5269.5309 12.521546 - 7750 16738.454 0 0 5269.5135 12.52141 - 7800 16738.398 0 0 5269.4958 12.521272 - 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 - 7900 16738.441 -0.0002167964 0 5269.509 12.521371 - 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 - 8000 16738.423 0 0 5269.5035 12.521331 - 8050 16738.423 0 0 5269.5034 12.52133 - 8100 16738.478 -0.00069623408 0 5269.52 12.521452 - 8150 16738.523 -0.0040058355 0 5269.531 12.521499 - 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 - 8250 16738.458 -0.023189665 0 5269.4914 12.521012 - 8300 16738.513 -0.045846242 0 5269.4861 12.520778 - 8350 16723.742 4.5698786 0 5269.4516 12.849386 - 8400 16738.466 -0.02016972 0 5269.497 12.835784 - 8450 16738.437 -0.012822703 0 5269.4952 12.829948 - 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 - 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 - 8600 16738.669 -0.050578946 0 5269.5304 12.829946 - 8650 15917.707 250.24016 0 5261.3702 24.544744 - 8700 16738.445 0.0010615265 0 5269.5117 10.589987 - 8750 16738.473 -0.010158834 0 5269.509 10.588904 - 8800 16738.468 0 0 5269.5176 10.589124 - 8850 16738.508 0 0 5269.5304 10.589223 - 8900 16738.509 0 0 5269.5306 10.589226 - 8950 16738.496 0 0 5269.5266 10.589195 - 9000 16738.477 0 0 5269.5204 10.589147 - 9050 16738.455 0 0 5269.5135 10.589092 - 9100 16738.477 0 0 5269.5206 10.589146 - 9150 16738.512 0 0 5269.5316 10.589233 - 9200 16738.502 0 0 5269.5285 10.58921 - 9250 16738.493 0 0 5269.5255 10.589186 - 9300 16738.482 0 0 5269.522 10.589159 - 9350 16738.46 0 0 5269.5151 10.589105 - 9400 16738.481 0 0 5269.5217 10.589155 - 9450 16738.509 0 0 5269.5307 10.589226 - 9500 16738.491 0 0 5269.5248 10.589181 - 9550 16738.484 0 0 5269.5227 10.589164 - 9600 16738.483 0 0 5269.5223 10.589161 - 9650 16738.464 0 0 5269.5166 10.589116 - 9700 16738.484 0 0 5269.5228 10.589164 - 9750 16738.507 0 0 5269.5301 10.589221 - 9800 16738.482 0 0 5269.5221 10.589159 - 9850 16738.478 0 0 5269.5208 10.589149 - 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 - 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 - 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 -Loop time of 0.212511 on 4 procs for 10000 steps with 81 atoms - -Performance: 406566.385 tau/day, 47056.295 timesteps/s -91.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0032909 | 0.0039915 | 0.0048544 | 0.9 | 1.88 -Neigh | 0.011434 | 0.01325 | 0.016991 | 1.9 | 6.24 -Comm | 0.076038 | 0.082493 | 0.088069 | 1.5 | 38.82 -Output | 0.0031183 | 0.0045295 | 0.0086036 | 3.5 | 2.13 -Modify | 0.099662 | 0.10206 | 0.10679 | 0.9 | 48.02 -Other | | 0.00619 | | | 2.91 - -Nlocal: 20.25 ave 34 max 9 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 38.5 ave 43 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 3 -Neighs: 0.75 ave 2 max 0 min -Histogram: 2 0 0 0 0 1 0 0 0 1 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.1 b/examples/rigid/log.27Nov18.rigid.property.g++.1 deleted file mode 100644 index e6ab4ed102..0000000000 --- a/examples/rigid/log.27Nov18.rigid.property.g++.1 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Bodies - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.046 | 4.046 | 4.046 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.156049 on 1 procs for 10000 steps with 81 atoms - -Performance: 553673.043 tau/day, 64082.528 timesteps/s -97.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.010187 | 0.010187 | 0.010187 | 0.0 | 6.53 -Neigh | 0.040601 | 0.040601 | 0.040601 | 0.0 | 26.02 -Comm | 0.013221 | 0.013221 | 0.013221 | 0.0 | 8.47 -Output | 0.0016611 | 0.0016611 | 0.0016611 | 0.0 | 1.06 -Modify | 0.085107 | 0.085107 | 0.085107 | 0.0 | 54.54 -Other | | 0.005271 | | | 3.38 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.4 b/examples/rigid/log.27Nov18.rigid.property.g++.4 deleted file mode 100644 index f63e34bc4b..0000000000 --- a/examples/rigid/log.27Nov18.rigid.property.g++.4 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Bodies - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.017 | 4.111 | 4.392 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.198069 on 4 procs for 10000 steps with 81 atoms - -Performance: 436211.675 tau/day, 50487.462 timesteps/s -91.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0026007 | 0.0034987 | 0.0043218 | 1.0 | 1.77 -Neigh | 0.012213 | 0.013261 | 0.014237 | 0.8 | 6.70 -Comm | 0.073581 | 0.082048 | 0.087982 | 2.1 | 41.42 -Output | 0.0047908 | 0.0058783 | 0.009093 | 2.4 | 2.97 -Modify | 0.081998 | 0.086993 | 0.09176 | 1.4 | 43.92 -Other | | 0.00639 | | | 3.23 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.1 b/examples/rigid/log.27Nov18.rigid.tnr.g++.1 deleted file mode 100644 index bf29e0b94b..0000000000 --- a/examples/rigid/log.27Nov18.rigid.tnr.g++.1 +++ /dev/null @@ -1,458 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule -800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.769 | 7.769 | 7.769 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 - 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 - 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 - 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 - 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 - 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 - 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 - 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 - 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 - 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 - 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 - 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 - 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 - 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 - 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 - 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 - 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 - 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 - 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 - 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 - 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 - 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 - 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 - 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 - 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 - 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 - 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 - 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 - 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 - 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 - 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 - 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 - 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 - 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 - 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 - 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 - 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 - 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 - 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 - 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 - 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 - 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 - 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 - 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 - 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 - 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 - 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 - 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 - 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 - 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 -Loop time of 6.84203 on 1 procs for 5000 steps with 5600 atoms - -Performance: 315695.745 tau/day, 730.777 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.53182 | 0.53182 | 0.53182 | 0.0 | 7.77 -Bond | 0.18231 | 0.18231 | 0.18231 | 0.0 | 2.66 -Neigh | 1.8709 | 1.8709 | 1.8709 | 0.0 | 27.34 -Comm | 0.18452 | 0.18452 | 0.18452 | 0.0 | 2.70 -Output | 0.0043087 | 0.0043087 | 0.0043087 | 0.0 | 0.06 -Modify | 3.8809 | 3.8809 | 3.8809 | 0.0 | 56.72 -Other | | 0.1873 | | | 2.74 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1351 ave 1351 max 1351 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5254 ave 5254 max 5254 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5254 -Ave neighs/atom = 0.938214 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 766 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule -800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 - 5100 1.439608 5.9052128 7.0359478 0.0060989863 7.2985885 62.244 62.244 62.244 0.0087364157 0.004022839 0.0055377041 - 5200 1.4120672 5.9102569 7.01936 0.0064301432 7.2962614 62.244 62.244 62.244 0.0082738077 0.0038925667 0.0071240551 - 5300 1.4452434 5.8842166 7.0193778 0.008172419 7.3713068 62.244 62.244 62.244 0.0077715647 0.0068924406 0.0098532518 - 5400 1.4170243 5.887522 7.0005186 0.0008656658 7.0377968 62.244 62.244 62.244 -9.1800583e-05 -0.0020237513 0.0047125493 - 5500 1.4209082 5.8758921 6.9919394 0.0093634084 7.395156 62.244 62.244 62.244 0.0088769348 0.0087092521 0.010504038 - 5600 1.4132978 5.8798939 6.9899636 0.0014877766 7.0540317 62.244 62.244 62.244 -0.0023427923 0.004559371 0.002246751 - 5700 1.4065053 5.887541 6.9922756 0.0028083452 7.1132114 62.244 62.244 62.244 0.0025188632 0.000510969 0.0053952035 - 5800 1.4079051 5.8940739 6.999908 0.0015946158 7.0685769 62.244 62.244 62.244 0.0037830287 0.00021751956 0.00078329927 - 5900 1.4076047 5.8941577 6.9997558 0.005189853 7.2232465 62.244 62.244 62.244 -0.00093244616 0.0096403542 0.0068616509 - 6000 1.4322772 5.8903539 7.0153309 0.00029752476 7.0281432 62.244 62.244 62.244 0.001913333 -0.00073790796 -0.00028285075 -Loop time of 1.40593 on 1 procs for 1000 steps with 5600 atoms - -Performance: 307270.224 tau/day, 711.274 timesteps/s -99.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.14844 | 0.14844 | 0.14844 | 0.0 | 10.56 -Bond | 0.036852 | 0.036852 | 0.036852 | 0.0 | 2.62 -Neigh | 0.40537 | 0.40537 | 0.40537 | 0.0 | 28.83 -Comm | 0.036592 | 0.036592 | 0.036592 | 0.0 | 2.60 -Output | 0.00085831 | 0.00085831 | 0.00085831 | 0.0 | 0.06 -Modify | 0.74053 | 0.74053 | 0.74053 | 0.0 | 52.67 -Other | | 0.03729 | | | 2.65 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1347 ave 1347 max 1347 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5399 ave 5399 max 5399 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5399 -Ave neighs/atom = 0.964107 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 153 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 -800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.4322772 5.8903539 7.0153309 0.012980585 7.574314 62.244 62.244 62.244 0.058317363 0.0073619377 -0.026737547 - 6100 1.4199699 5.8764035 6.9917138 0.0054065561 7.2245364 62.244 62.244 62.244 0.009227645 0.0019623802 0.0050296432 - 6200 1.3976825 5.8924426 6.9902474 0.00043900876 7.0091524 62.244 62.244 62.244 -0.0023073124 -0.00049925318 0.0041235918 - 6300 1.4077283 5.8847362 6.9904313 0.0066398301 7.2763625 62.244 62.244 62.244 0.0058018934 0.0091933877 0.0049242093 - 6400 1.3749203 5.8817073 6.9616336 0.0074967162 7.2844648 62.244 62.244 62.244 0.012281887 0.0039781589 0.0062301027 - 6500 1.3467096 5.8881264 6.9458946 -0.00011926349 6.9407588 62.244 62.244 62.244 0.0030721967 -0.0013265863 -0.0021034009 - 6600 1.3646558 5.8739857 6.9458497 0.0056064043 7.1872784 62.244 62.244 62.244 0.0059660337 0.0057680048 0.0050851745 - 6700 1.3927251 5.883612 6.9775229 0.0025583824 7.0876946 62.244 62.244 62.244 0.0030974706 0.0018499606 0.002727716 - 6800 1.4016999 5.9015886 7.0025488 0.0039070678 7.1707989 62.244 62.244 62.244 0.0068320586 0.0020056859 0.002883459 - 6900 1.4136745 5.8914714 7.001837 0.0051755091 7.22471 62.244 62.244 62.244 0.0028467792 0.0094052519 0.0032744962 - 7000 1.4286639 5.893567 7.0157059 0.0062957476 7.2868198 62.244 62.244 62.244 0.0047242086 0.0093408867 0.0048221474 -Loop time of 1.41045 on 1 procs for 1000 steps with 5600 atoms - -Performance: 306284.404 tau/day, 708.992 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.1497 | 0.1497 | 0.1497 | 0.0 | 10.61 -Bond | 0.036719 | 0.036719 | 0.036719 | 0.0 | 2.60 -Neigh | 0.40272 | 0.40272 | 0.40272 | 0.0 | 28.55 -Comm | 0.036315 | 0.036315 | 0.036315 | 0.0 | 2.57 -Output | 0.00085187 | 0.00085187 | 0.00085187 | 0.0 | 0.06 -Modify | 0.747 | 0.747 | 0.747 | 0.0 | 52.96 -Other | | 0.03715 | | | 2.63 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1284 ave 1284 max 1284 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5677 ave 5677 max 5677 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5677 -Ave neighs/atom = 1.01375 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 151 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.4286639 5.893567 7.0157059 0.032101512 8.3980939 62.244 62.244 62.244 0.0040045405 0.040447803 0.051852194 - 7100 1.4709161 5.8870949 7.0424207 0.019697134 7.6953761 57.045689 57.045689 57.045689 0.012929484 0.020492532 0.025669387 - 7200 1.5163078 5.8421187 7.0330973 0.018916867 7.46241 50.277171 50.277171 50.277171 0.017823354 0.026688031 0.012239218 - 7300 1.5675309 5.7752739 7.0064855 0.022899743 7.3829781 45.154874 45.154874 45.154874 0.019324617 0.024318577 0.025056034 - 7400 1.5432228 5.7513096 6.9634284 0.024381819 7.272744 41.416613 41.416613 41.416613 0.032026791 0.022254425 0.018864241 - 7500 1.5511419 5.7072564 6.9255953 0.030632381 7.2405167 38.613262 38.613262 38.613262 0.041572196 0.012539031 0.037785916 - 7600 1.5437461 5.6656571 6.8781869 0.031293788 7.1486082 36.440994 36.440994 36.440994 0.036220762 0.02125772 0.036402883 - 7700 1.5873874 5.6134986 6.8603063 0.04807003 7.221002 34.765744 34.765744 34.765744 0.031608235 0.053442472 0.059159381 - 7800 1.5079648 5.601961 6.7863866 0.031128515 6.9971673 33.59594 33.59594 33.59594 0.032932226 0.015950578 0.044502741 - 7900 1.4737447 5.5644198 6.7219673 0.099246661 7.3415696 32.698542 32.698542 32.698542 0.071386679 0.10758014 0.11877317 - 8000 1.4727947 5.5161158 6.6729171 0.072190554 7.0973199 32.050043 32.050043 32.050043 0.072806068 0.06277287 0.080992723 -Loop time of 3.15299 on 1 procs for 1000 steps with 5600 atoms - -Performance: 137012.841 tau/day, 317.159 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.37069 | 0.37069 | 0.37069 | 0.0 | 11.76 -Bond | 0.05046 | 0.05046 | 0.05046 | 0.0 | 1.60 -Neigh | 1.4844 | 1.4844 | 1.4844 | 0.0 | 47.08 -Comm | 0.081178 | 0.081178 | 0.081178 | 0.0 | 2.57 -Output | 0.00083494 | 0.00083494 | 0.00083494 | 0.0 | 0.03 -Modify | 1.1163 | 1.1163 | 1.1163 | 0.0 | 35.41 -Other | | 0.0491 | | | 1.56 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2954 ave 2954 max 2954 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 25585 ave 25585 max 25585 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 25585 -Ave neighs/atom = 4.56875 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 334 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.785 | 7.785 | 7.785 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.4727947 5.5161158 6.6729171 0.13628586 7.4741313 32.050043 32.050043 32.050043 -0.030897367 0.27196335 0.1677916 - 8100 1.4522497 5.5136331 6.6542974 0.057107124 6.9895036 32.000184 32.050043 32.050043 0.049932793 0.056130194 0.065258384 - 8200 1.4407937 5.5014539 6.6331202 0.024119241 6.7733276 31.691157 32.050043 32.050043 0.041526366 0.022503949 0.0083274089 - 8300 1.4542258 5.496977 6.6391934 0.043395674 6.887667 31.215092 32.050043 32.050043 0.025407647 0.075227689 0.029551686 - 8400 1.4375595 5.4901345 6.6192605 0.013578023 6.6952098 30.494249 32.050043 32.050043 -0.0045150608 0.033500673 0.011748456 - 8500 1.4410736 5.4540565 6.5859426 0.017121222 6.679397 29.757445 32.050043 32.050043 0.035675932 -0.032105 0.047792733 - 8600 1.4372413 5.4150437 6.5439197 0.084045699 6.9949237 29.254706 32.050043 32.050043 0.10347392 0.073148157 0.075515024 - 8700 1.4299119 5.3982284 6.5213476 0.00045273296 6.5237411 28.822481 32.050043 32.050043 0.0093093459 0.0081538479 -0.016104995 - 8800 1.4677947 5.3637715 6.5166456 0.028621833 6.6651924 28.294159 32.050043 32.050043 0.033527613 0.036046563 0.016291323 - 8900 1.4625499 5.3483914 6.4971459 0.032843022 6.6649394 27.852402 32.050043 32.050043 0.040751528 0.055865445 0.0019120942 - 9000 1.4488382 5.3486741 6.4866589 0.087522574 6.9279711 27.488856 32.050043 32.050043 0.059432129 0.10936517 0.093770421 -Loop time of 3.09429 on 1 procs for 1000 steps with 5600 atoms - -Performance: 139611.779 tau/day, 323.175 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.57714 | 0.57714 | 0.57714 | 0.0 | 18.65 -Bond | 0.051715 | 0.051715 | 0.051715 | 0.0 | 1.67 -Neigh | 1.223 | 1.223 | 1.223 | 0.0 | 39.52 -Comm | 0.066183 | 0.066183 | 0.066183 | 0.0 | 2.14 -Output | 0.00086594 | 0.00086594 | 0.00086594 | 0.0 | 0.03 -Modify | 1.1355 | 1.1355 | 1.1355 | 0.0 | 36.70 -Other | | 0.03994 | | | 1.29 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3381 ave 3381 max 3381 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 31737 ave 31737 max 31737 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 31737 -Ave neighs/atom = 5.66732 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 169 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.788 | 7.788 | 7.788 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.4488382 5.3486741 6.4866589 0.20124138 7.5013717 27.488856 32.050043 32.050043 0.22160189 0.42145658 -0.039334342 - 9100 1.4408457 5.3612674 6.4929746 0.076331412 6.8758499 27.440968 31.994208 31.994208 0.083838068 0.041724506 0.10343166 - 9200 1.4870445 5.3340546 6.5020483 0.01010773 6.5521592 27.334266 31.869802 31.869802 0.024563803 -0.0068003493 0.012559737 - 9300 1.4376808 5.3295183 6.4587396 0.10720051 6.9752889 27.076116 31.568817 31.568817 0.11844426 0.10444301 0.09871425 - 9400 1.4621325 5.3011274 6.4495541 0.071127232 6.7846388 26.873295 31.332342 31.332342 0.091608834 0.02680694 0.094965923 - 9500 1.4463444 5.3005044 6.4365304 0.0011545049 6.4418432 26.664 31.088319 31.088319 -0.030551889 0.036011952 -0.0019965484 - 9600 1.4473406 5.2912939 6.4281024 0.066132857 6.7281169 26.537276 30.940568 30.940568 0.12276096 0.013455525 0.06218208 - 9700 1.4520445 5.2707214 6.4112246 0.077219765 6.757956 26.446587 30.834832 30.834832 0.073829267 0.11047347 0.047356559 - 9800 1.4825713 5.246644 6.4111243 0.061402527 6.6831281 26.327581 30.696078 30.696078 0.091860222 0.022619578 0.06972778 - 9900 1.4795219 5.2344495 6.3965347 0.086345107 6.7729623 26.187615 30.532888 30.532888 0.077396265 0.11142542 0.07021363 - 10000 1.4527053 5.2126819 6.3537041 0.045117764 6.5474705 26.057038 30.380645 30.380645 0.011087188 0.058029185 0.066236921 -Loop time of 3.25046 on 1 procs for 1000 steps with 5600 atoms - -Performance: 132904.162 tau/day, 307.649 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.68223 | 0.68223 | 0.68223 | 0.0 | 20.99 -Bond | 0.05211 | 0.05211 | 0.05211 | 0.0 | 1.60 -Neigh | 1.2617 | 1.2617 | 1.2617 | 0.0 | 38.82 -Comm | 0.069407 | 0.069407 | 0.069407 | 0.0 | 2.14 -Output | 0.00085688 | 0.00085688 | 0.00085688 | 0.0 | 0.03 -Modify | 1.1438 | 1.1438 | 1.1438 | 0.0 | 35.19 -Other | | 0.04037 | | | 1.24 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3756 ave 3756 max 3756 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37360 ave 37360 max 37360 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37360 -Ave neighs/atom = 6.67143 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 158 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.795 | 7.795 | 7.795 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.4527053 5.2126819 6.3537041 0.056937886 6.5982342 26.057038 30.380645 30.380645 -0.37001102 0.18554825 0.35527643 - 10100 1.4606958 5.2220088 6.3693071 0.10308269 6.8132489 26.093341 30.422971 30.380645 0.12567436 0.057087258 0.12648646 - 10200 1.4429187 5.2134399 6.3467753 0.022637194 6.4450326 26.195743 30.542365 30.380645 0.010739012 0.071921542 -0.014748971 - 10300 1.4559104 5.2293511 6.3728908 0.0079467818 6.4073504 26.182966 30.527467 30.380645 -0.014274944 0.032205181 0.0059101087 - 10400 1.4741126 5.2072221 6.3650586 0.095611559 6.7814715 26.240156 30.594148 30.380645 0.073579289 0.092441893 0.12081349 - 10500 1.4411698 5.2173262 6.3492878 0.010458046 6.3947259 26.208633 30.557393 30.380645 0.036794882 -0.0051462954 -0.00027444949 - 10600 1.4492728 5.1940541 6.3323802 0.042602534 6.5163992 26.132032 30.468083 30.380645 0.090116773 0.0022769844 0.035413845 - 10700 1.4599974 5.1895935 6.3363432 0.05533717 6.573197 26.013045 30.329352 30.380645 0.070180878 0.08084881 0.014981824 - 10800 1.4781084 5.1724704 6.3334454 0.031843587 6.4690539 25.947295 30.252692 30.380645 0.0041524129 0.077618702 0.013759645 - 10900 1.4410507 5.1708846 6.3027527 0.020221033 6.3881531 25.839719 30.127267 30.380645 -0.0014092876 0.014833141 0.047239245 - 11000 1.4150286 5.1756927 6.2871219 0.039768792 6.45242 25.63435 29.887821 30.380645 0.034930907 0.032278926 0.052096542 -Loop time of 3.43774 on 1 procs for 1000 steps with 5600 atoms - -Performance: 125663.855 tau/day, 290.889 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.75066 | 0.75066 | 0.75066 | 0.0 | 21.84 -Bond | 0.053177 | 0.053177 | 0.053177 | 0.0 | 1.55 -Neigh | 1.3577 | 1.3577 | 1.3577 | 0.0 | 39.49 -Comm | 0.07294 | 0.07294 | 0.07294 | 0.0 | 2.12 -Output | 0.00086403 | 0.00086403 | 0.00086403 | 0.0 | 0.03 -Modify | 1.1612 | 1.1612 | 1.1612 | 0.0 | 33.78 -Other | | 0.0412 | | | 1.20 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3904 ave 3904 max 3904 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 39666 ave 39666 max 39666 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 39666 -Ave neighs/atom = 7.08321 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 159 -Dangerous builds = 0 - -Total wall time: 0:00:22 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.4 b/examples/rigid/log.27Nov18.rigid.tnr.g++.4 deleted file mode 100644 index 1fa53eb8d3..0000000000 --- a/examples/rigid/log.27Nov18.rigid.tnr.g++.4 +++ /dev/null @@ -1,458 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule -800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.216 | 7.384 | 7.552 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 - 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 - 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 - 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 - 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 - 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 - 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 - 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 - 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 - 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 - 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 - 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 - 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 - 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 - 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 - 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 - 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 - 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 - 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 - 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 - 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 - 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 - 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 - 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 - 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414203 0.0039571831 0.0048428538 - 2600 1.3876469 5.9249124 7.0148347 -0.0017777224 6.9382806 62.244 62.244 62.244 -0.00047616392 -0.0025484917 -0.0023085116 - 2700 1.4099941 5.916763 7.0242378 0.0070716263 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812867 0.0032048359 - 2800 1.4444643 5.9283432 7.0628925 0.0019400024 7.1464349 62.244 62.244 62.244 0.0014895079 0.0046367397 -0.00030624055 - 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403267 -0.004697189 - 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093026 0.010147657 - 3100 1.3569137 5.9171753 6.9829583 -0.002826677 6.8612331 62.244 62.244 62.244 -0.0069507252 0.0010084399 -0.0025377458 - 3200 1.4004275 5.905939 7.0058998 0.005439467 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594148 0.00020680265 - 3300 1.3641217 5.9145275 6.985972 -0.0027212811 6.8687855 62.244 62.244 62.244 -0.00065933677 -0.0057713008 -0.0017332057 - 3400 1.3868722 5.9059546 6.9952684 0.0092591256 7.3939943 62.244 62.244 62.244 0.010690877 0.010752519 0.006333981 - 3500 1.3939169 5.8992292 6.9940762 0.0074340028 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252569 0.0077394447 - 3600 1.3982507 5.9219461 7.0201971 0.005679459 7.2647718 62.244 62.244 62.244 0.0023367243 0.008059221 0.0066424317 - 3700 1.4019908 5.9059957 7.0071843 0.0065915477 7.2910363 62.244 62.244 62.244 0.0049554109 0.010827005 0.0039922268 - 3800 1.3960736 5.902079 6.99862 0.0027763588 7.1181784 62.244 62.244 62.244 -0.0015907217 0.0025862003 0.0073335977 - 3900 1.4352825 5.8986215 7.025959 0.003498268 7.176605 62.244 62.244 62.244 0.0030416681 0.0027739509 0.0046791851 - 4000 1.4121845 5.907903 7.0170983 0.005046232 7.2344043 62.244 62.244 62.244 0.0045542682 0.0064113499 0.0041730779 - 4100 1.3989578 5.9082397 7.0070461 0.00042880001 7.0255115 62.244 62.244 62.244 0.0025735184 0.0025181486 -0.003805267 - 4200 1.3998829 5.8998147 6.9993477 0.0042777376 7.18356 62.244 62.244 62.244 0.0013744091 0.00646996 0.0049888436 - 4300 1.4076022 5.9044509 7.010047 0.0066789366 7.2976622 62.244 62.244 62.244 0.0073610616 0.0048139129 0.0078618353 - 4400 1.4161075 5.9064331 7.0187096 -0.0011844267 6.9677046 62.244 62.244 62.244 -0.0019088313 -0.0037556503 0.0021112015 - 4500 1.4292243 5.8980093 7.0205884 0.0018500416 7.1002567 62.244 62.244 62.244 0.0041144085 0.0010160497 0.00041966655 - 4600 1.3958775 5.8943133 6.9907003 0.0041485723 7.1693504 62.244 62.244 62.244 0.0033999287 0.0041620406 0.0048837475 - 4700 1.3856614 5.8886847 6.9770475 0.0013150314 7.0336767 62.244 62.244 62.244 -0.00051753674 0.0030875481 0.0013750828 - 4800 1.401683 5.9023505 7.0032974 0.002504877 7.1111649 62.244 62.244 62.244 0.0016543718 -0.0001813413 0.0060416007 - 4900 1.446628 5.9050553 7.0413042 -0.0026645902 6.9265589 62.244 62.244 62.244 -0.00069368076 -0.0073984763 9.8386402e-05 - 5000 1.4387091 5.9077604 7.0377893 0.0049468048 7.2508137 62.244 62.244 62.244 0.0042902506 0.0046715523 0.0058786114 -Loop time of 3.70354 on 4 procs for 5000 steps with 5600 atoms - -Performance: 583225.455 tau/day, 1350.059 timesteps/s -92.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.081073 | 0.13498 | 0.20108 | 14.4 | 3.64 -Bond | 0.032352 | 0.048566 | 0.066671 | 7.0 | 1.31 -Neigh | 0.71345 | 0.72477 | 0.73658 | 1.3 | 19.57 -Comm | 0.29998 | 0.37027 | 0.42722 | 8.9 | 10.00 -Output | 0.0026417 | 0.0048325 | 0.0085185 | 3.2 | 0.13 -Modify | 1.9807 | 2.1035 | 2.263 | 8.1 | 56.80 -Other | | 0.3166 | | | 8.55 - -Nlocal: 1400 ave 1868 max 905 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Nghost: 648.25 ave 688 max 598 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Neighs: 1202.5 ave 1821 max 698 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 4810 -Ave neighs/atom = 0.858929 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 759 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule -800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4387091 5.9077604 7.0377893 0.0035977871 7.1927209 62.244 62.244 62.244 0.025518192 -0.016769871 0.0020450407 - 5100 1.4449405 5.8876257 7.022549 0.0023104502 7.122044 62.244 62.244 62.244 0.0045960664 0.0036845954 -0.0013493113 - 5200 1.4271652 5.9160022 7.036964 0.0020238904 7.1241189 62.244 62.244 62.244 -0.0022546188 0.00392213 0.0044041599 - 5300 1.4143299 5.9052666 7.016147 0.0064054214 7.2919838 62.244 62.244 62.244 0.0090997079 0.0026363579 0.0074801984 - 5400 1.4426441 5.9087558 7.0418754 0.0020465683 7.1300068 62.244 62.244 62.244 0.0043188307 3.0314417e-06 0.0018178427 - 5500 1.4281065 5.9038871 7.0255883 0.00058665945 7.0508516 62.244 62.244 62.244 0.005898925 0.00066013177 -0.0047990784 - 5600 1.4315628 5.902373 7.0267888 0.0096475978 7.4422435 62.244 62.244 62.244 0.0054175405 0.011780025 0.011745228 - 5700 1.4075482 5.9075587 7.0131124 0.0052150708 7.2376891 62.244 62.244 62.244 0.0030069124 0.0036690785 0.0089692215 - 5800 1.4215681 5.9048555 7.0214211 0.0015070444 7.086319 62.244 62.244 62.244 -5.6858344e-05 0.0023644208 0.0022135708 - 5900 1.3992461 5.8949367 6.9939696 0.0062425817 7.262794 62.244 62.244 62.244 0.0056972212 0.0095293238 0.0035012003 - 6000 1.385289 5.8972105 6.9852808 0.0043255163 7.1715506 62.244 62.244 62.244 0.0040215567 0.0026330714 0.0063219208 -Loop time of 0.84847 on 4 procs for 1000 steps with 5600 atoms - -Performance: 509151.820 tau/day, 1178.592 timesteps/s -94.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.020741 | 0.03547 | 0.053064 | 7.5 | 4.18 -Bond | 0.0064373 | 0.0096895 | 0.013065 | 3.0 | 1.14 -Neigh | 0.14992 | 0.15174 | 0.15392 | 0.4 | 17.88 -Comm | 0.068751 | 0.081259 | 0.10084 | 4.2 | 9.58 -Output | 0.00054288 | 0.00096381 | 0.0017593 | 0.0 | 0.11 -Modify | 0.45914 | 0.48587 | 0.51316 | 2.8 | 57.26 -Other | | 0.08348 | | | 9.84 - -Nlocal: 1400 ave 1868 max 935 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 633.75 ave 695 max 541 min -Histogram: 1 0 0 0 1 0 0 0 0 2 -Neighs: 1263 ave 1799 max 710 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 5052 -Ave neighs/atom = 0.902143 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 153 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 -800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.385289 5.8972105 6.9852808 0.0029190017 7.1109818 62.244 62.244 62.244 0.026575922 -0.075631452 0.057812535 - 6100 1.3829575 5.9055308 6.9917699 0.0022904842 7.090405 62.244 62.244 62.244 -0.00045870123 0.0040556461 0.0032745076 - 6200 1.3942692 5.90506 7.0001838 0.0046406766 7.2000253 62.244 62.244 62.244 0.0042263485 0.0051632793 0.0045324021 - 6300 1.4009885 5.902399 7.0028005 0.0077682466 7.3373246 62.244 62.244 62.244 0.0071636876 0.0098268446 0.0063142075 - 6400 1.3627532 5.9075588 6.9779284 0.0093180831 7.3791932 62.244 62.244 62.244 0.0062401458 0.01302262 0.0086914833 - 6500 1.3341203 5.9012967 6.9491767 0.01010805 7.3844599 62.244 62.244 62.244 0.0031876185 0.011099561 0.01603697 - 6600 1.3572847 5.8915298 6.9576042 -0.00034416901 6.9427833 62.244 62.244 62.244 0.0025579012 -0.0011308802 -0.0024595281 - 6700 1.366374 5.8985277 6.9717413 0.0029472772 7.0986599 62.244 62.244 62.244 0.0022469424 -0.00042869772 0.0070235868 - 6800 1.381673 5.8909304 6.9761606 -9.1063397e-05 6.9722391 62.244 62.244 62.244 -0.0048194377 -0.00080972169 0.0053559692 - 6900 1.4011472 5.8881927 6.9887188 0.0010086058 7.0321524 62.244 62.244 62.244 0.0012132619 -0.0025916747 0.0044042301 - 7000 1.3973658 5.8867938 6.9843498 0.0070015187 7.2858563 62.244 62.244 62.244 0.0058913402 0.0076802028 0.0074330131 -Loop time of 0.902266 on 4 procs for 1000 steps with 5600 atoms - -Performance: 478794.425 tau/day, 1108.320 timesteps/s -92.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022644 | 0.037091 | 0.054025 | 7.4 | 4.11 -Bond | 0.0066526 | 0.0098482 | 0.012934 | 2.8 | 1.09 -Neigh | 0.15815 | 0.16028 | 0.16242 | 0.5 | 17.76 -Comm | 0.086046 | 0.10069 | 0.11568 | 3.7 | 11.16 -Output | 0.00047731 | 0.00090772 | 0.0016732 | 0.0 | 0.10 -Modify | 0.46692 | 0.49338 | 0.52973 | 3.5 | 54.68 -Other | | 0.1001 | | | 11.09 - -Nlocal: 1400 ave 1832 max 970 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 652.5 ave 749 max 561 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Neighs: 1407.5 ave 2071 max 748 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 5630 -Ave neighs/atom = 1.00536 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 149 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.3973658 5.8867938 6.9843498 0.0026564535 7.0987447 62.244 62.244 62.244 0.033711862 -0.0068580786 -0.018884423 - 7100 1.463906 5.861189 7.0110088 0.011521299 7.3924648 57.022165 57.022165 57.022165 0.010788399 0.0093706759 0.014404821 - 7200 1.4950346 5.817724 6.9919936 0.023104537 7.516484 50.28164 50.28164 50.28164 0.023252537 0.018108267 0.027952807 - 7300 1.5103539 5.7757334 6.9620355 0.02265972 7.3367664 45.242961 45.242961 45.242961 0.023588139 0.022279352 0.022111669 - 7400 1.5583184 5.7576833 6.9816589 0.028383162 7.3460731 41.582206 41.582206 41.582206 0.027312172 0.029876235 0.027961079 - 7500 1.5988886 5.6930714 6.9489127 0.046500933 7.4415595 39.00204 39.00204 39.00204 0.057497139 0.031007247 0.050998413 - 7600 1.5458926 5.6844397 6.8986555 0.034168406 7.2068206 36.96428 36.96428 36.96428 0.037874991 0.027247969 0.037382258 - 7700 1.5179913 5.6416448 6.8339457 0.070322183 7.3856048 35.284894 35.284894 35.284894 0.054248771 0.10402305 0.052694729 - 7800 1.4797888 5.6045532 6.7668481 0.07801402 7.3126319 33.963465 33.963465 33.963465 0.096058241 0.061172194 0.076811627 - 7900 1.4846305 5.54982 6.7159177 0.065303374 7.1325712 32.936376 32.936376 32.936376 0.089117046 0.06069295 0.046100127 - 8000 1.4352665 5.5157472 6.6430722 0.065962965 7.0326574 32.099391 32.099391 32.099391 0.032126133 0.070109418 0.095653344 -Loop time of 1.72334 on 4 procs for 1000 steps with 5600 atoms - -Performance: 250675.661 tau/day, 580.268 timesteps/s -92.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.060282 | 0.099801 | 0.13824 | 10.8 | 5.79 -Bond | 0.0095227 | 0.013491 | 0.017217 | 3.2 | 0.78 -Neigh | 0.58793 | 0.59546 | 0.60654 | 1.0 | 34.55 -Comm | 0.17903 | 0.21403 | 0.24615 | 6.5 | 12.42 -Output | 0.00045562 | 0.00076783 | 0.0017018 | 0.0 | 0.04 -Modify | 0.64959 | 0.68513 | 0.70671 | 2.8 | 39.76 -Other | | 0.1147 | | | 6.65 - -Nlocal: 1400 ave 1768 max 981 min -Histogram: 1 0 1 0 0 0 0 0 0 2 -Nghost: 1574 ave 1663 max 1447 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 6338 ave 9521 max 3068 min -Histogram: 1 0 1 0 0 0 0 0 1 1 - -Total # of neighbors = 25352 -Ave neighs/atom = 4.52714 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 337 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.226 | 7.412 | 7.597 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.4352665 5.5157472 6.6430722 0.073641793 7.0780095 32.099391 32.099391 32.099391 0.13359913 0.13991003 -0.052583787 - 8100 1.4385682 5.5149882 6.6449064 0.092621097 7.1894426 31.952972 32.099391 32.099391 0.10729401 0.11619987 0.054369411 - 8200 1.42735 5.5149024 6.6360094 0.023903894 6.7756304 31.745099 32.099391 32.099391 0.051524189 0.013370811 0.006816681 - 8300 1.4335369 5.5031396 6.629106 0.024536474 6.7705237 31.324638 32.099391 32.099391 0.042356568 -0.0039258365 0.035178692 - 8400 1.4502714 5.4659017 6.6050122 0.06575457 6.9774701 30.785462 32.099391 32.099391 0.056998298 0.084852971 0.055412441 - 8500 1.4432366 5.4541505 6.5877355 0.03322226 6.7725932 30.241461 32.099391 32.099391 0.045871758 0.024443739 0.029351281 - 8600 1.436491 5.4272043 6.5554911 0.039811655 6.7732608 29.729098 32.099391 32.099391 0.037709456 0.060942551 0.020782958 - 8700 1.4099251 5.4106713 6.5180919 0.013490442 6.590596 29.209958 32.099391 32.099391 0.025833003 -0.0021161354 0.016754458 - 8800 1.3801478 5.3926425 6.4766747 0.028808964 6.6280205 28.552039 32.099391 32.099391 0.012603549 0.018713073 0.055110271 - 8900 1.4411695 5.3583474 6.4903088 0.053464468 6.7655624 27.980937 32.099391 32.099391 0.055084927 0.073292013 0.032016464 - 9000 1.4264395 5.3680298 6.4884216 0.066557314 6.8276318 27.69922 32.099391 32.099391 0.05380086 0.069450871 0.076420212 -Loop time of 1.45936 on 4 procs for 1000 steps with 5600 atoms - -Performance: 296020.704 tau/day, 685.233 timesteps/s -96.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.097855 | 0.1563 | 0.20542 | 12.5 | 10.71 -Bond | 0.010222 | 0.01371 | 0.016844 | 2.6 | 0.94 -Neigh | 0.43646 | 0.44419 | 0.4668 | 2.0 | 30.44 -Comm | 0.10136 | 0.14589 | 0.19563 | 11.6 | 10.00 -Output | 0.00046229 | 0.00076181 | 0.0016556 | 0.0 | 0.05 -Modify | 0.59971 | 0.62524 | 0.65776 | 2.9 | 42.84 -Other | | 0.07327 | | | 5.02 - -Nlocal: 1400 ave 1680 max 1049 min -Histogram: 1 0 1 0 0 0 0 0 0 2 -Nghost: 1627.25 ave 1775 max 1488 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 7842 ave 10600 max 4326 min -Histogram: 1 0 1 0 0 0 0 0 0 2 - -Total # of neighbors = 31368 -Ave neighs/atom = 5.60143 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 166 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.227 | 7.412 | 7.597 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.4264395 5.3680298 6.4884216 0.0098629166 6.5386881 27.69922 32.099391 32.099391 -0.32352455 -0.020288613 0.37340191 - 9100 1.4501008 5.3468478 6.4858243 0.059250929 6.7846766 27.60347 31.988431 31.988431 0.076039445 0.051409059 0.050304282 - 9200 1.4635102 5.3406895 6.4901983 0.035210102 6.6656151 27.490192 31.857158 31.857158 0.0079484246 0.066653954 0.031027926 - 9300 1.4503713 5.3595734 6.4987624 0.020794 6.6013231 27.398334 31.750708 31.750708 0.053098983 0.0019379163 0.0073450997 - 9400 1.4701421 5.3186993 6.4734172 0.039118143 6.6618027 27.181055 31.498913 31.498913 0.076457868 -0.0028405762 0.043737137 - 9500 1.4495442 5.323167 6.4617063 0.073591495 6.8091096 27.000921 31.290164 31.290164 0.037777789 0.097624306 0.085372389 - 9600 1.4668438 5.3002222 6.4523494 0.06758294 6.7648428 26.814997 31.074705 31.074705 0.057941415 0.09775976 0.047047645 - 9700 1.4926839 5.2883964 6.4608196 0.059125916 6.7288224 26.637713 30.869258 30.869258 0.049817515 0.032285203 0.095275031 - 9800 1.4644558 5.2702597 6.4205112 0.0076221617 6.4543756 26.460515 30.663911 30.663911 -0.0060723629 0.010616271 0.018322577 - 9900 1.4669549 5.2511861 6.4034006 0.044167302 6.5961243 26.30195 30.480157 30.480157 0.026274163 0.013826125 0.092401618 - 10000 1.460983 5.2470476 6.3945715 0.10536479 6.8483021 26.186495 30.346361 30.346361 0.088951294 0.11273872 0.11440435 -Loop time of 1.61361 on 4 procs for 1000 steps with 5600 atoms - -Performance: 267722.758 tau/day, 619.729 timesteps/s -93.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.13322 | 0.18643 | 0.259 | 12.5 | 11.55 -Bond | 0.012367 | 0.014462 | 0.016771 | 1.6 | 0.90 -Neigh | 0.46284 | 0.46471 | 0.46675 | 0.3 | 28.80 -Comm | 0.10183 | 0.17241 | 0.22246 | 12.4 | 10.68 -Output | 0.00044584 | 0.00074542 | 0.0016396 | 0.0 | 0.05 -Modify | 0.691 | 0.7057 | 0.72761 | 1.8 | 43.73 -Other | | 0.06915 | | | 4.29 - -Nlocal: 1400 ave 1633 max 1183 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 1747.75 ave 1847 max 1624 min -Histogram: 1 0 1 0 0 0 0 0 0 2 -Neighs: 9290.75 ave 12454 max 6621 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 37163 -Ave neighs/atom = 6.63625 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 162 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.229 | 7.413 | 7.597 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.460983 5.2470476 6.3945715 0.18376191 7.1859023 26.186495 30.346361 30.346361 0.015959435 0.68341409 -0.14808778 - 10100 1.4487259 5.2485513 6.3864479 0.060157728 6.6465409 26.238844 30.407026 30.346361 0.10289596 0.022823411 0.05475381 - 10200 1.4335646 5.2420513 6.3680395 0.013676852 6.4271554 26.235255 30.402867 30.346361 -0.017328522 0.040786509 0.017572569 - 10300 1.4334952 5.2377534 6.3636871 0.030978458 6.4967192 26.150168 30.304264 30.346361 0.044154015 0.036133394 0.012647966 - 10400 1.4209473 5.2242736 6.3403516 -0.00094467594 6.3363148 26.085773 30.22964 30.346361 0.030664991 0.018005544 -0.051504563 - 10500 1.4262805 5.2044624 6.3247294 0.045042501 6.5149748 25.934148 30.053928 30.346361 0.031103656 0.045410964 0.058612885 - 10600 1.4516048 5.2017459 6.3419036 0.069565209 6.6313867 25.741959 29.831208 30.346361 0.021768778 0.11302833 0.073898515 - 10700 1.4841074 5.1911212 6.356808 0.046866825 6.5493087 25.574636 29.637306 30.346361 0.073969059 0.064901506 0.0017299084 - 10800 1.4646257 5.1958815 6.3462665 0.050747116 6.5534926 25.500146 29.550982 30.346361 0.076646556 0.070734108 0.004860682 - 10900 1.461356 5.1821605 6.3299773 0.069060447 6.610166 25.417723 29.455466 30.346361 0.051399011 0.065631311 0.090151019 - 11000 1.4395386 5.1786243 6.3093047 -0.0087983274 6.2737059 25.383039 29.415273 30.346361 -0.060891892 0.037235898 -0.0027389884 -Loop time of 1.56065 on 4 procs for 1000 steps with 5600 atoms - -Performance: 276807.605 tau/day, 640.758 timesteps/s -94.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.15892 | 0.20364 | 0.2564 | 9.2 | 13.05 -Bond | 0.011486 | 0.014652 | 0.01918 | 2.6 | 0.94 -Neigh | 0.43915 | 0.43981 | 0.44125 | 0.1 | 28.18 -Comm | 0.093711 | 0.14431 | 0.18183 | 9.9 | 9.25 -Output | 0.00044441 | 0.00073904 | 0.0016198 | 0.0 | 0.05 -Modify | 0.66889 | 0.68497 | 0.70418 | 1.5 | 43.89 -Other | | 0.07254 | | | 4.65 - -Nlocal: 1400 ave 1610 max 1237 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 1832 ave 1919 max 1765 min -Histogram: 1 1 0 0 0 0 1 0 0 1 -Neighs: 10008.2 ave 12428 max 7982 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 40033 -Ave neighs/atom = 7.14875 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 157 -Dangerous builds = 0 - -Total wall time: 0:00:11 diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..99c8d38290 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); // transpose the evec matrix @@ -67,7 +67,7 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); // transpose the evec matrix diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index e28e0abb08..b5c77af975 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:00:59 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 -global_scalar: 15.711521423178082 + -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 +global_scalar: 15.711521423178084 run_pos: ! |2 - 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 - 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 - 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 - 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 - 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 - 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 - 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 - 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 - 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 - 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 - 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 - 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 - 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 - 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 - 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 - 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 - 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 - 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 - 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 - 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 - 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 - 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 - 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 - 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 - 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 - 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 + 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 + 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 + 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 + 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 + 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 + 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 + 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 + 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 + 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 + 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 + 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 + 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 + 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 + 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 + 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 + 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 + 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 + 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 + 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 + 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 + 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 + 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 + 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 + 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 + 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 + 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 - 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 - 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 - 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 - 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 - 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 - 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 - 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 - 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 - 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 - 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 - 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 - 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 - 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 - 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 - 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 - 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 - 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 - 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 - 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 - 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 - 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 - 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 - 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 - 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 - 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 + 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 + 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 + 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 + 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 + 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 + 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 + 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 + 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 + 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 + 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 + 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 + 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 + 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 + 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 + 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 + 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 + 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 + 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 + 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 + 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 + 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 + 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 + 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 + 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 + 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 + 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index d667942e49..a73c8cd112 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:00:59 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 304db9fd60..9e362dd3ac 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:00 2024 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -15,8 +16,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 -global_scalar: 18.340560167414306 + -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 +global_scalar: 18.340560167414335 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -36,14 +37,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 + 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 + 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -65,15 +66,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 - 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 - 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 - 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 - 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 - 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 - 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 - 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 - 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 + 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 + 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 + 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 + 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 + 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 + 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 + 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 + 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 + 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index c80a70b428..420e54be25 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:00 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 -global_scalar: 29.023636440847998 + 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 +global_scalar: 29.023636439584656 run_pos: ! |2 - 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 - 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 - 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 - 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 - 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 - 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 - 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 - 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 - 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 - 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 - 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 - 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 - 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 - 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 - 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 - 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 - 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 - 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 - 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 - 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 - 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 - 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 - 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 - 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 - 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 - 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 - 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 - 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 - 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 + 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 + 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 + 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 + 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 + 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 + 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 + 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 + 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 + 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 + 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 + 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 + 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 + 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 + 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 + 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 + 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 + 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 + 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 + 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 + 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 + 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 + 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 + 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 + 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 + 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 + 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 + 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 + 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 + 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 - 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 - 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 - 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 - 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 - 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 - 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 - 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 - 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 + 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 + 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 + 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 + 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 + 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 + 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 + 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 + 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 + 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 3894815950..4d16fc12a0 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:00 2024 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 -global_scalar: 9.77678786310451 + 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 +global_scalar: 9.776787862991728 run_pos: ! |2 - 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 - 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 - 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 - 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 - 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 - 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 - 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 - 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 - 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 - 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 - 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 - 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 - 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 - 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 - 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 - 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 - 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 - 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 - 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 - 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 - 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 - 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 - 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 - 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 - 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 - 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 - 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 - 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 - 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 + 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 + 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 + 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 + 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 + 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 + 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 + 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 + 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 + 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 + 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 + 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 + 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 + 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 + 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 + 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 + 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 + 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 + 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 + 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 + 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 + 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 + 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 + 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 + 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 + 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 + 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 + 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 + 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 + 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 - 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 - 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 - 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 - 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 - 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 - 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 - 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 - 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 + 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 + 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 + 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 + 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 + 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 + 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 + 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 + 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 + 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index f5965e53ff..5504ed4686 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:01 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 -global_scalar: 106.86683072474125 + -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 +global_scalar: 106.86683072474244 run_pos: ! |2 - 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 - 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 - 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 - 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 - 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 - 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 - 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 - 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 - 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 - 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 - 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 - 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 - 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 - 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 - 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 - 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 - 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 - 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 - 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 - 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 - 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 - 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 - 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 - 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 - 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 - 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 - 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 - 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 - 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 + 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 + 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 + 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 + 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 + 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 + 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 + 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 + 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 + 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 + 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 + 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 + 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 + 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 + 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 + 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 + 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 + 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 + 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 + 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 + 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 + 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 + 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 + 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 + 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 + 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 + 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 + 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 + 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 + 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 run_vel: ! |2 - 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 - 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 - 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 - 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 - 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 - 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 - 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 - 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 - 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 - 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 - 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 - 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 - 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 - 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 - 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 - 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 - 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 - 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 - 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 - 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 - 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 - 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 - 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 - 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 - 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 - 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 + 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 + 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 + 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 + 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 + 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 + 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 + 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 + 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 + 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 + 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 + 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 + 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 + 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 + 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 + 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 + 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 + 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 + 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 + 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 + 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 + 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 + 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 + 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 + 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 + 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 + 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index 3b13658e19..d04c58e083 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:01 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 -global_scalar: 77.78983430293286 + -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 +global_scalar: 77.78983430422252 run_pos: ! |2 - 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 - 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 - 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 - 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 - 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 - 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 - 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 - 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 - 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 - 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 - 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 - 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 - 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 - 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 - 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 - 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 - 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 - 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 - 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 - 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 - 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 - 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 - 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 - 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 - 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 - 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 - 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 - 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 - 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 + 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 + 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 + 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 + 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 + 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 + 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 + 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 + 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 + 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 + 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 + 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 + 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 + 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 + 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 + 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 + 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 + 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 + 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 + 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 + 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 + 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 + 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 + 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 + 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 + 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 + 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 + 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 + 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 + 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 - 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 - 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 - 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 - 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 - 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 - 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 - 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 - 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 + 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 + 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 + 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 + 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 + 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 + 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 + 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 + 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 + 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index b20d639fd4..fc5948cb52 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:02 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 -global_scalar: 15.711521423178128 + -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 +global_scalar: 15.711521423178162 run_pos: ! |2 - 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 - 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 - 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 - 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 - 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 - 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 - 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 - 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 - 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 - 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 - 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 - 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 - 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 - 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 - 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 - 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 - 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 - 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 - 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 - 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 - 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 - 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 - 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 - 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 - 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 - 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 + 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 + 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 + 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 + 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 + 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 + 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 + 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 + 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 + 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 + 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 + 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 + 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 + 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 + 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 + 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 + 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 + 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 + 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 + 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 + 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 + 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 + 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 + 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 + 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 + 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 + 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 - 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 - 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 - 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 - 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 - 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 - 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 - 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 - 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 - 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 - 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 - 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 - 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 - 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 - 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 - 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 - 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 - 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 - 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 - 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 - 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 - 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 - 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 - 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 - 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 - 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 + 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 + 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 + 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 + 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 + 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 + 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 + 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 + 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 + 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 + 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 + 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 + 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 + 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 + 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 + 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 + 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 + 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 + 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 + 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 + 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 + 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 + 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 + 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 + 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 + 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 + 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 839ac060a5..0f36c31a95 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:02 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 18.340560167364448 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 18.340560165889197 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 854e8b4d45..6a8c54f4a9 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:03 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 -global_scalar: 4.531423038570333 + -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 +global_scalar: 4.531423038570381 run_pos: ! |2 - 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 - 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 - 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 - 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 - 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 - 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 - 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 - 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 - 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 - 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 - 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 - 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 - 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 - 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 - 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 - 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 - 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 + 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 + 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 + 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 + 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 + 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 + 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 + 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 + 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 + 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 + 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 + 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 + 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 + 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 + 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 + 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 + 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 + 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 - 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 - 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 - 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 - 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 - 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 - 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 - 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 - 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 - 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 - 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 - 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 - 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 - 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 - 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 - 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 - 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 + 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 + 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 + 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 + 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 + 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 + 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 + 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 + 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 + 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 + 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 + 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 + 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 + 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 + 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 + 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 + 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 + 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 664921b147..7b702a4f2a 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:03 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 0.5007318719663203 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 0.5007318719399354 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index a49508ca15..b8ec6036a3 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 -epsilon: 5e-13 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:03 2024 +epsilon: 1e-12 skip_tests: prerequisites: ! | atom full @@ -13,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 -global_scalar: 68.08659647423171 + -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 +global_scalar: 68.08659647424867 run_pos: ! |2 - 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 - 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 - 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 - 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 - 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 - 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 - 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 - 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 - 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 - 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 - 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 - 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 - 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 - 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 - 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 - 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 - 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 + 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 + 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 + 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 + 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 + 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 + 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 + 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 + 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 + 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 + 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 + 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 + 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 + 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 + 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 + 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 + 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 + 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -46,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 - 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 - 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 - 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 - 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 - 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 - 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 - 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 - 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 - 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 - 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 - 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 - 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 - 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 - 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 - 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 - 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 + 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 + 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 + 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 + 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 + 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 + 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 + 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 + 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 + 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 + 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 + 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 + 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 + 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 + 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 + 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 + 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 + 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index 6068993094..deeee40b52 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:04 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 -global_scalar: 0.9532609554739606 + -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 +global_scalar: 0.9532609552151339 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -33,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 - 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 - 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 - 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 - 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 - 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 - 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 - 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 - 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 + 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 + 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 + 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 + 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 + 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 + 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 + 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 + 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 + 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 - 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 - 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 - 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 - 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 - 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 - 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 - 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 - 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 + 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 + 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 + 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 + 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 + 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 + 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 + 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 + 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 + 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index 02acb437d9..a8087adef5 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:04 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 -global_scalar: 4.531423038570297 + -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 +global_scalar: 4.531423038570312 run_pos: ! |2 - 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 - 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 - 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 - 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 - 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 - 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 - 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 - 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 - 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 - 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 - 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 - 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 - 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 - 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 - 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 + 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 + 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 + 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 + 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 + 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 + 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 + 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 + 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 + 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 + 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 + 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 + 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 + 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 + 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 + 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 - 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 - 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 - 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 - 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 - 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 - 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 - 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 - 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 - 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 - 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 - 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 - 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 - 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 - 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 - 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 - 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 + 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 + 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 + 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 + 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 + 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 + 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 + 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 + 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 + 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 + 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 + 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 + 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 + 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 + 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 + 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 + 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 + 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 92754f85f5..0eae9f7559 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:05 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index 1da2dfa33c..15ce3ae605 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -1922,70 +1922,58 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 13.982119044342252, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 13.982119044342252, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 13.945895752275419, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.10811427523057447, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.10811427523057447, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 19.018309360029388, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 19.018309360029388, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979012, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.36886008861549813, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.63718542087921404, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.66984067651944412, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], -0.26272786480888066, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], -0.27619246288035992, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.70865471105868871, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], 0.40297854431552654, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], -0.56684324752832238, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], 0.11876668744732566, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.55997606330452898, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.69182747953492685, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.072026021657128514, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.45012642589672475, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288905, EPSILON); - EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163631, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], 0.18561232929671426, EPSILON); - EXPECT_NEAR(bonus[1].c1[1], 0.51379191773154387, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], 0.18681344121910506, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.22123552085772166, EPSILON); - EXPECT_NEAR(bonus[2].c1[1], -0.28372571379613187, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], 0.78775285695558617, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.69845793336676587, EPSILON); - EXPECT_NEAR(bonus[3].c1[1], 0.18083523090249506, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], 0.47901475403318056, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); - EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], 0.2208094914375279, EPSILON); - EXPECT_NEAR(bonus[1].c2[1], -0.4849604211463005, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], 0.22223836695322477, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.17705460333259249, EPSILON); - EXPECT_NEAR(bonus[2].c2[1], -0.56674478453558153, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], -0.6304379562181005, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.22007613459534958, EPSILON); - EXPECT_NEAR(bonus[3].c2[1], -0.82388470022624394, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], -0.15093208974463557, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); - EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], -0.40642182073424188, EPSILON); - EXPECT_NEAR(bonus[1].c3[1], -0.028831496585242929, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], -0.40905180817232945, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], 0.044180917525129149, EPSILON); - EXPECT_NEAR(bonus[2].c3[1], 0.85047049833171351, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], -0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.47838179877141634, EPSILON); - EXPECT_NEAR(bonus[3].c3[1], 0.64304946932374796, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], -0.32808266428854477, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.36886008861549813, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.63633478678991862, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.66894644809679971, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], 0.26478147716387457, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], 0.27835132126616718, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.90191325590647375, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], 0.2009681312851252, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], 0.1002758475123109, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], 0.36892959143125958, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.34503278332913523, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.17090845404750615, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.44689296000042461, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.80748335033318219, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], -0.18681344121910512, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], 0.18561232929671317, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.47901475403318072, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], -0.69845793336676587, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], -0.22223836695322477, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], 0.22080949143752887, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.63043795621810073, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], 0.17705460333259254, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.15093208974463557, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], 0.22007613459534847, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], 0.40905180817232961, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], -0.40642182073424171, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], 0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], 0.044180917525128927, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.32808266428854477, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], 0.4783817987714174, EPSILON); BEGIN_HIDE_OUTPUT(); command("group two id 2:4:2"); @@ -2048,70 +2036,58 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.70865471105868871, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.40297854431552654, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], -0.56684324752832238, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], 0.11876668744732566, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.66466395261228639, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], -0.26579965871355399, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], -0.64169714094040209, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], -0.27531282359251713, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.70865471105868871, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.40297854431552654, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], -0.56684324752832238, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.11876668744732566, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[1].c1[1], -0.28372571379613187, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], 0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.0052525338293288905, EPSILON); - EXPECT_NEAR(bonus[2].c1[1], -0.55767753582520529, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], 0.14933690186163631, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.22123552085772166, EPSILON); - EXPECT_NEAR(bonus[3].c1[1], -0.28372571379613187, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], 0.78775285695558617, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); - EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], 0.17705460333259249, EPSILON); - EXPECT_NEAR(bonus[1].c2[1], -0.56674478453558153, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], -0.6304379562181005, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.019602723119529659, EPSILON); - EXPECT_NEAR(bonus[2].c2[1], 0.14942924536134222, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], -0.55733290519255385, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.17705460333259249, EPSILON); - EXPECT_NEAR(bonus[3].c2[1], -0.56674478453558153, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], -0.6304379562181005, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); - EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], 0.044180917525129149, EPSILON); - EXPECT_NEAR(bonus[1].c3[1], 0.85047049833171351, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], -0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], -0.014350189290200811, EPSILON); - EXPECT_NEAR(bonus[2].c3[1], 0.40824829046386302, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], 0.40799600333091751, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.044180917525129149, EPSILON); - EXPECT_NEAR(bonus[3].c3[1], 0.85047049833171351, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], -0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.90191325590647375, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.2009681312851252, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], 0.1002758475123109, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], 0.36892959143125958, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.92373678792937974, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], 0.0067268233964605136, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], 0.016239988275423622, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], -0.38262430562330857, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.90191325590647375, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.2009681312851252, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.1002758475123109, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.36892959143125958, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], -0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], 0.63043795621810073, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], 0.17705460333259254, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.55733290519255363, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], 0.019602723119529656, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.63043795621810073, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], 0.17705460333259254, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], 0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], 0.044180917525128927, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], -0.4079960033309174, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], -0.014350189290200809, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], 0.044180917525128927, EPSILON); BEGIN_HIDE_OUTPUT(); command("reset_atoms id"); @@ -2140,18 +2116,18 @@ TEST_F(AtomStyleTest, tri) ASSERT_EQ(tri[GETIDX(6)], -1); ASSERT_EQ(tri[GETIDX(7)], 3); ASSERT_EQ(tri[GETIDX(8)], -1); - EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); } TEST_F(AtomStyleTest, body_nparticle) @@ -2347,18 +2323,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2519,18 +2495,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2543,10 +2519,10 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(bonus[2].quat[1], 0.25056280708573159, EPSILON); EXPECT_NEAR(bonus[2].quat[2], 0.0, EPSILON); EXPECT_NEAR(bonus[2].quat[3], 0.25056280708573148, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.62499650256800654, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.47323774316465234, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.33072552332373728, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.52540083597613996, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.070424771223903379, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.81345375914352225, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.56848787755882768, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], -0.10077135705145905, EPSILON); ASSERT_EQ(bonus[0].ilocal, 0); ASSERT_EQ(bonus[1].ilocal, 1); ASSERT_EQ(bonus[2].ilocal, 2); @@ -2634,18 +2610,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(9)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.49099767504559777, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); From b01efd96a52b35ed6065a5c80817e52800337bae Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Mar 2024 23:27:44 -0400 Subject: [PATCH 05/62] add missing link and expand docs for Unknown identifier in data file error --- doc/src/Errors_details.rst | 32 ++++++++++++++++++++++---------- src/read_data.cpp | 3 ++- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/doc/src/Errors_details.rst b/doc/src/Errors_details.rst index b63d80a9ae..2a08a308f4 100644 --- a/doc/src/Errors_details.rst +++ b/doc/src/Errors_details.rst @@ -13,15 +13,27 @@ discussions of such cases. Unknown identifier in data file ------------------------------- -This error happens when LAMMPS encounters a line of text in an unexpected format -while reading a data file. This is most commonly cause by inconsistent header and -section data. The header section informs LAMMPS how many entries or lines are expected in the -various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of the data file. -If there is a mismatch, LAMMPS will either keep reading beyond the end of a section -or stop reading before the section has ended. +This error happens when LAMMPS encounters a line of text with an +unexpected keyword while :doc:`reading a data file `. This +would be either header keywords or section header keywords. This is +most commonly due to a mistyped keyword or due to a keyword that is +inconsistent with the :doc:`atom style ` used. -Such a mismatch can happen unexpectedly when the first line of the data -is *not* a comment as required by the format. That would result in -LAMMPS expecting, for instance, 0 atoms because the "atoms" header line -is treated as a comment. +The header section informs LAMMPS how many entries or lines are expected +in the various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of +the data file. If there is a mismatch, LAMMPS will either keep reading +beyond the end of a section or stop reading before the section has +ended. In that case the next line will not contain a recognized keyword. +Such a mismatch can also happen when the first line of the data +is *not* a comment as required by the format, but a line with a valid +header keyword. That would result in LAMMPS expecting, for instance, +0 atoms because the "atoms" header line is the first line and thus +treated as a comment. + +Another possibility to trigger this error is to have a keyword in the +data file that corresponds to a fix (e.g. :doc:`fix cmap `) +but the :doc:`read_data ` command is missing the (optional) +arguments that identify the fix and the header keyword and section +keyword or those arguments are inconsistent with the keywords in the +data file. diff --git a/src/read_data.cpp b/src/read_data.cpp index 657369d5d0..36bbce605f 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1360,7 +1360,8 @@ void ReadData::header(int firstpass) // check that exiting string is a valid section keyword parse_keyword(1); - if (!is_data_section(keyword)) error->all(FLERR, "Unknown identifier in data file: {}", keyword); + if (!is_data_section(keyword)) + error->all(FLERR, "Unknown identifier in data file: {}{}", keyword, utils::errorurl(1)); // error checks on header values // must be consistent with atom style and other header values From cd154abe73018b8c45a7e3b06ad7cd2ac0a537d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Mar 2024 23:56:38 -0400 Subject: [PATCH 06/62] add "Incorrect format in ... section of data file" to Error_details and url --- doc/src/Errors_details.rst | 17 +++++++++++++++++ src/MOLECULE/fix_cmap.cpp | 3 ++- src/atom.cpp | 28 ++++++++++++++++++++-------- src/fix_property_atom.cpp | 5 +++-- 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/doc/src/Errors_details.rst b/doc/src/Errors_details.rst index 2a08a308f4..c798784106 100644 --- a/doc/src/Errors_details.rst +++ b/doc/src/Errors_details.rst @@ -37,3 +37,20 @@ but the :doc:`read_data ` command is missing the (optional) arguments that identify the fix and the header keyword and section keyword or those arguments are inconsistent with the keywords in the data file. + +.. _err0002: + +Incorrect format in ... section of data file +-------------------------------------------- + +This error happens when LAMMPS reads the contents of a section of a +:doc:`data file ` and the number of parameters in the line +differs from what is expected. This most commonly happens, when the +atom style is different from what is expected for a specific data file +since changing the atom style usually changes the format of the line. + +This error can also happen when the number of entries indicated in the +header of a data file (e.g. the number of atoms) is larger than the +number of lines provided (e.g. in the corresponding Atoms section) +and then LAMMPS will continue reading into the next section and that +would have a completely different format. diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index cb4cb8cadc..bc220da30e 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -970,7 +970,8 @@ void FixCMAP::read_data_section(char * /*keyword*/, int /*n*/, char *buf, atom5 = values.next_tagint(); if (values.has_next()) throw TokenizerException("too many items",line); } catch (std::exception &e) { - error->all(FLERR,"Incorrect format of CMAP section: {}", e.what()); + error->all(FLERR,"Incorrect format of CMAP section in data file: {}{}", + e.what(), utils::errorurl(2)); } atom1 += id_offset; diff --git a/src/atom.cpp b/src/atom.cpp index 085ca88b4e..7edf4760d2 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1068,7 +1068,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, } if ((nwords != avec->size_data_atom) && (nwords != avec->size_data_atom + 3)) - error->all(FLERR,"Incorrect format in {}: {}", location, utils::trim(buf)); + error->all(FLERR,"Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); *next = '\n'; // set bounds for my proc @@ -1149,7 +1150,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, // skip over empty or comment lines } else if ((nvalues < nwords) || ((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) { - error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); } else { int imx = 0, imy = 0, imz = 0; if (imageflag) { @@ -1243,7 +1245,8 @@ void Atom::data_vels(int n, char *buf, tagint id_offset) if (values.size() == 0) { // skip over empty or comment lines } else if ((int)values.size() != avec->size_data_vel) { - error->all(FLERR, "Incorrect velocity format in data file: {}", utils::trim(buf)); + error->all(FLERR, "Incorrect format in Velocities section of data file: {}{}", + utils::trim(buf), utils::errorurl(2)); } else { tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; if (tagdata <= 0 || tagdata > map_tag_max) @@ -1287,7 +1290,9 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Bonds line is: number(ignored), bond type, atomID 1, atomID 2 if (nwords > 0) { - if (nwords != 4) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 4) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1378,7 +1383,9 @@ void Atom::data_angles(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Angles line is: number(ignored), angle type, atomID 1, atomID 2, atomID 3 if (nwords > 0) { - if (nwords != 5) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 5) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1485,7 +1492,9 @@ void Atom::data_dihedrals(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Dihedrals line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 if (nwords > 0) { - if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 6) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1611,7 +1620,9 @@ void Atom::data_impropers(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Impropers line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 if (nwords > 0) { - if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 6) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1727,7 +1738,8 @@ void Atom::data_bonus(int n, char *buf, AtomVec *avec_bonus, tagint id_offset) if (values.size() == 0) { // skip over empty or comment lines } else if ((int)values.size() != avec_bonus->size_data_bonus) { - error->all(FLERR, "Incorrect bonus data format in data file: {}", utils::trim(buf)); + error->all(FLERR, "Incorrect format in Bonus section of data file: {}{}", + utils::trim(buf), utils::errorurl(2)); } else { tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; if (tagdata <= 0 || tagdata > map_tag_max) diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index de96b5c39d..2cbdb44ab0 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -328,8 +328,9 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint try { ValueTokenizer values(buf); if ((int) values.count() != values_peratom + 1) - error->all(FLERR, "Incorrect format in {} section of data file: {} expected {} and got {}", - keyword, buf, values_peratom + 1, values.count()); + error->all(FLERR, "Incorrect format in {} section of data file: {}\n" + "expected {} parameters and got {}{}", keyword, utils::trim(buf), + values_peratom + 1, values.count(), utils::errorurl(2)); itag = values.next_tagint() + id_offset; if (itag <= 0 || itag > map_tag_max) From e5ea8c2670227934a0cb20a565432a5ef045fa83 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Mar 2024 06:04:56 -0400 Subject: [PATCH 07/62] silence compiler warnings --- src/KOKKOS/fft3d_kokkos.cpp | 3 +++ src/KOKKOS/pair_kokkos.h | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 5caed42f43..202d46e788 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -39,8 +39,11 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int Pointers(lmp) { int nthreads = lmp->kokkos->nthreads; + +#if defined(LMP_KOKKOS_GPU) int ngpus = lmp->kokkos->ngpus; ExecutionSpace execution_space = ExecutionSpaceFromDevice::space; +#endif #if defined(FFT_KOKKOS_MKL) if (ngpus > 0 && execution_space == Device) diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 15417d7620..c4bd603041 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -950,10 +950,10 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P static int vectorsize = 0; static int atoms_per_team = 0; - static int teamsize_max_for = 0; - static int teamsize_max_reduce = 0; #if defined(LMP_KOKKOS_GPU) + static int teamsize_max_for = 0; + static int teamsize_max_reduce = 0; static int lastcall = -1; if (!vectorsize || lastcall < fpair->lmp->neighbor->lastcall) { lastcall = fpair->lmp->update->ntimestep; From edcbd2e7618518e6bb1a5d843081474d7176872d Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 27 Mar 2024 13:04:23 -0600 Subject: [PATCH 08/62] Fix bug in Kokkos when shrink-wrapping with no atoms --- src/KOKKOS/domain_kokkos.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/domain_kokkos.cpp b/src/KOKKOS/domain_kokkos.cpp index aecc12cd12..d0865c6afb 100644 --- a/src/KOKKOS/domain_kokkos.cpp +++ b/src/KOKKOS/domain_kokkos.cpp @@ -22,7 +22,7 @@ using namespace LAMMPS_NS; -static constexpr double BIG = 1.0e20; +static constexpr double BIG = 1.0e20; /* ---------------------------------------------------------------------- */ @@ -80,6 +80,11 @@ public: void DomainKokkos::reset_box() { // perform shrink-wrapping + + // nothing to do for empty systems + + if (atom->natoms == 0) return; + // compute extent of atoms on this proc // for triclinic, this is done in lamda space From 3c8ba3d37612025687c8069deb345bbbcca92033 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 27 Mar 2024 13:14:52 -0600 Subject: [PATCH 09/62] Update codeowners so changes to domain can be ported to KOKKOS package --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ed37fa80b9..0e42635244 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -83,7 +83,7 @@ src/bond.* @sjplimp src/comm*.* @sjplimp src/compute.* @sjplimp src/dihedral.* @sjplimp -src/domain.* @sjplimp +src/domain.* @sjplimp @stanmoore1 src/dump*.* @sjplimp src/error.* @sjplimp src/finish.* @sjplimp From f8d8ed094659f24d3a4a96d9eae32997148d23bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Mar 2024 17:52:13 -0400 Subject: [PATCH 10/62] use correct character class escapes --- unittest/force-styles/check_tests.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/unittest/force-styles/check_tests.py b/unittest/force-styles/check_tests.py index df71640789..4dba8f9b9e 100755 --- a/unittest/force-styles/check_tests.py +++ b/unittest/force-styles/check_tests.py @@ -54,7 +54,7 @@ improper = {} kspace = {} pair = {} -style_pattern = re.compile("(.+)Style\((.+),(.+)\)") +style_pattern = re.compile("(.+)Style\\((.+),(.+)\\)") upper = re.compile("[A-Z]+") gpu = re.compile("(.+)/gpu$") intel = re.compile("(.+)/intel$") @@ -176,19 +176,19 @@ def check_tests(name,styles,yaml,search,skip=()): counter = 0 counter += check_tests('pair',pair,'*-pair-*.yaml', - '.*pair_style:\s*((\S+).*)?',skip=('meam','lj/sf')) + '.*pair_style:\\s*((\\S+).*)?',skip=('meam','lj/sf')) counter += check_tests('bond',bond,'bond-*.yaml', - '.*bond_style:\s*((\S+).*)?') + '.*bond_style:\\s*((\\S+).*)?') counter += check_tests('angle',angle,'angle-*.yaml', - '.*angle_style:\s*((\S+).*)?') + '.*angle_style:\\s*((\\S+).*)?') counter += check_tests('dihedral',dihedral,'dihedral-*.yaml', - '.*dihedral_style:\s*((\S+).*)?') + '.*dihedral_style:\\s*((\\S+).*)?') counter += check_tests('improper',improper,'improper-*.yaml', - '.*improper_style:\s*((\S+).*)?') + '.*improper_style:\\s*((\\S+).*)?') counter += check_tests('kspace',kspace,'kspace-*.yaml', - '.*kspace_style\s*((\S+).*)?') + '.*kspace_style\\s*((\\S+).*)?') counter += check_tests('fix',fix,'fix-*.yaml', - ' fix\s+((\S+)\s*)?') + ' fix\\s+((\\S+)\\s*)?') total = len(pair)+len(bond)+len(angle)+len(dihedral)+len(improper)+len(kspace)+len(fix) print(f"\nTotal tests missing: {counter} of {total}") From a13d53dd65a435df205a727f77efe752c1f8c986 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 28 Mar 2024 16:14:44 -0400 Subject: [PATCH 11/62] disable references to cuFFT (which is not yet used) --- lib/gpu/lal_base_amoeba.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/gpu/lal_base_amoeba.h b/lib/gpu/lal_base_amoeba.h index f415b30334..7255b8770f 100644 --- a/lib/gpu/lal_base_amoeba.h +++ b/lib/gpu/lal_base_amoeba.h @@ -33,6 +33,7 @@ //#define ASYNC_DEVICE_COPY +#if 0 #if !defined(USE_OPENCL) && !defined(USE_HIP) // temporary workaround for int2 also defined in cufft #ifdef int2 @@ -40,6 +41,7 @@ #endif #include "cufft.h" #endif +#endif namespace LAMMPS_AL { @@ -313,10 +315,11 @@ class BaseAmoeba { virtual int fphi_mpole(); virtual int polar_real(const int eflag, const int vflag) = 0; - +#if 0 #if !defined(USE_OPENCL) && !defined(USE_HIP) cufftHandle plan; #endif +#endif bool fft_plan_created; }; From 996f5b9d52cf5e186d496ed0df81d33f9c510cea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 02:50:30 -0400 Subject: [PATCH 12/62] fix ttm doc formatting fixes --- doc/src/fix_ttm.rst | 75 +++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 5a7f864686..f3e6a08d61 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -136,23 +136,23 @@ transfer between the subsystems: \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' -where C_e is the specific heat, rho_e is the density, kappa_e is the -thermal conductivity, T is temperature, the "e" and "a" subscripts -represent electronic and atomic subsystems respectively, g_p is the -coupling constant for the electron-ion interaction, and g_s is the -electron stopping coupling parameter. C_e, rho_e, and kappa_e are -specified as parameters to the fix. The other quantities are derived. -The form of the heat diffusion equation used here is almost the same -as that in equation 6 of :ref:`(Duffy) `, with the exception that the -electronic density is explicitly represented, rather than being part -of the specific heat parameter. +where :math:`C_e` is the specific heat, :math:`\rho_e` is the density, +:math:`\kappa_e` is the thermal conductivity, *T* is temperature, the +"e" and "a" subscripts represent electronic and atomic subsystems +respectively, :math:`g_p` is the coupling constant for the electron-ion +interaction, and :math:`g_s` is the electron stopping coupling +parameter. :math:`C_e`, :math:`\rho_e`, and :math:`\kappa_e` are +specified as parameters to the fix *ttm* or *ttm/grid*. The other +quantities are derived. The form of the heat diffusion equation used +here is almost the same as that in equation 6 of :ref:`(Duffy) `, +with the exception that the electronic density is explicitly +represented, rather than being part of the specific heat parameter. Currently, the TTM fixes assume that none of the user-supplied -parameters will vary with temperature. Note that :ref:`(Duffy) -` used a tanh() functional form for the temperature dependence -of the electronic specific heat, but ignored temperature dependencies -of any of the other parameters. See more discussion below for fix -ttm/mod. +parameters will vary with temperature. Note that :ref:`(Duffy) ` +used a tanh() functional form for the temperature dependence of the +electronic specific heat, but ignored temperature dependencies of any of +the other parameters. See more discussion below for fix *ttm/mod*. .. note:: @@ -265,27 +265,27 @@ heat sources (e.g. laser heating in ablation simulations): \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) -where theta is the Heaviside step function, I_0 is the (absorbed) -laser pulse intensity for ablation simulations, l_skin is the depth -of skin-layer, and all other designations have the same meaning as in -the former equation. The duration of the pulse is set by the parameter -*tau* in the *init_file*. +where :math:`\theta` is the Heaviside step function, :math:`I_0` is the +(absorbed) laser pulse intensity for ablation simulations, +:math:`l_{skin}` is the depth of the skin-layer, and all other +designations have the same meaning as in the former equation. The +duration of the pulse is set by the parameter *tau* in the *init_file*. -Fix ttm/mod also allows users to specify the dependencies of C_e and -kappa_e on the electronic temperature. The specific heat is expressed -as +Fix *ttm/mod* also allows users to specify the dependencies of +:math:`C_e` and :math:`\kappa_e` on the electronic temperature. The +specific heat is expressed as .. math:: C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) -where *X* = T_e/1000, and the thermal conductivity is defined as -kappa_e = D_e\*rho_e\*C_e, where D_e is the thermal diffusion -coefficient. +where :math:`X = \frac{T_e}{1000}`, and the thermal conductivity is +defined as :math:`\kappa_e = D_e \cdot rho_e \cdot C_e`, where +:math:`D_e` is the thermal diffusion coefficient. -Electronic pressure effects are included in the TTM model to account -for the blast force acting on ions because of electronic pressure -gradient (see :ref:`(Chen) `, :ref:`(Norman) `). The total force +Electronic pressure effects are included in the TTM model to account for +the blast force acting on ions because of electronic pressure gradient +(see :ref:`(Chen) `, :ref:`(Norman) `). The total force acting on an ion is: .. math:: @@ -293,13 +293,14 @@ acting on an ion is: {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} -where F_langevin is a force from Langevin thermostat simulating -electron-phonon coupling, and nabla P_e/n_ion is the electron blast -force. +where :math:`F_{langevin}` is a force from Langevin thermostat +simulating electron-phonon coupling, and :math:`\nabla P_e/n_{ion}` is +the electron blast force. -The electronic pressure is taken to be P_e = B\*rho_e\*C_e\*T_e +The electronic pressure is taken to be :math:`P_e = B \cdot rho_e \cdot +C_e \cdot T_e` -The current fix ttm/mod implementation allows TTM simulations with a +The current fix *ttm/mod* implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously @@ -319,10 +320,10 @@ electronic pressure gradient is calculated as \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] -where lambda is the electron mean free path (see :ref:`(Norman) `, -:ref:`(Pisarev) `) +where :math:`\lambda` is the electron mean free path (see :ref:`(Norman) +`, :ref:`(Pisarev) `) -The fix ttm/mod parameter file *init_file* has the following syntax. +The fix *ttm/mod* parameter file *init_file* has the following syntax. Every line with an odd number is considered as a comment and ignored. The lines with the even numbers are treated as follows: From 9c85e5a99bb7369589a5d05c1e655074dd6697c5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 29 Mar 2024 14:27:43 -0600 Subject: [PATCH 13/62] fix bug in option arg parsing of fix ave/correlate, also update doc page for fix ave/correlate/long --- doc/src/fix_ave_correlate.rst | 1 - doc/src/fix_ave_correlate_long.rst | 13 ++++++++----- src/fix_ave_correlate.cpp | 16 ++++++++-------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/doc/src/fix_ave_correlate.rst b/doc/src/fix_ave_correlate.rst index 1aff749048..659e15105c 100644 --- a/doc/src/fix_ave_correlate.rst +++ b/doc/src/fix_ave_correlate.rst @@ -65,7 +65,6 @@ Examples fix 1 all ave/correlate 1 50 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper ave running title1 "My correlation data" - fix 1 all ave/correlate 1 50 10000 c_thermo_press[*] Description diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index e2b23248f2..003bdf897d 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -20,11 +20,11 @@ Syntax .. parsed-literal:: c_ID = global scalar calculated by a compute with ID - c_ID[I] = Ith component of global vector calculated by a compute with ID + c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar calculated by a fix with ID - f_ID[I] = Ith component of global vector calculated by a fix with ID + f_ID[I] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below) v_name = global value calculated by an equal-style variable with name - v_name[I] = Ith component of global vector calculated by a vector-style variable with name + v_name[I] = Ith component of a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount* @@ -63,6 +63,7 @@ Examples fix 1 all ave/correlate/long 1 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper title1 "My correlation data" nlen 15 ncount 3 + fix 1 all ave/correlate/long 1 10000 c_thermo_press[*] Description """"""""""" @@ -80,8 +81,10 @@ specified values may represent calculations performed by computes and fixes which store their own "group" definitions. Each listed value can be the result of a compute or fix or the -evaluation of an equal-style variable. See the -:doc:`fix ave/correlate ` page for details. +evaluation of an equal-style or vector-style variable. For +vector-style variables, the specified indices can include a wildcard +character. See the :doc:`fix ave/correlate ` page +for details. The *Nevery* and *Nfreq* arguments specify on what time steps the input values will be used to calculate correlation data and the frequency diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index d506e17761..4b9e316b9d 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -97,7 +97,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : while (iarg < nargnew) { if (strcmp(arg[iarg],"type") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); if (strcmp(arg[iarg+1],"auto") == 0) type = AUTO; else if (strcmp(arg[iarg+1],"upper") == 0) type = UPPER; else if (strcmp(arg[iarg+1],"lower") == 0) type = LOWER; @@ -107,21 +107,21 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Unknown fix ave/correlate type: {}"); iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING; else error->all(FLERR,"Unknown fix ave/correlate ave mode: {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"start") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"prefactor") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); if (comm->me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) @@ -133,17 +133,17 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : overwrite = 1; iarg += 1; } else if (strcmp(arg[iarg],"title1") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); delete[] title1; title1 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title2") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); delete[] title2; title2 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title3") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); delete[] title3; title3 = utils::strdup(arg[iarg+1]); iarg += 2; From 30f330718af1856bc01cfd23163fe08a1961677d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 29 Mar 2024 16:53:18 -0600 Subject: [PATCH 14/62] more consistent error checks on variable length global vecs and arrays --- src/fix_ave_correlate.cpp | 2 +- src/fix_ave_time.cpp | 2 +- src/thermo.cpp | 20 +++++++-------- src/variable.cpp | 51 ++++++++++++++++++++++----------------- 4 files changed, 41 insertions(+), 34 deletions(-) diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index d506e17761..50ea6a5614 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -121,7 +121,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); if (comm->me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 5219a4de3d..c88d8e1659 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -178,7 +178,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : if (val.argindex && (val.val.f->array_flag == 0)) error->all(FLERR,"Fix ave/time fix {} does not calculate an array", val.id); if (val.argindex && (val.val.f->size_array_rows_variable)) - error->all(FLERR,"Fix ave/time fix {} array cannot be variable length", val.id); + error->all(FLERR,"Fix ave/time fix {} array cannot have variable row length", val.id); if (val.argindex && (val.argindex > val.val.f->size_array_cols)) error->all(FLERR,"Fix ave/time fix {} array is accessed out-of-range", val.id); if (nevery % val.val.f->global_freq) diff --git a/src/thermo.cpp b/src/thermo.cpp index efc5f984fc..dbb8b2530e 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1490,9 +1490,8 @@ void Thermo::compute_compute() if (normflag && compute->extscalar) dvalue /= natoms; } else if (compute_which[m] == VECTOR) { if (compute->size_vector_variable && argindex1[ifield] > compute->size_vector) - dvalue = 0.0; - else - dvalue = compute->vector[argindex1[ifield] - 1]; + error->all(FLERR, "Thermo compute vector is accessed out-of-range"); + dvalue = compute->vector[argindex1[ifield] - 1]; if (normflag) { if (compute->extvector == 0) return; @@ -1503,9 +1502,8 @@ void Thermo::compute_compute() } } else { if (compute->size_array_rows_variable && argindex1[ifield] > compute->size_array_rows) - dvalue = 0.0; - else - dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; + error->all(FLERR, "Thermo compute array is accessed out-of-range"); + dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; if (normflag && compute->extarray) dvalue /= natoms; } } @@ -1521,6 +1519,8 @@ void Thermo::compute_fix() dvalue = fix->compute_scalar(); if (normflag && fix->extscalar) dvalue /= natoms; } else if (argindex2[ifield] == 0) { + if (fix->size_vector_variable && argindex1[ifield] > fix->size_vector) + error->all(FLERR, "Thermo fix vector is accessed out-of-range"); dvalue = fix->compute_vector(argindex1[ifield] - 1); if (normflag) { if (fix->extvector == 0) @@ -1531,6 +1531,8 @@ void Thermo::compute_fix() dvalue /= natoms; } } else { + if (fix->size_array_rows_variable && argindex1[ifield] > fix->size_array_rows) + error->all(FLERR, "Thermo fix array is accessed out-of-range"); dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); if (normflag && fix->extarray) dvalue /= natoms; } @@ -1547,10 +1549,8 @@ void Thermo::compute_variable() else { double *varvec; int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec); - if (nvec < iarg) - dvalue = 0.0; - else - dvalue = varvec[iarg - 1]; + if (iarg > nvec) error->all(FLERR, "Thermo vector-style variable is accessed out-of-range"); + dvalue = varvec[iarg - 1]; } } diff --git a/src/variable.cpp b/src/variable.cpp index 8124d9c4a1..a6a194779c 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1225,7 +1225,6 @@ int Variable::compute_vector(int ivar, double **result) int nlen = size_tree_vector(tree); if (nlen == 0) print_var_error(FLERR,"Vector-style variable has zero length",ivar); - if (nlen < 0) print_var_error(FLERR,"Inconsistent lengths in vector-style variable",ivar); @@ -1535,9 +1534,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->vector_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (index1 > compute->size_vector && - compute->size_vector_variable == 0) - print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1546,10 +1542,14 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_VECTOR; } - if (compute->size_vector_variable && - index1 > compute->size_vector) value1 = 0.0; - else value1 = compute->vector[index1-1]; - argstack[nargstack++] = value1; + // wait to check index1 until after compute invocation + // to allow for computes with size_vector_variable == 1 + + if (index1 > compute->size_vector) + print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); + + value1 = compute->vector[index1-1]; + argstack[nargstack++] = value1; // c_ID[i][j] = scalar from global array @@ -1557,9 +1557,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (index1 > compute->size_array_rows && - compute->size_array_rows_variable == 0) - print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (index2 > compute->size_array_cols) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) @@ -1570,9 +1567,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_ARRAY; } - if (compute->size_array_rows_variable && - index1 > compute->size_array_rows) value1 = 0.0; - else value1 = compute->array[index1-1][index2-1]; + // wait to check index1 until after compute invocation + // to allow for computes with size_array_rows_variable == 1 + + if (index1 > compute->size_array_rows) + print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); + + value1 = compute->array[index1-1][index2-1]; argstack[nargstack++] = value1; // C_ID[i] = scalar element of per-atom vector, note uppercase "C" @@ -1634,8 +1635,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->vector_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_vector == 0) - print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1644,6 +1643,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_VECTOR; } + // wait to check vector size until after compute invocation + // to allow for computes with size_vector_variable == 1 + + if (compute->size_vector == 0) + print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); + auto newtree = new Tree(); newtree->type = VECTORARRAY; newtree->array = compute->vector; @@ -1657,8 +1662,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_array_rows == 0) - print_var_error(FLERR,"Variable formula compute array is zero length",ivar); if (index1 > compute->size_array_cols) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) @@ -1669,6 +1672,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_ARRAY; } + // wait to check row count until after compute invocation + // to allow for computes with size_array_rows_variable == 1 + + if (compute->size_array_rows == 0) + print_var_error(FLERR,"Variable formula compute array has zero rows",ivar); + auto newtree = new Tree(); newtree->type = VECTORARRAY; newtree->array = &compute->array[0][index1-1]; @@ -1798,8 +1807,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->vector_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_vector && - fix->size_vector_variable == 0) + if (index1 > fix->size_vector) print_var_error(FLERR,"Variable formula fix vector is accessed out-of-range",ivar,0); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); @@ -1813,8 +1821,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->array_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_array_rows && - fix->size_array_rows_variable == 0) + if (index1 > fix->size_array_rows) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); if (index2 > fix->size_array_cols) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); From dcc791621044d0e42303e0bb5c34d5f42f434204 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 21:32:08 -0400 Subject: [PATCH 15/62] reorder header --- src/OPENMP/angle_cosine_squared_omp.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/OPENMP/angle_cosine_squared_omp.cpp b/src/OPENMP/angle_cosine_squared_omp.cpp index 9b849c62a3..f70e167d36 100644 --- a/src/OPENMP/angle_cosine_squared_omp.cpp +++ b/src/OPENMP/angle_cosine_squared_omp.cpp @@ -16,14 +16,16 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "angle_cosine_squared_omp.h" -#include + #include "atom.h" #include "comm.h" #include "force.h" #include "neighbor.h" +#include + +#include "omp_compat.h" #include "suffix.h" using namespace LAMMPS_NS; From f6bdc05c242c39adf35e6acfa08674a6e27383f3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 30 Mar 2024 19:19:47 -0400 Subject: [PATCH 16/62] alternate fix to PR #4116 --- src/fix_ave_histo_weight.cpp | 228 +++++++++++++++++------------------ 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/src/fix_ave_histo_weight.cpp b/src/fix_ave_histo_weight.cpp index 7a5458bd3d..cccfc86d59 100644 --- a/src/fix_ave_histo_weight.cpp +++ b/src/fix_ave_histo_weight.cpp @@ -113,256 +113,256 @@ void FixAveHistoWeight::end_of_step() double weight = 0.0; double *weights = nullptr; int stride = 0; - auto &val = values[1]; - int j = val.argindex; + auto &val1 = values[1]; + int j = val1.argindex; // atom attributes - if (val.which == ArgInfo::X) { + if (val1.which == ArgInfo::X) { weights = &atom->x[0][j]; stride = 3; - } else if (val.which == ArgInfo::V) { + } else if (val1.which == ArgInfo::V) { weights = &atom->v[0][j]; stride = 3; bin_atoms(&atom->v[0][j],3); - } else if (val.which == ArgInfo::F) { + } else if (val1.which == ArgInfo::F) { weights = &atom->f[0][j]; stride = 3; } // invoke compute if not previously invoked - if (val.which == ArgInfo::COMPUTE) { + if (val1.which == ArgInfo::COMPUTE) { if (kind == GLOBAL && mode == SCALAR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { - val.val.c->compute_scalar(); - val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { + val1.val.c->compute_scalar(); + val1.val.c->invoked_flag |= Compute::INVOKED_SCALAR; } - weight = val.val.c->scalar; + weight = val1.val.c->scalar; } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val1.val.c->compute_vector(); + val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - weight = val.val.c->vector[j-1]; + weight = val1.val.c->vector[j-1]; } } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val1.val.c->compute_vector(); + val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - weights = val.val.c->vector; + weights = val1.val.c->vector; stride = 1; } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { - val.val.c->compute_array(); - val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { + val1.val.c->compute_array(); + val1.val.c->invoked_flag |= Compute::INVOKED_ARRAY; } - if (val.val.c->array) weights = &val.val.c->array[0][j-1]; - stride = val.val.c->size_array_cols; + if (val1.val.c->array) weights = &val1.val.c->array[0][j-1]; + stride = val1.val.c->size_array_cols; } } else if (kind == PERATOM) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { - val.val.c->compute_peratom(); - val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { + val1.val.c->compute_peratom(); + val1.val.c->invoked_flag |= Compute::INVOKED_PERATOM; } if (j == 0) { - weights = val.val.c->vector_atom; + weights = val1.val.c->vector_atom; stride = 1; - } else if (val.val.c->array_atom) { - weights = &val.val.c->array_atom[0][j-1]; - stride = val.val.c->size_peratom_cols; + } else if (val1.val.c->array_atom) { + weights = &val1.val.c->array_atom[0][j-1]; + stride = val1.val.c->size_peratom_cols; } } else if (kind == LOCAL) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { - val.val.c->compute_local(); - val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { + val1.val.c->compute_local(); + val1.val.c->invoked_flag |= Compute::INVOKED_LOCAL; } if (j == 0) { - weights = val.val.c->vector_local; + weights = val1.val.c->vector_local; stride = 1; - } else if (val.val.c->array_local) { - weights = &val.val.c->array_local[0][j-1]; - stride = val.val.c->size_local_cols; + } else if (val1.val.c->array_local) { + weights = &val1.val.c->array_local[0][j-1]; + stride = val1.val.c->size_local_cols; } } // access fix fields, guaranteed to be ready - } else if (val.which == ArgInfo::FIX) { + } else if (val1.which == ArgInfo::FIX) { if (kind == GLOBAL && mode == SCALAR) { - if (j == 0) weight = val.val.f->compute_scalar(); - else weight = val.val.f->compute_vector(j-1); + if (j == 0) weight = val1.val.f->compute_scalar(); + else weight = val1.val.f->compute_vector(j-1); } else if (kind == GLOBAL && mode == VECTOR) { error->all(FLERR,"Fix ave/histo/weight option not yet supported"); // NOTE: need to allocate local storage if (j == 0) { - int n = val.val.f->size_vector; - for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_vector(i); + int n = val1.val.f->size_vector; + for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_vector(i); } else { - int n = val.val.f->size_vector; - for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_array(i,j-1); + int n = val1.val.f->size_vector; + for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_array(i,j-1); } } else if (kind == PERATOM) { if (j == 0) { - weights = val.val.f->vector_atom; + weights = val1.val.f->vector_atom; stride = 1; - } else if (val.val.f->array_atom) { - weights = &val.val.f->array_atom[0][j-1]; - stride = val.val.f->size_peratom_cols; + } else if (val1.val.f->array_atom) { + weights = &val1.val.f->array_atom[0][j-1]; + stride = val1.val.f->size_peratom_cols; } } else if (kind == LOCAL) { if (j == 0) { - weights = val.val.f->vector_local; + weights = val1.val.f->vector_local; stride = 1; - } else if (val.val.f->array_local) { - weights = &val.val.f->array_local[0][j-1]; - stride = val.val.f->size_local_cols; + } else if (val1.val.f->array_local) { + weights = &val1.val.f->array_local[0][j-1]; + stride = val1.val.f->size_local_cols; } } // evaluate equal-style variable - } else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { - weight = input->variable->compute_equal(val.val.v); + } else if (val1.which == ArgInfo::VARIABLE && kind == GLOBAL) { + weight = input->variable->compute_equal(val1.val.v); - } else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { + } else if (val1.which == ArgInfo::VARIABLE && kind == PERATOM) { if (atom->nmax > maxatom) { memory->destroy(vector); maxatom = atom->nmax; memory->create(vector,maxatom,"ave/histo/weight:vector"); } - input->variable->compute_atom(val.val.v,igroup,vector,1,0); + input->variable->compute_atom(val1.val.v,igroup,vector,1,0); weights = vector; stride = 1; } // bin values using weights, values are 1st value (i = 0) - val = values[0]; - j = val.argindex; + auto &val0 = values[0]; + j = val0.argindex; // atom attributes - if (val.which == ArgInfo::X && weights != nullptr) + if (val0.which == ArgInfo::X && weights != nullptr) bin_atoms_weights(&atom->x[0][j],3,weights,stride); - else if (val.which == ArgInfo::V && weights != nullptr) + else if (val0.which == ArgInfo::V && weights != nullptr) bin_atoms_weights(&atom->v[0][j],3,weights,stride); - else if (val.which == ArgInfo::F && weights != nullptr) + else if (val0.which == ArgInfo::F && weights != nullptr) bin_atoms_weights(&atom->f[0][j],3,weights,stride); // invoke compute if not previously invoked - if (val.which == ArgInfo::COMPUTE) { + if (val0.which == ArgInfo::COMPUTE) { if (kind == GLOBAL && mode == SCALAR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { - val.val.c->compute_scalar(); - val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { + val0.val.c->compute_scalar(); + val0.val.c->invoked_flag |= Compute::INVOKED_SCALAR; } - bin_one_weights(val.val.c->scalar,weight); + bin_one_weights(val0.val.c->scalar,weight); } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val0.val.c->compute_vector(); + val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - bin_one_weights(val.val.c->vector[j-1],weight); + bin_one_weights(val0.val.c->vector[j-1],weight); } } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val0.val.c->compute_vector(); + val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - bin_vector_weights(val.val.c->size_vector,val.val.c->vector,1, + bin_vector_weights(val0.val.c->size_vector,val0.val.c->vector,1, weights,stride); } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { - val.val.c->compute_array(); - val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { + val0.val.c->compute_array(); + val0.val.c->invoked_flag |= Compute::INVOKED_ARRAY; } - if (val.val.c->array) - bin_vector_weights(val.val.c->size_array_rows,&val.val.c->array[0][j-1], - val.val.c->size_array_cols,weights,stride); + if (val0.val.c->array) + bin_vector_weights(val0.val.c->size_array_rows,&val0.val.c->array[0][j-1], + val0.val.c->size_array_cols,weights,stride); } } else if (kind == PERATOM) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { - val.val.c->compute_peratom(); - val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { + val0.val.c->compute_peratom(); + val0.val.c->invoked_flag |= Compute::INVOKED_PERATOM; } if (j == 0) - bin_atoms_weights(val.val.c->vector_atom,1,weights, stride); - else if (val.val.c->array_atom) - bin_atoms_weights(&val.val.c->array_atom[0][j-1], - val.val.c->size_peratom_cols,weights,stride); + bin_atoms_weights(val0.val.c->vector_atom,1,weights, stride); + else if (val0.val.c->array_atom) + bin_atoms_weights(&val0.val.c->array_atom[0][j-1], + val0.val.c->size_peratom_cols,weights,stride); } else if (kind == LOCAL) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { - val.val.c->compute_local(); - val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { + val0.val.c->compute_local(); + val0.val.c->invoked_flag |= Compute::INVOKED_LOCAL; } if (j == 0) - bin_vector_weights(val.val.c->size_local_rows, - val.val.c->vector_local,1,weights,stride); - else if (val.val.c->array_local) - bin_vector_weights(val.val.c->size_local_rows, - &val.val.c->array_local[0][j-1], - val.val.c->size_local_cols,weights,stride); + bin_vector_weights(val0.val.c->size_local_rows, + val0.val.c->vector_local,1,weights,stride); + else if (val0.val.c->array_local) + bin_vector_weights(val0.val.c->size_local_rows, + &val0.val.c->array_local[0][j-1], + val0.val.c->size_local_cols,weights,stride); } // access fix fields, guaranteed to be ready - } else if (val.which == ArgInfo::FIX) { + } else if (val0.which == ArgInfo::FIX) { if (kind == GLOBAL && mode == SCALAR) { - if (j == 0) bin_one_weights(val.val.f->compute_scalar(),weight); - else bin_one_weights(val.val.f->compute_vector(j-1),weight); + if (j == 0) bin_one_weights(val0.val.f->compute_scalar(),weight); + else bin_one_weights(val0.val.f->compute_vector(j-1),weight); } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - int n = val.val.f->size_vector; + int n = val0.val.f->size_vector; for (int i = 0; i < n; i++) - bin_one_weights(val.val.f->compute_vector(i),weights[i*stride]); + bin_one_weights(val0.val.f->compute_vector(i),weights[i*stride]); } else { - int n = val.val.f->size_vector; + int n = val0.val.f->size_vector; for (int i = 0; i < n; i++) - bin_one_weights(val.val.f->compute_array(i,j-1),weights[i*stride]); + bin_one_weights(val0.val.f->compute_array(i,j-1),weights[i*stride]); } } else if (kind == PERATOM) { if (j == 0) - bin_atoms_weights(val.val.f->vector_atom,1,weights,stride); - else if (val.val.f->array_atom) - bin_atoms_weights(&val.val.f->array_atom[0][j-1],val.val.f->size_peratom_cols, + bin_atoms_weights(val0.val.f->vector_atom,1,weights,stride); + else if (val0.val.f->array_atom) + bin_atoms_weights(&val0.val.f->array_atom[0][j-1],val0.val.f->size_peratom_cols, weights,stride); } else if (kind == LOCAL) { - if (j == 0) bin_vector_weights(val.val.f->size_local_rows,val.val.f->vector_local,1, + if (j == 0) bin_vector_weights(val0.val.f->size_local_rows,val0.val.f->vector_local,1, weights,stride); - else if (val.val.f->array_local) - bin_vector_weights(val.val.f->size_local_rows,&val.val.f->array_local[0][j-1], - val.val.f->size_local_cols,weights,stride); + else if (val0.val.f->array_local) + bin_vector_weights(val0.val.f->size_local_rows,&val0.val.f->array_local[0][j-1], + val0.val.f->size_local_cols,weights,stride); } // evaluate equal-style variable - } else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { - bin_one_weights(input->variable->compute_equal(val.val.v),weight); + } else if (val0.which == ArgInfo::VARIABLE && kind == GLOBAL) { + bin_one_weights(input->variable->compute_equal(val0.val.v),weight); - } else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { + } else if (val0.which == ArgInfo::VARIABLE && kind == PERATOM) { if (atom->nmax > maxatom) { memory->destroy(vector); maxatom = atom->nmax; memory->create(vector,maxatom,"ave/histo/weight:vector"); } - input->variable->compute_atom(val.val.v,igroup,vector,1,0); + input->variable->compute_atom(val0.val.v,igroup,vector,1,0); bin_atoms_weights(vector,1,weights,stride); } From ae6247d3be85e49f1243229b64ca92be108dcf74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 17:41:35 -0400 Subject: [PATCH 17/62] remove xdr_compat.h include and pimplify XDR struct, silence compiler warnings --- src/EXTRA-DUMP/dump_xtc.cpp | 45 ++++++++++++++++++++----------------- src/EXTRA-DUMP/dump_xtc.h | 4 ++-- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 798bdcb391..9d4ec1b9bb 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -35,6 +35,8 @@ #include "output.h" #include "update.h" +#include "xdr_compat.h" + #include #include #include @@ -47,15 +49,15 @@ using namespace LAMMPS_NS; #define MYMIN(a,b) ((a) < (b) ? (a) : (b)) #define MYMAX(a,b) ((a) > (b) ? (a) : (b)) -int xdropen(XDR *, const char *, const char *); -int xdrclose(XDR *); -void xdrfreebuf(); -int xdr3dfcoord(XDR *, float *, int *, float *); +static int xdropen(XDR *, const char *, const char *); +static int xdrclose(XDR *); +static void xdrfreebuf(); +static int xdr3dfcoord(XDR *, float *, int *, float *); /* ---------------------------------------------------------------------- */ -DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), - coords(nullptr) +DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) + : Dump(lmp, narg, arg), coords(nullptr), xd(nullptr) { if (narg != 5) error->all(FLERR,"Illegal dump xtc command"); if (binary || compressed || multifile || multiproc) @@ -68,6 +70,7 @@ DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), flush_flag = 0; unwrap_flag = 0; precision = 1000.0; + xd = new XDR; // allocate global array for atom coords @@ -105,9 +108,10 @@ DumpXTC::~DumpXTC() memory->destroy(coords); if (me == 0) { - xdrclose(&xd); + xdrclose(xd); xdrfreebuf(); } + delete xd; } /* ---------------------------------------------------------------------- */ @@ -150,7 +154,8 @@ void DumpXTC::openfile() fp = nullptr; if (me == 0) - if (xdropen(&xd,filename,"w") == 0) error->one(FLERR,"Cannot open dump file"); + if (xdropen(xd,filename,"w") == 0) + error->one(FLERR,"Cannot open XTC format dump file {}: {}", filename, utils::getsyserror()); } /* ---------------------------------------------------------------------- */ @@ -176,11 +181,11 @@ void DumpXTC::write_header(bigint nbig) if (me != 0) return; int tmp = XTC_MAGIC; - xdr_int(&xd,&tmp); - xdr_int(&xd,&n); - xdr_int(&xd,&ntimestep); + xdr_int(xd,&tmp); + xdr_int(xd,&n); + xdr_int(xd,&ntimestep); float time_value = ntimestep * tfactor * update->dt; - xdr_float(&xd,&time_value); + xdr_float(xd,&time_value); // cell basis vectors if (domain->triclinic) { @@ -192,18 +197,18 @@ void DumpXTC::write_header(bigint nbig) float xz = sfactor * domain->xz; float yz = sfactor * domain->yz; - xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); - xdr_float(&xd,&xy ); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); - xdr_float(&xd,&xz ); xdr_float(&xd,&yz ); xdr_float(&xd,&zdim); + xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero); + xdr_float(xd,&xy ); xdr_float(xd,&ydim); xdr_float(xd,&zero); + xdr_float(xd,&xz ); xdr_float(xd,&yz ); xdr_float(xd,&zdim); } else { float zero = 0.0; float xdim = sfactor * (domain->boxhi[0] - domain->boxlo[0]); float ydim = sfactor * (domain->boxhi[1] - domain->boxlo[1]); float zdim = sfactor * (domain->boxhi[2] - domain->boxlo[2]); - xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); - xdr_float(&xd,&zero); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); - xdr_float(&xd,&zero); xdr_float(&xd,&zero); xdr_float(&xd,&zdim); + xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero); + xdr_float(xd,&zero); xdr_float(xd,&ydim); xdr_float(xd,&zero); + xdr_float(xd,&zero); xdr_float(xd,&zero); xdr_float(xd,&zdim); } } @@ -328,7 +333,7 @@ double DumpXTC::memory_usage() void DumpXTC::write_frame() { - xdr3dfcoord(&xd,coords,&natoms,&precision); + xdr3dfcoord(xd,coords,&natoms,&precision); } // ---------------------------------------------------------------------- @@ -406,7 +411,7 @@ static int magicints[] = { | | xdropen - open xdr file | - | This versions differs from xdrstdio_create, because I need to know + | This version differs from xdrstdio_create, because I need to know | the state of the file (read or write) so I can use xdr3dfcoord | in eigther read or write mode, and the file descriptor | so I can close the file (something xdr_destroy doesn't do). diff --git a/src/EXTRA-DUMP/dump_xtc.h b/src/EXTRA-DUMP/dump_xtc.h index 74147be06b..0a27cc67dd 100644 --- a/src/EXTRA-DUMP/dump_xtc.h +++ b/src/EXTRA-DUMP/dump_xtc.h @@ -21,8 +21,8 @@ DumpStyle(xtc,DumpXTC); #define LMP_DUMP_XTC_H #include "dump.h" -#include "xdr_compat.h" +struct XDR; namespace LAMMPS_NS { class DumpXTC : public Dump { @@ -37,7 +37,7 @@ class DumpXTC : public Dump { float precision; // user-adjustable precision setting float *coords; double sfactor, tfactor; // scaling factors for positions and time unit - XDR xd; + XDR *xd; void init_style() override; int modify_param(int, char **) override; From 0cdbcc801ef72ef9017a5e9aeae24c68e4f1dd87 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 17:42:41 -0400 Subject: [PATCH 18/62] switch to BSD 3-clause licensed XDR version, use c++11 portability, cleanups --- src/EXTRA-DUMP/xdr_compat.cpp | 258 +++++++++++++++++----------------- src/EXTRA-DUMP/xdr_compat.h | 106 +++++--------- 2 files changed, 164 insertions(+), 200 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index e29bbe8334..0d1e38d901 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -3,52 +3,68 @@ #include #include -/* This file is needed for systems, that do not provide XDR support - * in their system libraries. It was written for windows, but will - * most probably work on other platforms too. better make sure you - * test that the xtc files produced are ok before using it. +/* + * This file contains an implementation of the Sun External Data Representation (XDR) + * routines. They have been adapted specifically for the use with the LAMMPS xtc dump + * style to produce compressed trajectory files in the Gromacs XTC format. * - * It is also needed on BG/L and Cray XT3/XT4 as we don't have - * XDR support in the lightweight kernel runtimes either. + * The XDR sources are avaiable under the BSD 3-clause license for example in + * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * This file contains the definitions for Sun External Data - * Representation (XDR) headers and routines. + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * - * Although the rest of LAMPPS is GPL, you can copy and use the XDR - * routines in any way you want as long as you obey Sun's license: + * Copyright (c) 2010, Oracle America, Inc. * - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. + * All rights reserved. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. + * * Neither the name of the "Oracle America, Inc." nor the names of + * its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef __cplusplus extern "C" { #endif +/* compatibility typedefs */ +#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ + defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) +typedef char *caddr_t; +typedef unsigned int u_int; +#endif + +#ifndef FALSE +#define FALSE (0) +#endif +#ifndef TRUE +#define TRUE (1) +#endif + +#define BYTES_PER_XDR_UNIT (4) + /* * for unit alignment */ @@ -96,20 +112,18 @@ static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) * Free a data structure using XDR * Not a filter, but a convenient utility nonetheless */ -void -xdr_free (xdrproc_t proc, char *objp) +void xdr_free(xdrproc_t proc, char *objp) { XDR x; x.x_op = XDR_FREE; - (*proc) (&x, objp); + (*proc)(&x, objp); } /* * XDR nothing */ -bool_t -xdr_void (void) +bool_t xdr_void(void) { return TRUE; } @@ -117,23 +131,21 @@ xdr_void (void) /* * XDR integers */ -bool_t -xdr_int (XDR *xdrs, int *ip) +bool_t xdr_int(XDR *xdrs, int *ip) { xdr_int32_t l; switch (xdrs->x_op) { case XDR_ENCODE: - l = (xdr_int32_t) (*ip); - return xdr_putint32 (xdrs, &l); + l = (xdr_int32_t)(*ip); + return xdr_putint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getint32 (xdrs, &l)) - { + if (!xdr_getint32(xdrs, &l)) return FALSE; - } *ip = (int) l; + return TRUE; case XDR_FREE: return TRUE; @@ -145,23 +157,21 @@ xdr_int (XDR *xdrs, int *ip) /* * XDR unsigned integers */ -bool_t -xdr_u_int (XDR *xdrs, unsigned int *up) +bool_t xdr_u_int(XDR *xdrs, unsigned int *up) { xdr_uint32_t l; switch (xdrs->x_op) { case XDR_ENCODE: - l = (xdr_uint32_t) (*up); - return xdr_putuint32 (xdrs, &l); + l = (xdr_uint32_t)(*up); + return xdr_putuint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getuint32 (xdrs, &l)) - { + if (!xdr_getuint32(xdrs, &l)) return FALSE; - } *up = (unsigned int) l; + return TRUE; case XDR_FREE: return TRUE; @@ -176,7 +186,7 @@ xdr_u_int (XDR *xdrs, unsigned int *up) * XDR short integers */ bool_t -xdr_short (XDR *xdrs, short *sp) +xdr_short(XDR *xdrs, short *sp) { xdr_int32_t l; @@ -184,10 +194,10 @@ xdr_short (XDR *xdrs, short *sp) { case XDR_ENCODE: l = (xdr_int32_t) *sp; - return xdr_putint32 (xdrs, &l); + return xdr_putint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getint32 (xdrs, &l)) + if (!xdr_getint32(xdrs, &l)) { return FALSE; } @@ -205,7 +215,7 @@ xdr_short (XDR *xdrs, short *sp) * XDR unsigned short integers */ bool_t -xdr_u_short (XDR *xdrs, unsigned short *usp) +xdr_u_short(XDR *xdrs, unsigned short *usp) { xdr_uint32_t l; @@ -213,10 +223,10 @@ xdr_u_short (XDR *xdrs, unsigned short *usp) { case XDR_ENCODE: l = (xdr_uint32_t) *usp; - return xdr_putuint32 (xdrs, &l); + return xdr_putuint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getuint32 (xdrs, &l)) + if (!xdr_getuint32(xdrs, &l)) { return FALSE; } @@ -234,12 +244,12 @@ xdr_u_short (XDR *xdrs, unsigned short *usp) * XDR a char */ bool_t -xdr_char (XDR *xdrs, char *cp) +xdr_char(XDR *xdrs, char *cp) { int i; i = (*cp); - if (!xdr_int (xdrs, &i)) + if (!xdr_int(xdrs, &i)) { return FALSE; } @@ -251,12 +261,12 @@ xdr_char (XDR *xdrs, char *cp) * XDR an unsigned char */ bool_t -xdr_u_char (XDR *xdrs, unsigned char *cp) +xdr_u_char(XDR *xdrs, unsigned char *cp) { unsigned int u; u = (*cp); - if (!xdr_u_int (xdrs, &u)) + if (!xdr_u_int(xdrs, &u)) { return FALSE; } @@ -268,7 +278,7 @@ xdr_u_char (XDR *xdrs, unsigned char *cp) * XDR booleans */ bool_t -xdr_bool (XDR *xdrs, int *bp) +xdr_bool(XDR *xdrs, int *bp) { #define XDR_FALSE ((xdr_int32_t) 0) #define XDR_TRUE ((xdr_int32_t) 1) @@ -279,10 +289,10 @@ xdr_bool (XDR *xdrs, int *bp) { case XDR_ENCODE: lb = *bp ? XDR_TRUE : XDR_FALSE; - return xdr_putint32 (xdrs, &lb); + return xdr_putint32(xdrs, &lb); case XDR_DECODE: - if (!xdr_getint32 (xdrs, &lb)) + if (!xdr_getint32(xdrs, &lb)) { return FALSE; } @@ -305,7 +315,7 @@ xdr_bool (XDR *xdrs, int *bp) * cp points to the opaque object and cnt gives the byte length. */ bool_t -xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) +xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) { unsigned int rndup; static char crud[BYTES_PER_XDR_UNIT]; @@ -326,22 +336,22 @@ xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) switch (xdrs->x_op) { case XDR_DECODE: - if (!xdr_getbytes (xdrs, cp, cnt)) + if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; - return xdr_getbytes (xdrs, (char *)crud, rndup); + return xdr_getbytes(xdrs, (char *)crud, rndup); case XDR_ENCODE: - if (!xdr_putbytes (xdrs, cp, cnt)) + if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; - return xdr_putbytes (xdrs, xdr_zero, rndup); + return xdr_putbytes(xdrs, xdr_zero, rndup); case XDR_FREE: return TRUE; @@ -359,7 +369,7 @@ xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) * of the string as specified by a protocol. */ bool_t -xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) +xdr_string(XDR *xdrs, char **cpp, unsigned int maxsize) { char *sp = *cpp; /* sp is the actual string pointer */ unsigned int size = 0; @@ -379,13 +389,13 @@ xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) case XDR_ENCODE: if (sp == nullptr) return FALSE; - size = strlen (sp); + size = strlen(sp); break; case XDR_DECODE: break; } - if (!xdr_u_int (xdrs, &size)) + if (!xdr_u_int(xdrs, &size)) { return FALSE; } @@ -406,20 +416,20 @@ xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) return TRUE; } if (sp == nullptr) - *cpp = sp = (char *) malloc (nodesize); + *cpp = sp = (char *) malloc(nodesize); if (sp == nullptr) { - (void) fputs ("xdr_string: out of memory\n", stderr); + (void) fputs("xdr_string: out of memory\n", stderr); return FALSE; } sp[size] = 0; - /* fall into ... */ + return xdr_opaque(xdrs, sp, size); case XDR_ENCODE: - return xdr_opaque (xdrs, sp, size); + return xdr_opaque(xdrs, sp, size); case XDR_FREE: - free (sp); + free(sp); *cpp = nullptr; return TRUE; } @@ -446,15 +456,15 @@ xdr_float(XDR *xdrs, float *fp) case XDR_DECODE: if (xdr_getint32(xdrs, &tmp)) { *(xdr_int32_t *)fp = tmp; - return (TRUE); + return TRUE; } break; case XDR_FREE: - return (TRUE); + return TRUE; } - return (FALSE); + return FALSE; } @@ -515,15 +525,15 @@ xdr_double(XDR *xdrs, double *dp) xdr_getint32(xdrs, tmp+LSW)) { ip[0] = tmp[0]; ip[1] = tmp[1]; - return (TRUE); + return TRUE; } break; case XDR_FREE: - return (TRUE); + return TRUE; } - return (FALSE); + return FALSE; } @@ -540,7 +550,7 @@ xdr_double(XDR *xdrs, double *dp) * > xdr_elem: routine to XDR each element */ bool_t -xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, +xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, xdrproc_t xdr_elem) { #define LASTUNSIGNED ((unsigned int)0-1) @@ -550,7 +560,7 @@ xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, elptr = basep; for (i = 0; i < nelem; i++) { - if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED)) + if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) { return FALSE; } @@ -560,18 +570,16 @@ xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, #undef LASTUNSIGNED } - - -static bool_t xdrstdio_getbytes (XDR *, char *, unsigned int); -static bool_t xdrstdio_putbytes (XDR *, char *, unsigned int); -static unsigned int xdrstdio_getpos (XDR *); -static bool_t xdrstdio_setpos (XDR *, unsigned int); -static xdr_int32_t *xdrstdio_inline (XDR *, int); -static void xdrstdio_destroy (XDR *); -static bool_t xdrstdio_getint32 (XDR *, xdr_int32_t *); -static bool_t xdrstdio_putint32 (XDR *, xdr_int32_t *); -static bool_t xdrstdio_getuint32 (XDR *, xdr_uint32_t *); -static bool_t xdrstdio_putuint32 (XDR *, xdr_uint32_t *); +static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int); +static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int); +static unsigned int xdrstdio_getpos(XDR *); +static bool_t xdrstdio_setpos(XDR *, unsigned int); +static xdr_int32_t *xdrstdio_inline(XDR *, int); +static void xdrstdio_destroy(XDR *); +static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *); +static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); +static bool_t xdrstdio_getuint32(XDR *, xdr_uint32_t *); +static bool_t xdrstdio_putuint32(XDR *, xdr_uint32_t *); /* * Ops vector for stdio type XDR @@ -595,8 +603,7 @@ static const struct xdr_ops xdrstdio_ops = * Sets the xdr stream handle xdrs for use on the stream file. * Operation flag is set to op. */ -void -xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op) +void xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op) { xdrs->x_op = op; /* We have to add the const since the `struct xdr_ops' in `struct XDR' @@ -611,46 +618,38 @@ xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op) * Destroy a stdio xdr stream. * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create. */ -static void -xdrstdio_destroy (XDR *xdrs) +static void xdrstdio_destroy(XDR *xdrs) { - (void) fflush ((FILE *) xdrs->x_private); + (void) fflush((FILE *) xdrs->x_private); /* xx should we close the file ?? */ } -static bool_t -xdrstdio_getbytes (XDR *xdrs, char *addr, unsigned int len) +static bool_t xdrstdio_getbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fread (addr, (int) len, 1, - (FILE *) xdrs->x_private) != 1)) + if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } -static bool_t -xdrstdio_putbytes (XDR *xdrs, char *addr, unsigned int len) +static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fwrite (addr, (int) len, 1, - (FILE *) xdrs->x_private) != 1)) + if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } -static unsigned int -xdrstdio_getpos (XDR *xdrs) +static unsigned int xdrstdio_getpos(XDR *xdrs) { - return (unsigned int) ftell ((FILE *) xdrs->x_private); + return (unsigned int) ftell((FILE *) xdrs->x_private); } -static bool_t -xdrstdio_setpos (XDR *xdrs, unsigned int pos) +static bool_t xdrstdio_setpos(XDR *xdrs, unsigned int pos) { - return fseek ((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; + return fseek((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; } -static xdr_int32_t * -xdrstdio_inline (XDR * /*xdrs*/, int /*len*/) +static xdr_int32_t *xdrstdio_inline(XDR * /*xdrs*/, int /*len*/) { /* * Must do some work to implement this: must ensure @@ -664,46 +663,42 @@ xdrstdio_inline (XDR * /*xdrs*/, int /*len*/) return nullptr; } -static bool_t -xdrstdio_getint32 (XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; - if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; - *ip = xdr_ntohl (mycopy); + *ip = xdr_ntohl(mycopy); return TRUE; } -static bool_t -xdrstdio_putint32 (XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) { - xdr_int32_t mycopy = xdr_htonl (*ip); + xdr_int32_t mycopy = xdr_htonl(*ip); ip = &mycopy; - if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } -static bool_t -xdrstdio_getuint32 (XDR *xdrs, xdr_uint32_t *ip) +static bool_t xdrstdio_getuint32(XDR *xdrs, xdr_uint32_t *ip) { xdr_uint32_t mycopy; - if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; *ip = xdr_ntohl (mycopy); return TRUE; } -static bool_t -xdrstdio_putuint32 (XDR *xdrs, xdr_uint32_t *ip) +static bool_t xdrstdio_putuint32(XDR *xdrs, xdr_uint32_t *ip) { xdr_uint32_t mycopy = xdr_htonl (*ip); ip = &mycopy; - if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } @@ -711,4 +706,3 @@ xdrstdio_putuint32 (XDR *xdrs, xdr_uint32_t *ip) #ifdef __cplusplus } #endif - diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index 55dc22e9f9..b63e13f6d8 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -1,7 +1,7 @@ #ifndef LMP_XDR_COMPAT_H #define LMP_XDR_COMPAT_H -#include +#include #include #ifdef __cplusplus @@ -9,47 +9,53 @@ extern "C" { #endif /* - * This file is needed for systems, that do not provide XDR support - * in their system libraries. It was written for windows, but will - * most probably work on other platforms too. better make sure you - * test that the xtc files produced are ok before using it. + * This file contains the definitions for Sun External Data Representation (XDR). + * They have been adapted specifically for the use with the LAMMPS xtc dump style + * to produce compressed trajectory files in the Gromacs XTC format. * - * It is also needed on BG/L, BG/P and Cray XT3/XT4/XT5 as we don't - * have XDR support in the lightweight kernel runtimes either. + * The XDR sources are avaiable under the BSD 3-clause license for example in + * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * This file contains the definitions for Sun External Data - * Representation (XDR) headers and routines. + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * - * Although the rest of LAMPPS is GPL, you can copy and use the XDR - * routines in any way you want as long as you obey Sun's license: - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * All rights reserved. * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * * Neither the name of the "Oracle America, Inc." nor the names of + * its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* compatibility typedefs */ +typedef int bool_t; + +typedef int32_t xdr_int32_t; +typedef uint32_t xdr_uint32_t; + /* * Xdr operations. XDR_ENCODE causes the type to be encoded into the * stream. XDR_DECODE causes the type to be extracted from the stream. @@ -57,44 +63,8 @@ extern "C" { * XDR_DECODE request. */ -typedef int bool_t; - -#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ - defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) -typedef char *caddr_t; -typedef unsigned int u_int; -#endif - -/* - * Aninteger type that is 32 bits wide. Check if int, - * long or short is 32 bits and die if none of them is :-) - */ -#if (INT_MAX == 2147483647) -typedef int xdr_int32_t; -typedef unsigned int xdr_uint32_t; -#elif (LONG_MAX == 2147483647L) -typedef long xdr_int32_t; -typedef unsigned long xdr_uint32_t; -#elif (SHRT_MAX == 2147483647) -typedef short xdr_int32_t; -typedef unsigned short xdr_uint32_t; -#else -#error ERROR: No 32 bit wide integer type found! -#endif - enum xdr_op { XDR_ENCODE = 0, XDR_DECODE = 1, XDR_FREE = 2 }; -#ifndef FALSE -#define FALSE (0) -#endif -#ifndef TRUE -#define TRUE (1) -#endif - -#define BYTES_PER_XDR_UNIT (4) -/* Macro to round up to units of 4. */ -#define XDR_RNDUP(x) (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1)) - /* * The XDR handle. * Contains operation which is being applied to the stream, From ff91728587bc995f2a0a07e76ea25aa1abc8f161 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 18:09:40 -0400 Subject: [PATCH 19/62] reduce XDR compatibility code to only those routines that are used by dump xtc --- src/EXTRA-DUMP/xdr_compat.cpp | 400 +--------------------------------- src/EXTRA-DUMP/xdr_compat.h | 45 +--- 2 files changed, 14 insertions(+), 431 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index 0d1e38d901..e69a2b72e9 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -107,27 +107,6 @@ static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) } } - -/* - * Free a data structure using XDR - * Not a filter, but a convenient utility nonetheless - */ -void xdr_free(xdrproc_t proc, char *objp) -{ - XDR x; - - x.x_op = XDR_FREE; - (*proc)(&x, objp); -} - -/* - * XDR nothing - */ -bool_t xdr_void(void) -{ - return TRUE; -} - /* * XDR integers */ @@ -153,169 +132,12 @@ bool_t xdr_int(XDR *xdrs, int *ip) return FALSE; } - -/* - * XDR unsigned integers - */ -bool_t xdr_u_int(XDR *xdrs, unsigned int *up) -{ - xdr_uint32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_uint32_t)(*up); - return xdr_putuint32(xdrs, &l); - - case XDR_DECODE: - if (!xdr_getuint32(xdrs, &l)) - return FALSE; - *up = (unsigned int) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - - - -/* - * XDR short integers - */ -bool_t -xdr_short(XDR *xdrs, short *sp) -{ - xdr_int32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_int32_t) *sp; - return xdr_putint32(xdrs, &l); - - case XDR_DECODE: - if (!xdr_getint32(xdrs, &l)) - { - return FALSE; - } - *sp = (short) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR unsigned short integers - */ -bool_t -xdr_u_short(XDR *xdrs, unsigned short *usp) -{ - xdr_uint32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_uint32_t) *usp; - return xdr_putuint32(xdrs, &l); - - case XDR_DECODE: - if (!xdr_getuint32(xdrs, &l)) - { - return FALSE; - } - *usp = (unsigned short) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR a char - */ -bool_t -xdr_char(XDR *xdrs, char *cp) -{ - int i; - - i = (*cp); - if (!xdr_int(xdrs, &i)) - { - return FALSE; - } - *cp = i; - return TRUE; -} - -/* - * XDR an unsigned char - */ -bool_t -xdr_u_char(XDR *xdrs, unsigned char *cp) -{ - unsigned int u; - - u = (*cp); - if (!xdr_u_int(xdrs, &u)) - { - return FALSE; - } - *cp = u; - return TRUE; -} - -/* - * XDR booleans - */ -bool_t -xdr_bool(XDR *xdrs, int *bp) -{ -#define XDR_FALSE ((xdr_int32_t) 0) -#define XDR_TRUE ((xdr_int32_t) 1) - - xdr_int32_t lb; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - lb = *bp ? XDR_TRUE : XDR_FALSE; - return xdr_putint32(xdrs, &lb); - - case XDR_DECODE: - if (!xdr_getint32(xdrs, &lb)) - { - return FALSE; - } - *bp = (lb == XDR_FALSE) ? FALSE : TRUE; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -#undef XDR_FALSE -#undef XDR_TRUE -} - - - /* * XDR opaque data * Allows the specification of a fixed size sequence of opaque bytes. * cp points to the opaque object and cnt gives the byte length. */ -bool_t -xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) +bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) { unsigned int rndup; static char crud[BYTES_PER_XDR_UNIT]; @@ -360,88 +182,9 @@ xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) } -/* - * XDR null terminated ASCII strings - * xdr_string deals with "C strings" - arrays of bytes that are - * terminated by a nullptr character. The parameter cpp references a - * pointer to storage; If the pointer is null, then the necessary - * storage is allocated. The last parameter is the max allowed length - * of the string as specified by a protocol. - */ -bool_t -xdr_string(XDR *xdrs, char **cpp, unsigned int maxsize) -{ - char *sp = *cpp; /* sp is the actual string pointer */ - unsigned int size = 0; - unsigned int nodesize = 0; - - /* - * first deal with the length since xdr strings are counted-strings - */ - switch (xdrs->x_op) - { - case XDR_FREE: - if (sp == nullptr) - { - return TRUE; /* already free */ - } - /* fall through... */ - case XDR_ENCODE: - if (sp == nullptr) - return FALSE; - size = strlen(sp); - break; - case XDR_DECODE: - break; - } - - if (!xdr_u_int(xdrs, &size)) - { - return FALSE; - } - if (size > maxsize) - { - return FALSE; - } - nodesize = size + 1; - - /* - * now deal with the actual bytes - */ - switch (xdrs->x_op) - { - case XDR_DECODE: - if (nodesize == 0) - { - return TRUE; - } - if (sp == nullptr) - *cpp = sp = (char *) malloc(nodesize); - if (sp == nullptr) - { - (void) fputs("xdr_string: out of memory\n", stderr); - return FALSE; - } - sp[size] = 0; - return xdr_opaque(xdrs, sp, size); - - case XDR_ENCODE: - return xdr_opaque(xdrs, sp, size); - - case XDR_FREE: - free(sp); - *cpp = nullptr; - return TRUE; - } - return FALSE; -} - - - /* Floating-point stuff */ -bool_t -xdr_float(XDR *xdrs, float *fp) +bool_t xdr_float(XDR *xdrs, float *fp) { xdr_int32_t tmp; @@ -467,76 +210,6 @@ xdr_float(XDR *xdrs, float *fp) return FALSE; } - -bool_t -xdr_double(XDR *xdrs, double *dp) -{ - - /* Windows and some other systems dont define double-precision - * word order in the header files, so unfortunately we have - * to calculate it! - */ - static int LSW=-1; /* Least significant fp word */ - int *ip; - xdr_int32_t tmp[2]; - - if (LSW<0) { - double x=0.987654321; /* Just a number */ - - /* Possible representations in IEEE double precision: - * (S=small endian, B=big endian) - * - * Byte order, Word order, Hex - * S S b8 56 0e 3c dd 9a ef 3f - * B S 3c 0e 56 b8 3f ef 9a dd - * S B dd 9a ef 3f b8 56 0e 3c - * B B 3f ef 9a dd 3c 0e 56 b8 - */ - - unsigned char ix = *((char *)&x); - - if (ix==0xdd || ix==0x3f) - LSW=1; /* Big endian word order */ - else if (ix==0xb8 || ix==0x3c) - LSW=0; /* Small endian word order */ - else { /* Catch strange errors */ - printf("Error when detecting floating-point word order.\n" - "Do you have a non-IEEE system?\n" - "If possible, use the XDR libraries provided with your system,\n" - "instead of the Gromacs fallback XDR source.\n"); - exit(0); - } - } - - switch (xdrs->x_op) { - - case XDR_ENCODE: - ip = (int *)dp; - tmp[0] = ip[!LSW]; - tmp[1] = ip[LSW]; - return (xdr_putint32(xdrs, tmp) && - xdr_putint32(xdrs, tmp+1)); - - break; - - case XDR_DECODE: - ip = (int *)dp; - if (xdr_getint32(xdrs, tmp+!LSW) && - xdr_getint32(xdrs, tmp+LSW)) { - ip[0] = tmp[0]; - ip[1] = tmp[1]; - return TRUE; - } - - break; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - /* Array routines */ /* @@ -549,8 +222,7 @@ xdr_double(XDR *xdrs, double *dp) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t -xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, +bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, xdrproc_t xdr_elem) { #define LASTUNSIGNED ((unsigned int)0-1) @@ -572,30 +244,20 @@ xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int); static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int); -static unsigned int xdrstdio_getpos(XDR *); -static bool_t xdrstdio_setpos(XDR *, unsigned int); -static xdr_int32_t *xdrstdio_inline(XDR *, int); static void xdrstdio_destroy(XDR *); static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *); static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); -static bool_t xdrstdio_getuint32(XDR *, xdr_uint32_t *); -static bool_t xdrstdio_putuint32(XDR *, xdr_uint32_t *); /* * Ops vector for stdio type XDR */ static const struct xdr_ops xdrstdio_ops = { - xdrstdio_getbytes, /* deserialize counted bytes */ - xdrstdio_putbytes, /* serialize counted bytes */ - xdrstdio_getpos, /* get offset in the stream */ - xdrstdio_setpos, /* set offset in the stream */ - xdrstdio_inline, /* prime stream for inline macros */ - xdrstdio_destroy, /* destroy stream */ - xdrstdio_getint32, /* deserialize a int */ - xdrstdio_putint32, /* serialize a int */ - xdrstdio_getuint32, /* deserialize a int */ - xdrstdio_putuint32 /* serialize a int */ + xdrstdio_getbytes, /* deserialize counted bytes */ + xdrstdio_putbytes, /* serialize counted bytes */ + xdrstdio_destroy, /* destroy stream */ + xdrstdio_getint32, /* deserialize a int */ + xdrstdio_putint32, /* serialize a int */ }; /* @@ -639,31 +301,7 @@ static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) return TRUE; } -static unsigned int xdrstdio_getpos(XDR *xdrs) -{ - return (unsigned int) ftell((FILE *) xdrs->x_private); -} - -static bool_t xdrstdio_setpos(XDR *xdrs, unsigned int pos) -{ - return fseek((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; -} - -static xdr_int32_t *xdrstdio_inline(XDR * /*xdrs*/, int /*len*/) -{ - /* - * Must do some work to implement this: must ensure - * enough data in the underlying stdio buffer, - * that the buffer is aligned so that we can indirect through a - * long *, and stuff this pointer in xdrs->x_buf. Doing - * a fread or fwrite to a scratch buffer would defeat - * most of the gains to be had here and require storage - * management on this buffer, so we don't do this. - */ - return nullptr; -} - -static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) + static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; @@ -683,26 +321,6 @@ static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) return TRUE; } -static bool_t xdrstdio_getuint32(XDR *xdrs, xdr_uint32_t *ip) -{ - xdr_uint32_t mycopy; - - if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - *ip = xdr_ntohl (mycopy); - return TRUE; -} - -static bool_t xdrstdio_putuint32(XDR *xdrs, xdr_uint32_t *ip) -{ - xdr_uint32_t mycopy = xdr_htonl (*ip); - - ip = &mycopy; - if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - return TRUE; -} - #ifdef __cplusplus } #endif diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index b63e13f6d8..fdac35ea9c 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -83,26 +83,16 @@ struct XDR { }; struct xdr_ops { + /* get some bytes from XDR stream */ bool_t (*x_getbytes)(XDR *__xdrs, char *__addr, unsigned int __len); - /* get some bytes from " */ + /* put some bytes to XDR stream */ bool_t (*x_putbytes)(XDR *__xdrs, char *__addr, unsigned int __len); - /* put some bytes to " */ - unsigned int (*x_getpostn)(XDR *__xdrs); - /* returns bytes off from beginning */ - bool_t (*x_setpostn)(XDR *__xdrs, unsigned int __pos); - /* lets you reposition the stream */ - xdr_int32_t *(*x_inline)(XDR *__xdrs, int __len); - /* buf quick ptr to buffered data */ - void (*x_destroy)(XDR *__xdrs); /* free privates of this xdr_stream */ + void (*x_destroy)(XDR *__xdrs); + /* get a int from XDR stream */ bool_t (*x_getint32)(XDR *__xdrs, xdr_int32_t *__ip); - /* get a int from underlying stream */ + /* put a int to XDR stream */ bool_t (*x_putint32)(XDR *__xdrs, xdr_int32_t *__ip); - /* put a int to " */ - bool_t (*x_getuint32)(XDR *__xdrs, xdr_uint32_t *__ip); - /* get a unsigned int from underlying stream */ - bool_t (*x_putuint32)(XDR *__xdrs, xdr_uint32_t *__ip); - /* put a int to " */ }; /* @@ -128,46 +118,21 @@ typedef bool_t (*xdrproc_t)(XDR *, void *, ...); */ #define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) - #define xdr_putint32(xdrs, int32p) (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) - -#define xdr_getuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_getuint32)(xdrs, uint32p) - -#define xdr_putuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_putuint32)(xdrs, uint32p) - #define xdr_getbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) - #define xdr_putbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) - -#define xdr_getpos(xdrs) (*(xdrs)->x_ops->x_getpostn)(xdrs) - -#define xdr_setpos(xdrs, pos) (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) - -#define xdr_inline(xdrs, len) (*(xdrs)->x_ops->x_inline)(xdrs, len) - #define xdr_destroy(xdrs) \ do { \ if ((xdrs)->x_ops->x_destroy) (*(xdrs)->x_ops->x_destroy)(xdrs); \ } while (0) extern bool_t xdr_int(XDR *__xdrs, int *__ip); -extern bool_t xdr_u_int(XDR *__xdrs, unsigned int *__ip); -extern bool_t xdr_short(XDR *__xdrs, short *__ip); -extern bool_t xdr_u_short(XDR *__xdrs, unsigned short *__ip); -extern bool_t xdr_bool(XDR *__xdrs, int *__bp); extern bool_t xdr_opaque(XDR *__xdrs, char *__cp, unsigned int __cnt); -extern bool_t xdr_string(XDR *__xdrs, char **__cpp, unsigned int __maxsize); -extern bool_t xdr_char(XDR *__xdrs, char *__cp); -extern bool_t xdr_u_char(XDR *__xdrs, unsigned char *__cp); extern bool_t xdr_vector(XDR *__xdrs, char *__basep, unsigned int __nelem, unsigned int __elemsize, xdrproc_t __xdr_elem); extern bool_t xdr_float(XDR *__xdrs, float *__fp); -extern bool_t xdr_double(XDR *__xdrs, double *__dp); extern void xdrstdio_create(XDR *__xdrs, FILE *__file, enum xdr_op __xop); -/* free memory buffers for xdr */ -extern void xdr_free(xdrproc_t __proc, char *__objp); - #ifdef __cplusplus } #endif From 0296ca75fb2295432e300764f132c69b927193f2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 18:20:11 -0400 Subject: [PATCH 20/62] remove tabs --- src/EXTRA-DUMP/xdr_compat.cpp | 2 +- src/EXTRA-DUMP/xdr_compat.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index e69a2b72e9..f55a415b7d 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -11,7 +11,7 @@ * The XDR sources are avaiable under the BSD 3-clause license for example in * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * * Copyright (c) 2010, Oracle America, Inc. * diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index fdac35ea9c..4f41ade0a0 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -16,7 +16,7 @@ extern "C" { * The XDR sources are avaiable under the BSD 3-clause license for example in * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * * Copyright (c) 2010, Oracle America, Inc. * From 3da6a7bdb085d88334b235a6ac9c09f2eafe100f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 19:29:09 -0400 Subject: [PATCH 21/62] eliminate compatibility typedefs --- src/EXTRA-DUMP/dump_xtc.cpp | 4 ++-- src/EXTRA-DUMP/xdr_compat.cpp | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 9d4ec1b9bb..3d84ff67ef 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -1053,7 +1053,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision) } if (buf[1] != 0) buf[0]++; xdr_int(xdrs, &(buf[0])); /* buf[0] holds the length in bytes */ - return errval * (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0])); + return errval * (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0])); } else { /* xdrs is open for reading */ @@ -1134,7 +1134,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision) if (xdr_int(xdrs, &(buf[0])) == 0) return 0; - if (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0]) == 0) + if (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0]) == 0) return 0; buf[0] = buf[1] = buf[2] = 0; diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index f55a415b7d..0c8ba199ce 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -49,13 +49,6 @@ extern "C" { #endif -/* compatibility typedefs */ -#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ - defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) -typedef char *caddr_t; -typedef unsigned int u_int; -#endif - #ifndef FALSE #define FALSE (0) #endif From 051c8185969bacd2b6ebe6dabc40f65c60179afb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 19:39:21 -0400 Subject: [PATCH 22/62] enable and apply clang-format --- src/EXTRA-DUMP/xdr_compat.cpp | 133 ++++++++++++++-------------------- 1 file changed, 54 insertions(+), 79 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index 0c8ba199ce..c37f821a4e 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -1,5 +1,5 @@ -// clang-format off #include "xdr_compat.h" + #include #include @@ -67,19 +67,18 @@ static xdr_uint32_t xdr_swapbytes(xdr_uint32_t x) { xdr_uint32_t y; int i; - char *px=(char *)&x; - char *py=(char *)&y; + char *px = (char *) &x; + char *py = (char *) &y; - for (i=0;i<4;i++) - py[i]=px[3-i]; + for (i = 0; i < 4; i++) py[i] = px[3 - i]; return y; } static xdr_uint32_t xdr_htonl(xdr_uint32_t x) { - short s=0x0F00; - if (*((char *)&s)==(char)0x0F) { + short s = 0x0F00; + if (*((char *) &s) == (char) 0x0F) { /* bigendian, do nothing */ return x; } else { @@ -90,8 +89,8 @@ static xdr_uint32_t xdr_htonl(xdr_uint32_t x) static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) { - short s=0x0F00; - if (*((char *)&s)==(char)0x0F) { + short s = 0x0F00; + if (*((char *) &s) == (char) 0x0F) { /* bigendian, do nothing */ return x; } else { @@ -107,15 +106,13 @@ bool_t xdr_int(XDR *xdrs, int *ip) { xdr_int32_t l; - switch (xdrs->x_op) - { + switch (xdrs->x_op) { case XDR_ENCODE: - l = (xdr_int32_t)(*ip); + l = (xdr_int32_t) (*ip); return xdr_putint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getint32(xdrs, &l)) - return FALSE; + if (!xdr_getint32(xdrs, &l)) return FALSE; *ip = (int) l; return TRUE; @@ -138,69 +135,57 @@ bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) /* * if no data we are done */ - if (cnt == 0) - return TRUE; + if (cnt == 0) return TRUE; /* * round byte count to full xdr units */ rndup = cnt % BYTES_PER_XDR_UNIT; - if (rndup > 0) - rndup = BYTES_PER_XDR_UNIT - rndup; + if (rndup > 0) rndup = BYTES_PER_XDR_UNIT - rndup; - switch (xdrs->x_op) - { + switch (xdrs->x_op) { case XDR_DECODE: - if (!xdr_getbytes(xdrs, cp, cnt)) - { - return FALSE; - } - if (rndup == 0) - return TRUE; - return xdr_getbytes(xdrs, (char *)crud, rndup); + if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } + if (rndup == 0) return TRUE; + return xdr_getbytes(xdrs, (char *) crud, rndup); case XDR_ENCODE: - if (!xdr_putbytes(xdrs, cp, cnt)) - { - return FALSE; - } - if (rndup == 0) - return TRUE; + if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } + if (rndup == 0) return TRUE; return xdr_putbytes(xdrs, xdr_zero, rndup); case XDR_FREE: return TRUE; - } + } return FALSE; } - /* Floating-point stuff */ bool_t xdr_float(XDR *xdrs, float *fp) { - xdr_int32_t tmp; + xdr_int32_t tmp; - switch (xdrs->x_op) { + switch (xdrs->x_op) { - case XDR_ENCODE: - tmp = *(xdr_int32_t *)fp; - return (xdr_putint32(xdrs, &tmp)); + case XDR_ENCODE: + tmp = *(xdr_int32_t *) fp; + return (xdr_putint32(xdrs, &tmp)); - break; + break; - case XDR_DECODE: - if (xdr_getint32(xdrs, &tmp)) { - *(xdr_int32_t *)fp = tmp; - return TRUE; - } + case XDR_DECODE: + if (xdr_getint32(xdrs, &tmp)) { + *(xdr_int32_t *) fp = tmp; + return TRUE; + } - break; + break; - case XDR_FREE: - return TRUE; - } - return FALSE; + case XDR_FREE: + return TRUE; + } + return FALSE; } /* Array routines */ @@ -215,22 +200,18 @@ bool_t xdr_float(XDR *xdrs, float *fp) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, - unsigned int elemsize, xdrproc_t xdr_elem) +bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, + xdrproc_t xdr_elem) { -#define LASTUNSIGNED ((unsigned int)0-1) +#define LASTUNSIGNED ((unsigned int) 0 - 1) unsigned int i; char *elptr; elptr = basep; - for (i = 0; i < nelem; i++) - { - if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) - { - return FALSE; - } - elptr += elemsize; - } + for (i = 0; i < nelem; i++) { + if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) { return FALSE; } + elptr += elemsize; + } return TRUE; #undef LASTUNSIGNED } @@ -244,13 +225,12 @@ static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); /* * Ops vector for stdio type XDR */ -static const struct xdr_ops xdrstdio_ops = -{ - xdrstdio_getbytes, /* deserialize counted bytes */ - xdrstdio_putbytes, /* serialize counted bytes */ - xdrstdio_destroy, /* destroy stream */ - xdrstdio_getint32, /* deserialize a int */ - xdrstdio_putint32, /* serialize a int */ +static const struct xdr_ops xdrstdio_ops = { + xdrstdio_getbytes, /* deserialize counted bytes */ + xdrstdio_putbytes, /* serialize counted bytes */ + xdrstdio_destroy, /* destroy stream */ + xdrstdio_getint32, /* deserialize a int */ + xdrstdio_putint32, /* serialize a int */ }; /* @@ -279,27 +259,23 @@ static void xdrstdio_destroy(XDR *xdrs) /* xx should we close the file ?? */ } - static bool_t xdrstdio_getbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) - return FALSE; + if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) - return FALSE; + if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } - static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; - if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; *ip = xdr_ntohl(mycopy); return TRUE; } @@ -309,8 +285,7 @@ static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) xdr_int32_t mycopy = xdr_htonl(*ip); ip = &mycopy; - if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } From 4eaf257e526b0e1a2cbbe0240ec0419b2beb7b1e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 19:49:01 -0400 Subject: [PATCH 23/62] small cleanups --- src/EXTRA-DUMP/dump_xtc.cpp | 6 +++--- src/EXTRA-DUMP/xdr_compat.h | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 3d84ff67ef..3119a470dc 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing authors: Naveen Michaud-Agrawal (Johns Hopkins U) - open-source XDR routines from + Open Source XDR based I/O routines from Frans van Hoesel (https://www.rug.nl/staff/f.h.j.van.hoesel/) are included in this file Axel Kohlmeyer (Temple U) @@ -43,8 +43,8 @@ using namespace LAMMPS_NS; -#define EPS 1e-5 -#define XTC_MAGIC 1995 +static constexpr double EPS = 1.0e-5; +static constexpr int XTC_MAGIC = 1995; #define MYMIN(a,b) ((a) < (b) ? (a) : (b)) #define MYMAX(a,b) ((a) > (b) ? (a) : (b)) diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index 4f41ade0a0..d600a4a404 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -111,10 +111,7 @@ typedef bool_t (*xdrproc_t)(XDR *, void *, ...); * * XDR *xdrs; * xdr_int32_t *int32p; - * long *longp; - * char *addr; * unsigned int len; - * unsigned int pos; */ #define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) From 2ddd940a3e4978b2af99ac78c38a0085062cab6d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 20:31:25 -0400 Subject: [PATCH 24/62] minor cosmetic changes --- src/EXTRA-DUMP/xdr_compat.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index c37f821a4e..3caa38663c 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -107,17 +107,21 @@ bool_t xdr_int(XDR *xdrs, int *ip) xdr_int32_t l; switch (xdrs->x_op) { + case XDR_ENCODE: l = (xdr_int32_t) (*ip); return xdr_putint32(xdrs, &l); + break; case XDR_DECODE: if (!xdr_getint32(xdrs, &l)) return FALSE; *ip = (int) l; return TRUE; + break; case XDR_FREE: return TRUE; + break; } return FALSE; } @@ -144,18 +148,22 @@ bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) if (rndup > 0) rndup = BYTES_PER_XDR_UNIT - rndup; switch (xdrs->x_op) { + case XDR_DECODE: if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; return xdr_getbytes(xdrs, (char *) crud, rndup); + break; case XDR_ENCODE: if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; return xdr_putbytes(xdrs, xdr_zero, rndup); + break; case XDR_FREE: return TRUE; + break; } return FALSE; } @@ -171,7 +179,6 @@ bool_t xdr_float(XDR *xdrs, float *fp) case XDR_ENCODE: tmp = *(xdr_int32_t *) fp; return (xdr_putint32(xdrs, &tmp)); - break; case XDR_DECODE: @@ -179,11 +186,11 @@ bool_t xdr_float(XDR *xdrs, float *fp) *(xdr_int32_t *) fp = tmp; return TRUE; } - break; case XDR_FREE: return TRUE; + break; } return FALSE; } From 05562ad5e9f42473d2f3e6c40b67f6edf040dc80 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 1 Apr 2024 21:35:35 -0600 Subject: [PATCH 25/62] testing 2d rigid changes --- src/RIGID/fix_rigid.cpp | 82 ++++++++++++++++++++++++++++++++++++++++- src/math_eigen.cpp | 4 +- 2 files changed, 83 insertions(+), 3 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 7a63c52220..9553d0b9fc 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -38,6 +38,9 @@ #include #include +// DEBUG +#define IBODY 42 + using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -893,9 +896,12 @@ void FixRigid::setup(int vflag) // set velocities from angmom & omega - for (ibody = 0; ibody < nbody; ibody++) + for (ibody = 0; ibody < nbody; ibody++) { MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); + if (ibody == IBODY) printf("SETUP omega: %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + } set_v(); @@ -944,10 +950,68 @@ void FixRigid::initial_integrate(int vflag) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf("BODY %d: start of step %ld\n",ibody,update->ntimestep); + printf(" interia %g %g %g\n", + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); + printf(" angmom %g %g %g\n", + angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); + printf(" omega %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf(" ex %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" ey %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" ez %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + printf(" quat %15.12g %15.12g %15.12g %15.12g\n", + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); + } + MathExtra::richardson(quat[ibody],angmom[ibody],omega[ibody], inertia[ibody],dtq); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf(" richardson omega %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf(" richardson quat %15.12g %15.12g %15.12g %15.12g\n", + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); + } + MathExtra::q_to_exyz(quat[ibody], ex_space[ibody],ey_space[ibody],ez_space[ibody]); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf(" exnew %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" eynew %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" eznew %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } + + /* + if (ibody == 42) { + ex_space[ibody][0] = ex_space[ibody][1] = 0.0; + ex_space[ibody][2] = 1.0; + ey_space[ibody][2] = ez_space[ibody][2] = 0.0; + MathExtra::norm3(ey_space[ibody]); + MathExtra::norm3(ez_space[ibody]); + MathExtra::exyz_to_q(ex_space[ibody],ey_space[ibody],ez_space[ibody],quat[ibody]); + } + */ + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf(" quatnew2 %15.12g %15.12g %15.12g %15.12g\n", + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); + printf(" exnew2 %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" eynew2 %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" eznew2 %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } } // virial setup before call to set_xv @@ -1025,6 +1089,22 @@ void FixRigid::final_integrate() MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf("BODY %d: end of step %ld\n",ibody,update->ntimestep); + printf(" interia %g %g %g\n", + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); + printf(" angmom %g %g %g\n", + angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); + printf(" omega %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf(" ex %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" ey %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" ez %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } } // set velocity/rotation of atoms in rigid bodies diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..42d95a1288 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVAL); // transpose the evec matrix @@ -67,7 +67,7 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); // transpose the evec matrix From 21745538a76b2e421c4229503bd22539c5389816 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 2 Apr 2024 23:02:04 -0400 Subject: [PATCH 26/62] Revert "change ordering of eigenvalues in jacobi3() function. update tests." This reverts commit c4eadd3a5966a0103afe8236273408a5c68a1df7. --- examples/micelle/in.micelle | 76 +-- examples/micelle/in.micelle-rigid | 90 ++-- .../micelle/log.25Mar24.micelle-rigid.g++.1 | 272 ---------- .../micelle/log.25Mar24.micelle-rigid.g++.4 | 272 ---------- examples/micelle/log.25Mar24.micelle.g++.1 | 229 --------- examples/micelle/log.25Mar24.micelle.g++.4 | 229 --------- .../micelle/log.29Mar2019.micelle-rigid.g++.1 | 260 ++++++++++ .../micelle/log.29Mar2019.micelle-rigid.g++.4 | 260 ++++++++++ examples/micelle/log.29Mar2019.micelle.g++.1 | 218 ++++++++ examples/micelle/log.29Mar2019.micelle.g++.4 | 218 ++++++++ examples/rigid/log.20Mar22.rigid.infile.g++.1 | 312 ++++++++++++ examples/rigid/log.20Mar22.rigid.infile.g++.4 | 312 ++++++++++++ .../rigid/log.20Mar22.rigid.molecule.g++.1 | 349 +++++++++++++ .../rigid/log.20Mar22.rigid.molecule.g++.4 | 349 +++++++++++++ examples/rigid/log.20Mar22.rigid.poems.g++.1 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems.g++.4 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems2.g++.1 | 330 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems2.g++.4 | 330 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems3.g++.1 | 329 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems3.g++.4 | 329 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems4.g++.1 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems4.g++.4 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems5.g++.1 | 329 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems5.g++.4 | 329 ++++++++++++ .../log.20Mar22.rigid.rigid.molecule.g++.1 | 0 .../log.20Mar22.rigid.rigid.molecule.g++.4 | 0 examples/rigid/log.20Mar22.rigid.small.g++.1 | 322 ++++++++++++ examples/rigid/log.20Mar22.rigid.small.g++.4 | 322 ++++++++++++ .../log.20Mar22.rigid.small.infile.g++.1 | 323 ++++++++++++ .../log.20Mar22.rigid.small.infile.g++.4 | 323 ++++++++++++ .../rigid/log.25Mar24.rigid.atomfile.g++.1 | 341 ------------- .../rigid/log.25Mar24.rigid.atomfile.g++.4 | 341 ------------- .../rigid/log.25Mar24.rigid.atomvar.g++.1 | 341 ------------- .../rigid/log.25Mar24.rigid.atomvar.g++.4 | 341 ------------- examples/rigid/log.25Mar24.rigid.early.g++.1 | 340 ------------- examples/rigid/log.25Mar24.rigid.early.g++.4 | 340 ------------- examples/rigid/log.25Mar24.rigid.g++.1 | 338 ------------- examples/rigid/log.25Mar24.rigid.g++.4 | 338 ------------- .../rigid/log.25Mar24.rigid.gravity.g++.1 | 228 --------- .../rigid/log.25Mar24.rigid.gravity.g++.4 | 228 --------- examples/rigid/log.25Mar24.rigid.infile.g++.1 | 310 ------------ examples/rigid/log.25Mar24.rigid.infile.g++.4 | 310 ------------ .../rigid/log.25Mar24.rigid.molecule.g++.1 | 319 ------------ .../rigid/log.25Mar24.rigid.molecule.g++.4 | 319 ------------ .../rigid/log.25Mar24.rigid.nve.early.g++.1 | 340 ------------- .../rigid/log.25Mar24.rigid.nve.early.g++.4 | 340 ------------- examples/rigid/log.25Mar24.rigid.nve.g++.1 | 338 ------------- examples/rigid/log.25Mar24.rigid.nve.g++.4 | 338 ------------- examples/rigid/log.25Mar24.rigid.poems.g++.1 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems.g++.4 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems2.g++.1 | 330 ------------ examples/rigid/log.25Mar24.rigid.poems2.g++.4 | 330 ------------ examples/rigid/log.25Mar24.rigid.poems3.g++.1 | 329 ------------ examples/rigid/log.25Mar24.rigid.poems3.g++.4 | 329 ------------ examples/rigid/log.25Mar24.rigid.poems4.g++.1 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems4.g++.4 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems5.g++.1 | 329 ------------ examples/rigid/log.25Mar24.rigid.poems5.g++.4 | 329 ------------ .../rigid/log.25Mar24.rigid.property.g++.1 | 343 ------------- .../rigid/log.25Mar24.rigid.property.g++.4 | 343 ------------- examples/rigid/log.25Mar24.rigid.small.g++.1 | 321 ------------ examples/rigid/log.25Mar24.rigid.small.g++.4 | 321 ------------ .../log.25Mar24.rigid.small.infile.g++.1 | 322 ------------ .../log.25Mar24.rigid.small.infile.g++.4 | 322 ------------ examples/rigid/log.25Mar24.rigid.tnr.g++.1 | 475 ------------------ examples/rigid/log.25Mar24.rigid.tnr.g++.4 | 475 ------------------ .../rigid/log.27Nov18.rigid.atomfile.g++.1 | 338 +++++++++++++ .../rigid/log.27Nov18.rigid.atomfile.g++.4 | 338 +++++++++++++ .../rigid/log.27Nov18.rigid.atomvar.g++.1 | 338 +++++++++++++ .../rigid/log.27Nov18.rigid.atomvar.g++.4 | 338 +++++++++++++ examples/rigid/log.27Nov18.rigid.early.g++.1 | 337 +++++++++++++ examples/rigid/log.27Nov18.rigid.early.g++.4 | 337 +++++++++++++ examples/rigid/log.27Nov18.rigid.g++.1 | 335 ++++++++++++ examples/rigid/log.27Nov18.rigid.g++.4 | 335 ++++++++++++ .../rigid/log.27Nov18.rigid.nve.early.g++.1 | 337 +++++++++++++ .../rigid/log.27Nov18.rigid.nve.early.g++.4 | 337 +++++++++++++ examples/rigid/log.27Nov18.rigid.nve.g++.1 | 335 ++++++++++++ examples/rigid/log.27Nov18.rigid.nve.g++.4 | 335 ++++++++++++ .../rigid/log.27Nov18.rigid.property.g++.1 | 340 +++++++++++++ .../rigid/log.27Nov18.rigid.property.g++.4 | 340 +++++++++++++ examples/rigid/log.27Nov18.rigid.tnr.g++.1 | 458 +++++++++++++++++ examples/rigid/log.27Nov18.rigid.tnr.g++.4 | 458 +++++++++++++++++ src/math_eigen.cpp | 4 +- .../tests/fix-timestep-rigid_group.yaml | 113 +++-- .../tests/fix-timestep-rigid_molecule.yaml | 43 +- .../fix-timestep-rigid_molecule_tri.yaml | 37 +- .../tests/fix-timestep-rigid_nph.yaml | 85 ++-- .../tests/fix-timestep-rigid_nph_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_npt.yaml | 119 +++-- .../tests/fix-timestep-rigid_npt_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_nve_group.yaml | 113 +++-- .../fix-timestep-rigid_nve_molecule.yaml | 45 +- .../tests/fix-timestep-rigid_nve_single.yaml | 77 ++- .../tests/fix-timestep-rigid_nve_small.yaml | 45 +- .../tests/fix-timestep-rigid_nvt.yaml | 79 ++- .../tests/fix-timestep-rigid_nvt_small.yaml | 45 +- .../tests/fix-timestep-rigid_single.yaml | 77 ++- .../tests/fix-timestep-rigid_small.yaml | 43 +- unittest/formats/test_atom_styles.cpp | 288 ++++++----- 99 files changed, 13271 insertions(+), 13772 deletions(-) delete mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.1 delete mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.4 delete mode 100644 examples/micelle/log.25Mar24.micelle.g++.1 delete mode 100644 examples/micelle/log.25Mar24.micelle.g++.4 create mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.1 create mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.4 create mode 100644 examples/micelle/log.29Mar2019.micelle.g++.1 create mode 100644 examples/micelle/log.29Mar2019.micelle.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.4 diff --git a/examples/micelle/in.micelle b/examples/micelle/in.micelle index 1626d09993..34bc9ad359 100644 --- a/examples/micelle/in.micelle +++ b/examples/micelle/in.micelle @@ -1,72 +1,72 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.33 bin -neigh_modify delay 5 +neighbor 0.3 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 1000 +thermo 50 +run 1000 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 -run 1000 +reset_timestep 0 +run 1000 diff --git a/examples/micelle/in.micelle-rigid b/examples/micelle/in.micelle-rigid index 21a9cb8a58..93cb2655f8 100644 --- a/examples/micelle/in.micelle-rigid +++ b/examples/micelle/in.micelle-rigid @@ -1,87 +1,87 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.33 bin -neigh_modify delay 5 +neighbor 0.3 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 500 +thermo 50 +run 500 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 +reset_timestep 0 group solvent molecule 0 group solute subtract all solvent unfix 1 unfix 2 unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -fix 4 all enforce2d -run 500 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +fix 4 all enforce2d +run 500 unfix 2 unfix 4 unfix 5 -fix 5 solute rigid/small molecule -fix 4 all enforce2d -run 500 +fix 5 solute rigid/small molecule +fix 4 all enforce2d +run 500 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.1 b/examples/micelle/log.25Mar24.micelle-rigid.g++.1 deleted file mode 100644 index 8008630d76..0000000000 --- a/examples/micelle/log.25Mar24.micelle-rigid.g++.1 +++ /dev/null @@ -1,272 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0683956 on 1 procs for 500 steps with 1200 atoms - -Performance: 3158095.858 tau/day, 7310.407 timesteps/s, 8.772 Matom-step/s -99.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.042818 | 0.042818 | 0.042818 | 0.0 | 62.60 -Bond | 0.0026205 | 0.0026205 | 0.0026205 | 0.0 | 3.83 -Neigh | 0.011794 | 0.011794 | 0.011794 | 0.0 | 17.24 -Comm | 0.0014012 | 0.0014012 | 0.0014012 | 0.0 | 2.05 -Output | 0.00012752 | 0.00012752 | 0.00012752 | 0.0 | 0.19 -Modify | 0.0078924 | 0.0078924 | 0.0078924 | 0.0 | 11.54 -Other | | 0.001743 | | | 2.55 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 198 ave 198 max 198 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3199 ave 3199 max 3199 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3199 -Ave neighs/atom = 2.6658333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 48 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 - 150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 - 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 - 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 - 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 - 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 - 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 - 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 - 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 - 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 -Loop time of 0.129419 on 1 procs for 500 steps with 1200 atoms - -Performance: 1668996.565 tau/day, 3863.418 timesteps/s, 4.636 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.059482 | 0.059482 | 0.059482 | 0.0 | 45.96 -Bond | 0.0027154 | 0.0027154 | 0.0027154 | 0.0 | 2.10 -Neigh | 0.017086 | 0.017086 | 0.017086 | 0.0 | 13.20 -Comm | 0.0019065 | 0.0019065 | 0.0019065 | 0.0 | 1.47 -Output | 0.00012035 | 0.00012035 | 0.00012035 | 0.0 | 0.09 -Modify | 0.046099 | 0.046099 | 0.046099 | 0.0 | 35.62 -Other | | 0.002009 | | | 1.55 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 413 ave 413 max 413 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8944 ave 8944 max 8944 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8944 -Ave neighs/atom = 7.4533333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 41 -Dangerous builds = 1 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.000 seconds - 150 rigid bodies with 450 atoms - 1.3043524 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes - Step Temp E_pair E_mol TotEng Press - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 - 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 - 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 - 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 - 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 - 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 - 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 - 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 - 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 - 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 - 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 -Loop time of 0.119542 on 1 procs for 500 steps with 1200 atoms - -Performance: 1806900.644 tau/day, 4182.640 timesteps/s, 5.019 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.058715 | 0.058715 | 0.058715 | 0.0 | 49.12 -Bond | 0.0028428 | 0.0028428 | 0.0028428 | 0.0 | 2.38 -Neigh | 0.015212 | 0.015212 | 0.015212 | 0.0 | 12.73 -Comm | 0.0019242 | 0.0019242 | 0.0019242 | 0.0 | 1.61 -Output | 0.00018977 | 0.00018977 | 0.00018977 | 0.0 | 0.16 -Modify | 0.038399 | 0.038399 | 0.038399 | 0.0 | 32.12 -Other | | 0.002259 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 425 ave 425 max 425 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8846 ave 8846 max 8846 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8846 -Ave neighs/atom = 7.3716667 -Ave special neighs/atom = 0.5 -Neighbor list builds = 36 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.4 b/examples/micelle/log.25Mar24.micelle-rigid.g++.4 deleted file mode 100644 index b5c53e9b05..0000000000 --- a/examples/micelle/log.25Mar24.micelle-rigid.g++.4 +++ /dev/null @@ -1,272 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0217401 on 4 procs for 500 steps with 1200 atoms - -Performance: 9935551.276 tau/day, 22998.961 timesteps/s, 27.599 Matom-step/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0088539 | 0.0095602 | 0.010452 | 0.6 | 43.97 -Bond | 0.00058476 | 0.00062647 | 0.00070207 | 0.0 | 2.88 -Neigh | 0.0030965 | 0.0031112 | 0.0031222 | 0.0 | 14.31 -Comm | 0.0040493 | 0.0050374 | 0.0057508 | 0.9 | 23.17 -Output | 8.0051e-05 | 8.6079e-05 | 0.00010294 | 0.0 | 0.40 -Modify | 0.0024258 | 0.0025227 | 0.0026365 | 0.2 | 11.60 -Other | | 0.0007961 | | | 3.66 - -Nlocal: 300 ave 305 max 292 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Nghost: 105.25 ave 110 max 99 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 799.75 ave 817 max 763 min -Histogram: 1 0 0 0 0 0 0 1 0 2 - -Total # of neighbors = 3199 -Ave neighs/atom = 2.6658333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 48 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 - 150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 - 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 - 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 - 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 - 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 - 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 - 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 - 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 - 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 -Loop time of 0.0560481 on 4 procs for 500 steps with 1200 atoms - -Performance: 3853834.547 tau/day, 8920.913 timesteps/s, 10.705 Matom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.013556 | 0.013707 | 0.013803 | 0.1 | 24.46 -Bond | 0.00063884 | 0.00066997 | 0.0007103 | 0.0 | 1.20 -Neigh | 0.004707 | 0.0047121 | 0.0047151 | 0.0 | 8.41 -Comm | 0.0060936 | 0.0061963 | 0.006299 | 0.1 | 11.06 -Output | 9.3791e-05 | 0.00010703 | 0.00013426 | 0.0 | 0.19 -Modify | 0.029359 | 0.029467 | 0.029627 | 0.1 | 52.57 -Other | | 0.001189 | | | 2.12 - -Nlocal: 300 ave 303 max 296 min -Histogram: 1 0 0 0 1 0 0 0 1 1 -Nghost: 217.75 ave 220 max 215 min -Histogram: 1 0 0 0 0 0 2 0 0 1 -Neighs: 2236 ave 2264 max 2213 min -Histogram: 1 0 1 0 0 1 0 0 0 1 - -Total # of neighbors = 8944 -Ave neighs/atom = 7.4533333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 41 -Dangerous builds = 1 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.000 seconds - 150 rigid bodies with 450 atoms - 1.3043524 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes - Step Temp E_pair E_mol TotEng Press - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 - 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 - 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 - 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 - 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 - 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 - 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 - 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 - 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 - 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 - 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 -Loop time of 0.0401556 on 4 procs for 500 steps with 1200 atoms - -Performance: 5379078.679 tau/day, 12451.571 timesteps/s, 14.942 Matom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.013239 | 0.013488 | 0.013882 | 0.2 | 33.59 -Bond | 0.00064766 | 0.00068403 | 0.00074631 | 0.0 | 1.70 -Neigh | 0.0040808 | 0.0040899 | 0.0041035 | 0.0 | 10.19 -Comm | 0.0056353 | 0.0060663 | 0.0063864 | 0.3 | 15.11 -Output | 0.0001049 | 0.0001153 | 0.00014195 | 0.0 | 0.29 -Modify | 0.014414 | 0.014559 | 0.014753 | 0.1 | 36.26 -Other | | 0.001153 | | | 2.87 - -Nlocal: 300 ave 305 max 295 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 226 ave 231 max 220 min -Histogram: 1 0 0 0 1 0 0 1 0 1 -Neighs: 2211.5 ave 2313 max 2144 min -Histogram: 1 1 0 0 1 0 0 0 0 1 - -Total # of neighbors = 8846 -Ave neighs/atom = 7.3716667 -Ave special neighs/atom = 0.5 -Neighbor list builds = 36 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.1 b/examples/micelle/log.25Mar24.micelle.g++.1 deleted file mode 100644 index 4b519e0ea7..0000000000 --- a/examples/micelle/log.25Mar24.micelle.g++.1 +++ /dev/null @@ -1,229 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.135036 on 1 procs for 1000 steps with 1200 atoms - -Performance: 3199144.549 tau/day, 7405.427 timesteps/s, 8.887 Matom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086466 | 0.086466 | 0.086466 | 0.0 | 64.03 -Bond | 0.0052524 | 0.0052524 | 0.0052524 | 0.0 | 3.89 -Neigh | 0.020278 | 0.020278 | 0.020278 | 0.0 | 15.02 -Comm | 0.0026978 | 0.0026978 | 0.0026978 | 0.0 | 2.00 -Output | 0.00032119 | 0.00032119 | 0.00032119 | 0.0 | 0.24 -Modify | 0.016117 | 0.016117 | 0.016117 | 0.0 | 11.94 -Other | | 0.003904 | | | 2.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 200 ave 200 max 200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3220 ave 3220 max 3220 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3220 -Ave neighs/atom = 2.6833333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 84 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.141 | 4.141 | 4.141 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115118 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 - 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 - 500 0.46846731 -1.9444333 0.076696281 -1.3996601 2.0528682 - 550 0.47683129 -1.958676 0.070589717 -1.4116523 2.0856022 - 600 0.46851244 -1.9338267 0.070605485 -1.3950992 2.2640498 - 650 0.46874143 -1.9462493 0.069134673 -1.4087638 2.1070264 - 700 0.46437375 -1.9309952 0.071977553 -1.3950309 2.2256927 - 750 0.47326219 -1.9484255 0.075435861 -1.4001218 2.0880257 - 800 0.45 -1.9646003 0.064159585 -1.4508158 2.0612708 - 850 0.46748293 -1.9705587 0.060384889 -1.4430805 1.9472917 - 900 0.46909505 -1.9537228 0.06246996 -1.4225487 2.0222946 - 950 0.45631552 -1.9387752 0.067536414 -1.4153035 2.0638412 - 1000 0.45 -1.9727636 0.058608205 -1.4645304 1.9982412 -Loop time of 0.172925 on 1 procs for 1000 steps with 1200 atoms - -Performance: 2498198.117 tau/day, 5782.866 timesteps/s, 6.939 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11308 | 0.11308 | 0.11308 | 0.0 | 65.39 -Bond | 0.0054036 | 0.0054036 | 0.0054036 | 0.0 | 3.12 -Neigh | 0.032892 | 0.032892 | 0.032892 | 0.0 | 19.02 -Comm | 0.0038268 | 0.0038268 | 0.0038268 | 0.0 | 2.21 -Output | 0.00023892 | 0.00023892 | 0.00023892 | 0.0 | 0.14 -Modify | 0.013461 | 0.013461 | 0.013461 | 0.0 | 7.78 -Other | | 0.004027 | | | 2.33 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 421 ave 421 max 421 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8779 ave 8779 max 8779 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8779 -Ave neighs/atom = 7.3158333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 77 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.4 b/examples/micelle/log.25Mar24.micelle.g++.4 deleted file mode 100644 index 174cab5f5e..0000000000 --- a/examples/micelle/log.25Mar24.micelle.g++.4 +++ /dev/null @@ -1,229 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.0430044 on 4 procs for 1000 steps with 1200 atoms - -Performance: 10045485.178 tau/day, 23253.438 timesteps/s, 27.904 Matom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01855 | 0.019447 | 0.019916 | 0.4 | 45.22 -Bond | 0.0011939 | 0.0012689 | 0.0013518 | 0.2 | 2.95 -Neigh | 0.0054396 | 0.0054535 | 0.0054635 | 0.0 | 12.68 -Comm | 0.0093296 | 0.0097958 | 0.010731 | 0.6 | 22.78 -Output | 0.00016417 | 0.00018578 | 0.00024995 | 0.0 | 0.43 -Modify | 0.0049758 | 0.0050749 | 0.005268 | 0.2 | 11.80 -Other | | 0.001778 | | | 4.14 - -Nlocal: 300 ave 306 max 294 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 103 ave 110 max 98 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Neighs: 805 ave 827 max 768 min -Histogram: 1 0 0 0 0 0 1 0 1 1 - -Total # of neighbors = 3220 -Ave neighs/atom = 2.6833333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 84 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.125 | 4.125 | 4.125 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.08160394 -1.4242028 2.0787066 - 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 - 500 0.46846732 -1.9444333 0.076696282 -1.3996601 2.0528682 - 550 0.47683129 -1.958676 0.070589715 -1.4116523 2.0856023 - 600 0.46851246 -1.9338267 0.070605474 -1.3950992 2.2640497 - 650 0.46874145 -1.9462493 0.069134673 -1.4087638 2.1070263 - 700 0.46437384 -1.9309953 0.071977538 -1.3950309 2.2256921 - 750 0.47326257 -1.9484258 0.075435782 -1.4001218 2.0880238 - 800 0.45 -1.9646002 0.064159564 -1.4508156 2.0612711 - 850 0.46748245 -1.9705585 0.060385282 -1.4430803 1.9472928 - 900 0.46909475 -1.953722 0.062469986 -1.4225482 2.0223017 - 950 0.45631666 -1.9387749 0.067535547 -1.415303 2.0638464 - 1000 0.45 -1.9727662 0.058608374 -1.4645328 1.9982544 -Loop time of 0.0580559 on 4 procs for 1000 steps with 1200 atoms - -Performance: 7441102.030 tau/day, 17224.773 timesteps/s, 20.670 Matom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.025537 | 0.026849 | 0.0293 | 0.9 | 46.25 -Bond | 0.0012241 | 0.0013287 | 0.0015123 | 0.3 | 2.29 -Neigh | 0.0093194 | 0.0093648 | 0.0093978 | 0.0 | 16.13 -Comm | 0.011992 | 0.014606 | 0.015998 | 1.3 | 25.16 -Output | 0.00018318 | 0.0001963 | 0.0002352 | 0.0 | 0.34 -Modify | 0.003441 | 0.0035887 | 0.0037522 | 0.2 | 6.18 -Other | | 0.002122 | | | 3.66 - -Nlocal: 300 ave 305 max 294 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Nghost: 222.25 ave 231 max 215 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 2195 ave 2233 max 2150 min -Histogram: 1 0 0 0 0 2 0 0 0 1 - -Total # of neighbors = 8780 -Ave neighs/atom = 7.3166667 -Ave special neighs/atom = 0.5 -Neighbor list builds = 77 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 new file mode 100644 index 0000000000..f1001e6cea --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 @@ -0,0 +1,260 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000473022 secs + read_data CPU = 0.0024147 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.00022316 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms + +Performance: 2093802.885 tau/day, 4846.766 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 +Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 +Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 +Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 +Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 +Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 +Other | | 0.002726 | | | 2.64 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 197 ave 197 max 197 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3094 ave 3094 max 3094 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.57833 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 + 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 + 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 + 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 + 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 + 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 + 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 + 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 + 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 +Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms + +Performance: 1208012.705 tau/day, 2796.326 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 +Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 +Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 +Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 +Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 +Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 +Other | | 0.00293 | | | 1.64 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 416 ave 416 max 416 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8769 ave 8769 max 8769 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8769 +Ave neighs/atom = 7.3075 +Ave special neighs/atom = 0.5 +Neighbor list builds = 47 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.00015378 secs +150 rigid bodies with 450 atoms + 1.30435 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes +Step Temp E_pair E_mol TotEng Press + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 + 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 + 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 + 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 + 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 + 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 + 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 + 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 + 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 + 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 + 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 +Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms + +Performance: 1297278.008 tau/day, 3002.958 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 +Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 +Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 +Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 +Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 +Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 +Other | | 0.003141 | | | 1.89 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 415 ave 415 max 415 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8743 ave 8743 max 8743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8743 +Ave neighs/atom = 7.28583 +Ave special neighs/atom = 0.5 +Neighbor list builds = 40 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 new file mode 100644 index 0000000000..e65f67a527 --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 @@ -0,0 +1,260 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000422001 secs + read_data CPU = 0.00473404 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000183344 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms + +Performance: 5066547.720 tau/day, 11728.120 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 +Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 +Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 +Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 +Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 +Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 +Other | | 0.002669 | | | 6.26 + +Nlocal: 300 ave 304 max 292 min +Histogram: 1 0 0 0 0 0 0 0 2 1 +Nghost: 103.5 ave 108 max 98 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 773.5 ave 792 max 735 min +Histogram: 1 0 0 0 0 0 0 0 2 1 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.57833 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 + 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 + 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 + 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 + 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 + 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 + 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 + 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 + 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 +Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms + +Performance: 2434100.210 tau/day, 5634.491 timesteps/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 +Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 +Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 +Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 +Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 +Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 +Other | | 0.002938 | | | 3.31 + +Nlocal: 300 ave 309 max 291 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 218.75 ave 223 max 216 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Neighs: 2192.25 ave 2251 max 2113 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 8769 +Ave neighs/atom = 7.3075 +Ave special neighs/atom = 0.5 +Neighbor list builds = 47 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 7.70092e-05 secs +150 rigid bodies with 450 atoms + 1.30435 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes +Step Temp E_pair E_mol TotEng Press + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 + 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 + 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 + 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 + 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 + 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 + 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 + 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 + 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 + 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 + 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 +Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms + +Performance: 3671840.233 tau/day, 8499.630 timesteps/s +98.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 +Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 +Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 +Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 +Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 +Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 +Other | | 0.00224 | | | 3.81 + +Nlocal: 300 ave 303 max 295 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Nghost: 219 ave 224 max 215 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 2185.75 ave 2244 max 2143 min +Histogram: 1 1 0 0 0 1 0 0 0 1 + +Total # of neighbors = 8743 +Ave neighs/atom = 7.28583 +Ave special neighs/atom = 0.5 +Neighbor list builds = 40 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.1 b/examples/micelle/log.29Mar2019.micelle.g++.1 new file mode 100644 index 0000000000..d482d6c890 --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle.g++.1 @@ -0,0 +1,218 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.00037837 secs + read_data CPU = 0.00206876 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000177383 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.208895 on 1 procs for 1000 steps with 1200 atoms + +Performance: 2068027.282 tau/day, 4787.100 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14142 | 0.14142 | 0.14142 | 0.0 | 67.70 +Bond | 0.008441 | 0.008441 | 0.008441 | 0.0 | 4.04 +Neigh | 0.025716 | 0.025716 | 0.025716 | 0.0 | 12.31 +Comm | 0.0036864 | 0.0036864 | 0.0036864 | 0.0 | 1.76 +Output | 0.0003562 | 0.0003562 | 0.0003562 | 0.0 | 0.17 +Modify | 0.023699 | 0.023699 | 0.023699 | 0.0 | 11.35 +Other | | 0.00558 | | | 2.67 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 195 ave 195 max 195 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3136 ave 3136 max 3136 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3136 +Ave neighs/atom = 2.61333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 92 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.024 | 4.024 | 4.024 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 + 450 0.47220236 -1.9468502 0.065625624 -1.4094157 2.0984288 + 500 0.4684673 -1.9444333 0.076696283 -1.3996601 2.0528682 + 550 0.47683128 -1.958676 0.070589719 -1.4116523 2.0856022 + 600 0.46851243 -1.9338267 0.07060548 -1.3950992 2.26405 + 650 0.46874142 -1.9462493 0.069134685 -1.4087638 2.1070263 + 700 0.46437384 -1.9309953 0.071977522 -1.3950309 2.2256923 + 750 0.47326225 -1.9484255 0.075435845 -1.4001218 2.0880254 + 800 0.45 -1.9646005 0.064159585 -1.4508159 2.0612696 + 850 0.46748307 -1.970559 0.060384874 -1.4430806 1.9472879 + 900 0.46909484 -1.953723 0.062470295 -1.4225488 2.0222909 + 950 0.45631531 -1.9387753 0.067536568 -1.4153037 2.0638421 + 1000 0.45 -1.9727646 0.058607721 -1.4645318 1.9982315 +Loop time of 0.252254 on 1 procs for 1000 steps with 1200 atoms + +Performance: 1712557.882 tau/day, 3964.254 timesteps/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.17177 | 0.17177 | 0.17177 | 0.0 | 68.09 +Bond | 0.0084555 | 0.0084555 | 0.0084555 | 0.0 | 3.35 +Neigh | 0.03991 | 0.03991 | 0.03991 | 0.0 | 15.82 +Comm | 0.0049119 | 0.0049119 | 0.0049119 | 0.0 | 1.95 +Output | 0.00039077 | 0.00039077 | 0.00039077 | 0.0 | 0.15 +Modify | 0.021131 | 0.021131 | 0.021131 | 0.0 | 8.38 +Other | | 0.005685 | | | 2.25 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 415 ave 415 max 415 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8586 ave 8586 max 8586 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8586 +Ave neighs/atom = 7.155 +Ave special neighs/atom = 0.5 +Neighbor list builds = 86 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.4 b/examples/micelle/log.29Mar2019.micelle.g++.4 new file mode 100644 index 0000000000..f3a54970cf --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle.g++.4 @@ -0,0 +1,218 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000413656 secs + read_data CPU = 0.00487924 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000178576 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.0906248 on 4 procs for 1000 steps with 1200 atoms + +Performance: 4766906.584 tau/day, 11034.506 timesteps/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.036572 | 0.039266 | 0.041216 | 1.0 | 43.33 +Bond | 0.0023205 | 0.0024512 | 0.0025697 | 0.2 | 2.70 +Neigh | 0.0088909 | 0.0089301 | 0.0089679 | 0.0 | 9.85 +Comm | 0.022308 | 0.024047 | 0.027175 | 1.3 | 26.53 +Output | 0.00057411 | 0.00061274 | 0.00071025 | 0.0 | 0.68 +Modify | 0.0083182 | 0.0092374 | 0.0098341 | 0.6 | 10.19 +Other | | 0.006081 | | | 6.71 + +Nlocal: 300 ave 305 max 292 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Nghost: 100.25 ave 108 max 93 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 784 ave 815 max 739 min +Histogram: 1 0 0 0 0 0 1 1 0 1 + +Total # of neighbors = 3136 +Ave neighs/atom = 2.61333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 92 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.001 | 4.032 | 4.124 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 + 450 0.47220236 -1.9468502 0.065625625 -1.4094157 2.0984288 + 500 0.4684673 -1.9444333 0.076696285 -1.3996601 2.0528682 + 550 0.47683128 -1.958676 0.070589721 -1.4116523 2.0856023 + 600 0.46851245 -1.9338267 0.070605469 -1.3950992 2.26405 + 650 0.46874143 -1.9462493 0.069134686 -1.4087638 2.1070262 + 700 0.4643739 -1.9309953 0.071977511 -1.3950309 2.225692 + 750 0.47326259 -1.9484258 0.075435808 -1.4001218 2.0880235 + 800 0.45 -1.9646003 0.06415956 -1.4508158 2.0612703 + 850 0.46748278 -1.9705588 0.06038513 -1.4430804 1.9472884 + 900 0.46909438 -1.9537221 0.062470305 -1.4225483 2.0223008 + 950 0.45631508 -1.9387742 0.067536066 -1.4153033 2.063854 + 1000 0.45 -1.9727651 0.058608085 -1.464532 1.9982447 +Loop time of 0.0878521 on 4 procs for 1000 steps with 1200 atoms + +Performance: 4917357.613 tau/day, 11382.772 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.043517 | 0.044455 | 0.046903 | 0.7 | 50.60 +Bond | 0.0020199 | 0.0022303 | 0.0024347 | 0.4 | 2.54 +Neigh | 0.012207 | 0.012335 | 0.012512 | 0.1 | 14.04 +Comm | 0.014938 | 0.018265 | 0.020068 | 1.5 | 20.79 +Output | 0.00061369 | 0.00064814 | 0.00073504 | 0.0 | 0.74 +Modify | 0.0052264 | 0.0053691 | 0.0055039 | 0.2 | 6.11 +Other | | 0.00455 | | | 5.18 + +Nlocal: 300 ave 305 max 296 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Nghost: 219.5 ave 228 max 214 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 2146.5 ave 2201 max 2114 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 8586 +Ave neighs/atom = 7.155 +Ave special neighs/atom = 0.5 +Neighbor list builds = 86 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.infile.g++.1 new file mode 100644 index 0000000000..7c554d2778 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.infile.g++.1 @@ -0,0 +1,312 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +Reading rigid body data for 4 bodies from file bodyinfo.dat +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722793e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156167 0 5269.5203 12.011611 + 9600 16738.549 -0.02681437 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589895 0 5269.4979 12.062708 + 9750 16738.013 0.13550156 0 5269.5101 11.407246 + 9800 16738.512 -0.011620325 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270436 0 5269.5237 11.395099 + 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.0882903 on 1 procs for 10000 steps with 81 atoms + +Performance: 978589.581 tau/day, 113262.683 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0064583 | 0.0064583 | 0.0064583 | 0.0 | 7.31 +Neigh | 0.027186 | 0.027186 | 0.027186 | 0.0 | 30.79 +Comm | 0.0057041 | 0.0057041 | 0.0057041 | 0.0 | 6.46 +Output | 0.0020628 | 0.0020628 | 0.0020628 | 0.0 | 2.34 +Modify | 0.042816 | 0.042816 | 0.042816 | 0.0 | 48.49 +Other | | 0.004063 | | | 4.60 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.infile.g++.4 new file mode 100644 index 0000000000..2e0535a69a --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.infile.g++.4 @@ -0,0 +1,312 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +Reading rigid body data for 4 bodies from file bodyinfo.dat +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972279e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.004530741 0 5269.5178 12.01162 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156168 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589899 0 5269.4979 12.062708 + 9750 16738.013 0.13550149 0 5269.5101 11.407246 + 9800 16738.512 -0.011620325 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270428 0 5269.5237 11.395099 + 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.100422 on 4 procs for 10000 steps with 81 atoms + +Performance: 860368.209 tau/day, 99579.654 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0014853 | 0.0020649 | 0.0026245 | 0.9 | 2.06 +Neigh | 0.0075956 | 0.0080256 | 0.0091971 | 0.8 | 7.99 +Comm | 0.037221 | 0.041059 | 0.043195 | 1.2 | 40.89 +Output | 0.0020995 | 0.0023594 | 0.003073 | 0.8 | 2.35 +Modify | 0.041318 | 0.042855 | 0.044215 | 0.5 | 42.67 +Other | | 0.004059 | | | 4.04 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.molecule.g++.1 new file mode 100644 index 0000000000..b4a4b28d92 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.molecule.g++.1 @@ -0,0 +1,349 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.97228e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156166 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589897 0 5269.4979 12.062708 + 9750 16738.013 0.1355014 0 5269.5101 11.407246 + 9800 16738.512 -0.011620325 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270449 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984529 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.0974108 on 1 procs for 10000 steps with 81 atoms + +Performance: 886965.415 tau/day, 102658.034 timesteps/s +96.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0068054 | 0.0068054 | 0.0068054 | 0.0 | 6.99 +Bond | 0.00034618 | 0.00034618 | 0.00034618 | 0.0 | 0.36 +Neigh | 0.033076 | 0.033076 | 0.033076 | 0.0 | 33.96 +Comm | 0.0067938 | 0.0067938 | 0.0067938 | 0.0 | 6.97 +Output | 0.0022905 | 0.0022905 | 0.0022905 | 0.0 | 2.35 +Modify | 0.044027 | 0.044027 | 0.044027 | 0.0 | 45.20 +Other | | 0.004071 | | | 4.18 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.molecule.g++.4 new file mode 100644 index 0000000000..63835843a0 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.molecule.g++.4 @@ -0,0 +1,349 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722775e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934367 0 5269.4889 12.025288 + 3750 16737.731 0.20706556 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 + 8550 16738.483 -0.004530741 0 5269.5178 12.01162 + 8600 16738.474 -0.00076532815 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652439 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156171 0 5269.5203 12.011611 + 9600 16738.549 -0.026814373 0 5269.5163 12.011415 + 9650 16738.765 -0.10191525 0 5269.5092 12.011013 + 9700 16735.041 1.0589908 0 5269.4979 12.062708 + 9750 16738.013 0.13550139 0 5269.5101 11.407247 + 9800 16738.512 -0.011620323 0 5269.5201 11.394975 + 9850 16738.489 -0.00067270407 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984518 0 5269.5242 11.395086 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.102079 on 4 procs for 10000 steps with 81 atoms + +Performance: 846406.333 tau/day, 97963.696 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015357 | 0.0020418 | 0.0024561 | 0.7 | 2.00 +Bond | 0.00030031 | 0.00031957 | 0.00034464 | 0.0 | 0.31 +Neigh | 0.0091719 | 0.0094934 | 0.010243 | 0.4 | 9.30 +Comm | 0.038015 | 0.041242 | 0.043481 | 1.1 | 40.40 +Output | 0.002223 | 0.0024412 | 0.0030738 | 0.7 | 2.39 +Modify | 0.040725 | 0.042557 | 0.043982 | 0.7 | 41.69 +Other | | 0.003983 | | | 3.90 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.1 b/examples/rigid/log.20Mar22.rigid.poems.g++.1 new file mode 100644 index 0000000000..32edd0fd0c --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.438428 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699118 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538604 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.029 99.812844 0 3680.6511 -16.185479 + 1450 21771.107 52.159653 0 3680.6775 -2.4756655 + 1500 21520.949 93.503876 0 3680.3286 2.1023573 + 1550 21351.419 121.6813 0 3680.2511 5.5159876 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21873 0 3679.8247 -1.1045277 + 1700 18501.33 596.4807 0 3680.0357 -15.6798 + 1750 18563.64 587.34824 0 3681.2882 33.532308 + 1800 19110.175 494.82517 0 3679.8543 18.024074 + 1850 21364.178 119.23765 0 3679.9339 2.5290144 + 1900 20146.588 322.15509 0 3679.9197 5.7317299 + 1950 20692.676 231.25264 0 3680.0319 4.297803 + 2000 20943.902 189.11251 0 3679.7629 -22.643824 + 2050 19667.823 401.86882 0 3679.8394 3.6241915 + 2100 20280.125 299.81485 0 3679.8357 7.4804047 + 2150 19181.201 483.6306 0 3680.4975 22.63342 + 2200 21301.144 130.54014 0 3680.7308 4.7074288 + 2250 20484.876 266.98315 0 3681.1291 -8.6578278 + 2300 18648.161 573.07329 0 3681.1001 -5.2550954 + 2350 21515.748 95.243054 0 3681.201 -9.386512 + 2400 21462.551 104.18267 0 3681.2745 -29.46442 + 2450 20107.732 330.99437 0 3682.2831 35.38497 + 2500 20771.509 220.47713 0 3682.3953 -12.324858 + 2550 20499.887 265.58494 0 3682.2327 -22.713874 + 2600 21462.182 105.24427 0 3682.2747 -10.175788 + 2650 21004.949 181.51383 0 3682.3387 4.949195 + 2700 18673.552 570.45017 0 3682.7089 21.201437 + 2750 21257.562 139.198 0 3682.1249 -7.5793039 + 2800 21559.645 88.844759 0 3682.119 -6.2360467 + 2850 20865.227 204.46262 0 3682.0004 0.39575069 + 2900 19428.614 443.93293 0 3682.0352 12.796676 + 2950 19630.1 410.18487 0 3681.8681 -0.50572623 + 3000 19663.218 404.06316 0 3681.2661 6.0827093 + 3050 19087.572 500.8452 0 3682.1073 -6.3526476 + 3100 18229.94 643.77681 0 3682.1001 11.453637 + 3150 18927.492 527.51919 0 3682.1011 -1.662863 + 3200 18320.514 628.55895 0 3681.978 21.176126 + 3250 18204.677 647.96462 0 3682.0775 11.331521 + 3300 19231.978 477.02117 0 3682.3509 3.8381593 + 3350 18153.44 656.70376 0 3682.2772 15.135615 + 3400 17476.768 770.0598 0 3682.8545 -3.394312 + 3450 21097.531 166.17241 0 3682.4276 3.74301 + 3500 17605.784 747.54808 0 3681.8454 3.3420627 + 3550 19238.34 476.00608 0 3682.3961 1.1413836 + 3600 18155.288 656.57434 0 3682.4557 3.4360446 + 3650 18735.622 559.2377 0 3681.8413 28.760363 + 3700 15310.261 1134.4215 0 3686.1317 44.207018 + 3750 15377.116 1123.4786 0 3686.3313 7.6773215 + 3800 18798.895 549.05928 0 3682.2084 -12.905825 + 3850 18322.563 628.87744 0 3682.6379 -16.067793 + 3900 19963.049 355.65441 0 3682.8292 3.4694064 + 3950 19925.48 361.2507 0 3682.1641 5.0058567 + 4000 19141.423 492.41081 0 3682.648 -12.782769 + 4050 20022.241 345.61655 0 3682.6568 -3.0149905 + 4100 21348.635 124.95646 0 3683.0624 -4.85779 + 4150 21011.812 181.1132 0 3683.0819 -3.9526196 + 4200 20222.276 312.63945 0 3683.0187 -23.63437 + 4250 20957.757 189.77152 0 3682.731 -1.3712469 + 4300 20070.215 337.5751 0 3682.611 -6.8816517 + 4350 21322.437 129.09228 0 3682.8318 -6.9442178 + 4400 19440.445 442.77531 0 3682.8495 -0.11606236 + 4450 20964.516 188.67174 0 3682.7577 4.8533525 + 4500 13530.08 1428.5497 0 3683.563 12.333187 + 4550 20461.637 272.58882 0 3682.8616 4.5111943 + 4600 17072.994 836.58228 0 3682.0812 5.7611617 + 4650 18860.748 539.82027 0 3683.2782 -2.5558958 + 4700 18373.927 621.04093 0 3683.3621 5.4020702 + 4750 20321.437 296.63662 0 3683.5428 8.9571617 + 4800 21083.122 169.84086 0 3683.6946 10.566368 + 4850 20499.669 267.7012 0 3684.3128 4.2924237 + 4900 20308.781 300.38168 0 3685.1785 -12.396923 + 4950 21043.303 178.56295 0 3685.7801 3.8923762 + 5000 20718.383 232.52208 0 3685.5859 -12.43234 + 5050 21005.749 184.4363 0 3685.3945 -7.6463487 + 5100 20714.133 233.27745 0 3685.6329 -1.6944135 + 5150 19577.452 422.73035 0 3685.639 -21.831219 + 5200 14044.647 1343.9545 0 3684.729 -6.8407194 + 5250 19089.805 504.0893 0 3685.7235 4.05641 + 5300 21094.745 169.94699 0 3685.7378 -0.66593212 + 5350 19907.559 366.77598 0 3684.7024 1.5248525 + 5400 20382.81 289.13263 0 3686.2676 -11.919321 + 5450 19593.693 420.70548 0 3686.3209 -1.1568628 + 5500 20906.08 202.09801 0 3686.4447 -2.4284971 + 5550 16315.465 965.56973 0 3684.8138 -33.178221 + 5600 19714.57 400.39687 0 3686.1586 19.950231 + 5650 20561.724 259.54797 0 3686.502 8.2074524 + 5700 19349.502 460.7789 0 3685.6959 16.252649 + 5750 21006.818 185.56805 0 3686.7044 -11.96089 + 5800 20268.2 307.97547 0 3686.0089 17.322311 + 5850 21018.322 184.16179 0 3687.2154 -14.379909 + 5900 19695.647 404.57094 0 3687.1787 -20.718904 + 5950 21021.687 183.66311 0 3687.2776 -15.206081 + 6000 18947.535 529.30554 0 3687.2281 17.863927 + 6050 15272.373 1141.012 0 3686.4075 -0.43375666 + 6100 17766.197 721.75792 0 3682.7908 11.378913 + 6150 18612.573 584.06688 0 3686.1623 17.543241 + 6200 19005.155 518.97146 0 3686.4973 -16.223107 + 6250 20997.507 187.55499 0 3687.1394 -11.613546 + 6300 19639.901 413.58048 0 3686.8974 14.407136 + 6350 19580.399 423.02818 0 3686.428 -5.5801796 + 6400 14134.119 1332.0662 0 3687.7527 84.864425 + 6450 21598.824 87.419966 0 3687.224 -5.8358352 + 6500 18208.216 649.29108 0 3683.9938 -8.1510884 + 6550 19364.586 459.59813 0 3687.0291 -12.053563 + 6600 20710.927 235.11914 0 3686.9403 -1.0470193 + 6650 21132.334 165.08091 0 3687.1366 1.0785471 + 6700 20217.285 317.589 0 3687.1365 0.055447462 + 6750 21232.279 148.57412 0 3687.2873 -2.4551657 + 6800 20292.683 304.76539 0 3686.8793 -0.42311295 + 6850 19056.291 510.49927 0 3686.5478 6.9533826 + 6900 20429.82 282.23764 0 3687.2076 -4.2360112 + 6950 21281.278 140.27361 0 3687.1533 -0.07475261 + 7000 17173.388 824.54446 0 3686.7758 10.753828 + 7050 18079.7 674.56274 0 3687.846 12.975804 + 7100 16433.233 950.73904 0 3689.6112 -10.5102 + 7150 19033.335 515.59672 0 3687.8193 0.29109447 + 7200 17286.428 809.02352 0 3690.0948 2.3015698 + 7250 16811.962 886.6645 0 3688.6582 -7.4787512 + 7300 15992.461 1023.4849 0 3688.895 -5.2354222 + 7350 19211.451 487.63129 0 3689.5398 8.4351737 + 7400 19065.682 511.95629 0 3689.57 -12.47448 + 7450 21369.265 128.10098 0 3689.6451 2.2930546 + 7500 16807.109 888.64602 0 3689.8308 14.761969 + 7550 18063.046 679.21873 0 3689.7264 3.8950434 + 7600 17794.987 724.55404 0 3690.3851 14.379016 + 7650 17904.751 706.14354 0 3690.2688 23.813776 + 7700 19670.09 411.3021 0 3689.6504 14.099245 + 7750 18082.562 675.23975 0 3689.0001 15.788521 + 7800 17776.135 726.91445 0 3689.6037 6.9780735 + 7850 17062.575 846.33412 0 3690.0966 -8.9289256 + 7900 19059.2 513.07737 0 3689.6107 16.992843 + 7950 16269.685 978.48914 0 3690.1033 11.180179 + 8000 20115.278 336.91405 0 3689.4604 -6.4882518 + 8050 21173.72 161.15229 0 3690.1056 -2.2164491 + 8100 19238.235 484.42784 0 3690.8004 23.412709 + 8150 18438.4 617.58743 0 3690.6542 0.89156316 + 8200 21438.764 117.12721 0 3690.2546 -1.7193227 + 8250 21195.806 157.66607 0 3690.3003 3.820447 + 8300 21177.549 161.13702 0 3690.7286 0.94938203 + 8350 21060.267 181.06887 0 3691.1135 2.8179025 + 8400 20087.113 343.46206 0 3691.3142 8.1484473 + 8450 19298.478 474.87133 0 3691.2843 -16.239664 + 8500 21654.353 82.083485 0 3691.1423 -8.1464138 + 8550 19920.544 371.34795 0 3691.4386 20.765144 + 8600 21692.293 75.655154 0 3691.0373 -13.316763 + 8650 21231.322 151.8989 0 3690.4526 -11.388238 + 8700 19530.647 434.89585 0 3690.0037 2.7433786 + 8750 19720.63 403.07773 0 3689.8493 -6.416414 + 8800 21321.378 136.04091 0 3689.604 1.3661635 + 8850 19811.906 387.80489 0 3689.7893 3.704143 + 8900 19734.167 400.92444 0 3689.9523 2.5685155 + 8950 21076.459 177.18119 0 3689.9244 -11.939513 + 9000 20967.246 195.42966 0 3689.9707 2.0092705 + 9050 21122.023 169.62103 0 3689.9582 2.3791301 + 9100 20169.346 328.27229 0 3689.8299 -3.5017988 + 9150 21418.641 119.84513 0 3689.6187 2.486073 + 9200 20876.042 210.26452 0 3689.6048 -5.3839897 + 9250 21572.38 93.74407 0 3689.1407 -8.3676952 + 9300 20944.78 197.98577 0 3688.7824 1.3278314 + 9350 20706.52 237.48767 0 3688.5744 4.6944204 + 9400 16412.314 953.47251 0 3688.8581 26.134976 + 9450 20461.68 277.76243 0 3688.0424 17.647445 + 9500 20893.994 205.64261 0 3687.9749 -10.642418 + 9550 20503.447 270.63504 0 3687.8761 -17.769897 + 9600 19677.799 408.05887 0 3687.692 -2.7938604 + 9650 17480.971 774.1855 0 3687.6806 0.59827043 + 9700 17799.126 721.50817 0 3688.0292 44.387928 + 9750 20443.384 280.16837 0 3687.399 3.0619324 + 9800 20545.255 263.40108 0 3687.6102 3.6229381 + 9850 20722.819 233.57142 0 3687.3745 0.86462694 + 9900 21128.462 165.09767 0 3686.508 -6.9636843 + 9950 21343.307 130.46714 0 3687.685 -9.7382705 + 10000 20623.887 250.37866 0 3687.6932 2.7529835 +Loop time of 2.27157 on 1 procs for 10000 steps with 81 atoms + +Performance: 38035.351 tau/day, 4402.240 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.092926 | 0.092926 | 0.092926 | 0.0 | 4.09 +Neigh | 0.076362 | 0.076362 | 0.076362 | 0.0 | 3.36 +Comm | 0.0069691 | 0.0069691 | 0.0069691 | 0.0 | 0.31 +Output | 0.0037444 | 0.0037444 | 0.0037444 | 0.0 | 0.16 +Modify | 2.0832 | 2.0832 | 2.0832 | 0.0 | 91.71 +Other | | 0.00841 | | | 0.37 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 62 ave 62 max 62 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 905 ave 905 max 905 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 905 +Ave neighs/atom = 11.17284 +Neighbor list builds = 991 +Dangerous builds = 927 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.4 b/examples/rigid/log.20Mar22.rigid.poems.g++.4 new file mode 100644 index 0000000000..7e651a7aaf --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.4384281 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699115 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538606 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.03 99.812843 0 3680.6511 -16.185479 + 1450 21771.107 52.159652 0 3680.6775 -2.4756656 + 1500 21520.949 93.503872 0 3680.3286 2.1023574 + 1550 21351.419 121.68131 0 3680.2511 5.5159875 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21877 0 3679.8247 -1.104524 + 1700 18501.329 596.48084 0 3680.0357 -15.679806 + 1750 18563.639 587.34841 0 3681.2882 33.532316 + 1800 19110.174 494.82524 0 3679.8543 18.024079 + 1850 21364.178 119.23767 0 3679.9339 2.5290075 + 1900 20146.588 322.15506 0 3679.9197 5.7317368 + 1950 20692.674 231.25288 0 3680.0319 4.2977982 + 2000 20943.904 189.11229 0 3679.7629 -22.643749 + 2050 19667.815 401.87016 0 3679.8394 3.6240972 + 2100 20280.109 299.81759 0 3679.8357 7.4803647 + 2150 19181.146 483.63975 0 3680.4974 22.634167 + 2200 21301.194 130.53171 0 3680.7308 4.7072523 + 2250 20484.79 266.99736 0 3681.1291 -8.6583002 + 2300 18648.002 573.09962 0 3681.1 -5.2548835 + 2350 21515.851 95.225745 0 3681.2009 -9.3875216 + 2400 21462.37 104.21272 0 3681.2744 -29.459857 + 2450 20108.034 330.94394 0 3682.2829 35.37058 + 2500 20771.818 220.42545 0 3682.3951 -12.318936 + 2550 20502.815 265.09577 0 3682.2316 -22.726822 + 2600 21462.006 105.2733 0 3682.2744 -10.180394 + 2650 21009.656 180.72738 0 3682.3367 4.9580828 + 2700 18680.012 569.37179 0 3682.7071 21.114114 + 2750 21256.19 139.42201 0 3682.1203 -7.4744399 + 2800 21552.267 90.071446 0 3682.1159 -6.2906304 + 2850 20879.958 202.00905 0 3682.0021 0.57990903 + 2900 19018.645 512.35214 0 3682.1262 13.883084 + 2950 19819.365 378.55747 0 3681.785 -0.7348943 + 3000 20269.229 303.35149 0 3681.5563 6.3088075 + 3050 19236.727 475.99457 0 3682.1158 -10.703575 + 3100 18391.55 616.96976 0 3682.2281 9.850079 + 3150 20258.563 305.82076 0 3682.248 7.1951283 + 3200 20716.384 229.15502 0 3681.8856 2.9042294 + 3250 18662.237 572.0784 0 3682.4512 9.2108597 + 3300 19162.278 488.60646 0 3682.3195 3.3306562 + 3350 21235.679 142.98279 0 3682.2626 0.29397483 + 3400 17677.053 736.09247 0 3682.2679 32.75269 + 3450 20852.392 206.65618 0 3682.0548 -4.8319056 + 3500 21182.918 151.46754 0 3681.9539 -5.6330382 + 3550 20589.85 250.40724 0 3682.049 12.582133 + 3600 20973.659 186.28043 0 3681.8903 10.935266 + 3650 17838.632 707.92145 0 3681.0268 -17.200926 + 3700 21538.002 92.744409 0 3682.4114 -0.72124229 + 3750 21390.294 117.90865 0 3682.9576 -7.8431786 + 3800 17921.046 696.50311 0 3683.344 -9.4641531 + 3850 20356.471 290.22624 0 3682.9715 2.4593463 + 3900 20374.077 287.10249 0 3682.782 -1.9519082 + 3950 20563.915 255.29993 0 3682.619 -6.124649 + 4000 20991.467 184.76183 0 3683.3397 1.8954961 + 4050 17805.623 716.24698 0 3683.8509 -20.454944 + 4100 19916.389 363.86301 0 3683.2611 -0.27912557 + 4150 19221.623 480.01232 0 3683.6161 -11.562492 + 4200 20526.82 261.78571 0 3682.9224 -3.9522917 + 4250 20922.813 196.1799 0 3683.3154 0.11947446 + 4300 19956.66 357.78133 0 3683.8914 19.156093 + 4350 19735.73 394.45981 0 3683.7482 14.865775 + 4400 21702.656 67.099805 0 3684.2092 -13.502538 + 4450 18163.055 656.97231 0 3684.1482 -0.6243111 + 4500 17477.718 771.25976 0 3684.2127 -0.4664004 + 4550 20676.507 238.19814 0 3684.2827 -19.444969 + 4600 17322.922 796.77058 0 3683.9242 27.003966 + 4650 11905.158 1704.9151 0 3689.1082 15.574169 + 4700 18689.079 569.80982 0 3684.6563 -14.67311 + 4750 19821.745 381.01914 0 3684.6433 5.0436795 + 4800 20621.335 247.96269 0 3684.8518 -16.407263 + 4850 21923.814 30.965964 0 3684.935 -13.418244 + 4900 18840.555 544.41538 0 3684.5079 11.005357 + 4950 15366.601 1124.2481 0 3685.3482 17.412375 + 5000 18274.314 639.01311 0 3684.732 5.3261109 + 5050 21173.687 155.83673 0 3684.7845 5.4056809 + 5100 21738.219 61.75201 0 3684.7885 -2.631945 + 5150 16597.949 918.84841 0 3685.1732 -10.124101 + 5200 20752.758 225.95919 0 3684.7522 -5.2441372 + 5250 17652.088 741.2645 0 3683.2793 2.0080739 + 5300 19907.523 366.53115 0 3684.4516 8.4266792 + 5350 20104.189 334.14522 0 3684.8433 17.21925 + 5400 21499.848 101.71631 0 3685.0243 -6.1103541 + 5450 21203.533 151.14574 0 3685.068 -5.9468503 + 5500 21076.513 172.45652 0 3685.2088 5.1418181 + 5550 20158.398 325.56609 0 3685.2992 -1.6486034 + 5600 20787.836 221.19563 0 3685.835 -10.66805 + 5650 19687.154 404.77204 0 3685.9644 -23.49128 + 5700 20419.311 282.58328 0 3685.8017 -0.52808211 + 5750 19738.522 395.95893 0 3685.7126 1.3889817 + 5800 18300.025 635.66905 0 3685.6732 23.490447 + 5850 20585.004 255.02032 0 3685.8543 -0.20699939 + 5900 20373.839 290.15881 0 3685.7987 -7.9712187 + 5950 18163.832 659.91192 0 3687.2173 5.4494586 + 6000 21049.247 177.43029 0 3685.6382 2.9138342 + 6050 21239.803 145.77613 0 3685.7433 -1.4927769 + 6100 20686.361 237.86454 0 3685.5913 -0.95516297 + 6150 20461.754 275.31546 0 3685.6079 -3.4166412 + 6200 19264.208 474.73017 0 3685.4316 11.750757 + 6250 21180.813 155.31746 0 3685.4529 2.8188219 + 6300 21047.543 177.4394 0 3685.3632 1.8641486 + 6350 20232.576 313.17716 0 3685.2731 2.8150209 + 6400 20185.616 321.33454 0 3685.6038 -3.8697311 + 6450 18969.632 523.95865 0 3685.5639 0.6725512 + 6500 17592.574 753.49959 0 3685.5952 -1.2557393 + 6550 21279.049 138.42524 0 3684.9335 -1.208945 + 6600 21408.457 116.4143 0 3684.4904 -1.5332953 + 6650 19758.218 391.17316 0 3684.2096 1.8511312 + 6700 20766.943 223.44631 0 3684.6036 -2.3672623 + 6750 20399.631 284.09914 0 3684.0377 -5.4089876 + 6800 21296.628 135.14662 0 3684.5847 -3.8442549 + 6850 20641.481 244.4451 0 3684.692 1.4020639 + 6900 20852.81 209.23009 0 3684.6984 1.8512104 + 6950 20940.555 194.66882 0 3684.7614 -6.554676 + 7000 19496.988 435.28199 0 3684.78 -15.120269 + 7050 19796.829 385.04227 0 3684.5138 -4.1068804 + 7100 19945.264 360.42431 0 3684.635 -4.0629042 + 7150 19431.123 446.12911 0 3684.6497 -6.8321751 + 7200 16864.851 873.80043 0 3684.6089 14.309069 + 7250 20438.75 277.85982 0 3684.3181 -11.41223 + 7300 17688.684 734.01576 0 3682.1298 35.938373 + 7350 21573.419 88.63421 0 3684.204 -3.9032749 + 7400 21198.486 150.72249 0 3683.8034 -7.1477117 + 7450 20586.708 252.93928 0 3684.0572 -7.6634645 + 7500 21815.377 48.180377 0 3684.0765 0.97457507 + 7550 17791.352 718.87564 0 3684.101 28.248235 + 7600 21828.874 45.928597 0 3684.0742 -0.25814944 + 7650 20827.961 212.35674 0 3683.6835 -3.4083384 + 7700 21319.176 130.43547 0 3683.6315 -12.434856 + 7750 20127.904 328.69643 0 3683.3471 -16.975711 + 7800 21741.772 59.679206 0 3683.3078 3.6261863 + 7850 19612.334 414.37418 0 3683.0964 1.3763274 + 7900 20071.318 337.74624 0 3682.9658 -0.40982763 + 7950 17925.664 695.29582 0 3682.9065 17.104439 + 8000 19125.978 492.76383 0 3680.4268 10.807662 + 8050 20233.848 310.42681 0 3682.7347 13.386237 + 8100 20551.619 257.86699 0 3683.1368 -13.97515 + 8150 21578.323 86.88362 0 3683.2708 -9.6811587 + 8200 21154.833 157.72897 0 3683.5344 0.62312375 + 8250 21321.143 129.83967 0 3683.3636 1.9536438 + 8300 21041.696 176.04177 0 3682.9911 4.7475567 + 8350 19883.39 369.32649 0 3683.2247 -7.0959328 + 8400 21626.067 79.062992 0 3683.4075 -14.919059 + 8450 21375.201 120.86836 0 3683.4019 -5.3461514 + 8500 20281.059 303.10304 0 3683.2796 3.7975093 + 8550 21170.533 154.48432 0 3682.9065 -1.1568561 + 8600 17754.931 724.00158 0 3683.1568 14.15254 + 8650 20685.478 235.65879 0 3683.2385 -5.2694179 + 8700 21489.165 101.90509 0 3683.4326 -4.2510612 + 8750 21106.682 165.41638 0 3683.1968 -3.9186708 + 8800 19149.516 491.5843 0 3683.1702 -11.419849 + 8850 21451.865 108.1814 0 3683.4923 -7.8256219 + 8900 19567.4 421.81206 0 3683.0454 -0.71997056 + 8950 20934.097 194.48033 0 3683.4965 -7.0106879 + 9000 18531.559 595.25957 0 3683.8528 3.7449399 + 9050 18868.821 537.22549 0 3682.029 9.9926092 + 9100 19972.527 354.73119 0 3683.4858 -0.30871263 + 9150 19641.651 409.18618 0 3682.7947 -1.3036238 + 9200 20019.08 346.19657 0 3682.7099 6.7425386 + 9250 19259.286 473.04973 0 3682.9308 -24.120659 + 9300 21597.757 82.971857 0 3682.598 -13.748483 + 9350 19348.379 457.23576 0 3681.9656 3.1571402 + 9400 19129.588 493.35235 0 3681.617 8.6293783 + 9450 20337.025 291.20959 0 3680.7138 6.8590795 + 9500 20581.788 249.65891 0 3679.9569 -18.892836 + 9550 19482.069 433.0077 0 3680.0192 23.029778 + 9600 19182.794 482.96871 0 3680.101 -11.081731 + 9650 20086.771 332.5311 0 3680.3263 -18.939681 + 9700 20274.046 300.98818 0 3679.9959 6.7538762 + 9750 18743.595 555.08045 0 3679.0129 8.2757138 + 9800 19464.311 435.66288 0 3679.7148 7.0528759 + 9850 21249.848 138.27382 0 3679.9152 -10.847402 + 9900 21156.214 153.84621 0 3679.8819 -7.8359674 + 9950 21643.134 72.547515 0 3679.7365 -10.507744 + 10000 19587.948 414.64942 0 3679.3075 6.1173553 +Loop time of 2.36879 on 4 procs for 10000 steps with 81 atoms + +Performance: 36474.344 tau/day, 4221.568 timesteps/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.005348 | 0.024925 | 0.056071 | 12.2 | 1.05 +Neigh | 0.0075012 | 0.022046 | 0.043933 | 9.3 | 0.93 +Comm | 0.13135 | 0.16461 | 0.1917 | 5.9 | 6.95 +Output | 0.0036298 | 0.004271 | 0.0056384 | 1.2 | 0.18 +Modify | 2.1147 | 2.1322 | 2.1418 | 0.7 | 90.01 +Other | | 0.02072 | | | 0.87 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 41 ave 78 max 11 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 193.5 ave 774 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 774 +Ave neighs/atom = 9.5555556 +Neighbor list builds = 989 +Dangerous builds = 915 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.1 b/examples/rigid/log.20Mar22.rigid.poems2.g++.1 new file mode 100644 index 0000000000..57f2040a67 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems2.g++.1 @@ -0,0 +1,330 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086359 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977442 0 3904.4178 9.0928158 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47231 0 3902.9213 0.6921524 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05177 0 3902.1317 4.6838621 + 850 19932.48 210.71175 0 3901.9118 3.4716043 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.874422 + 1200 20767.681 56.717094 0 3902.5839 -34.817444 + 1250 20625.583 82.586399 0 3902.1388 11.697329 + 1300 20690.013 71.006478 0 3902.4903 -29.292777 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.559 244.81785 0 3902.8844 6.7138514 + 1450 15690.149 998.342 0 3903.9252 48.124557 + 1500 20234.455 155.92516 0 3903.0465 13.17221 + 1550 20779.631 55.063009 0 3903.1428 -2.639045 + 1600 20642.753 80.233905 0 3902.9659 -2.4688467 + 1650 18785.696 423.90402 0 3902.7365 -5.6466663 + 1700 20965.076 20.760444 0 3903.182 -0.45364296 + 1750 18935.406 396.96067 0 3903.5173 25.913302 + 1800 20581.559 91.756972 0 3903.1567 3.8217234 + 1850 20616.946 85.184849 0 3903.1378 4.1907972 + 1900 16602.053 828.40949 0 3902.8637 -0.49505122 + 1950 20175.526 166.53362 0 3902.7421 5.603825 + 2000 20261.924 150.39322 0 3902.6014 -1.196958 + 2050 20170.339 167.40504 0 3902.6531 -0.80849882 + 2100 19820.132 231.26755 0 3901.6624 3.1476607 + 2150 20666.19 75.838461 0 3902.9106 0.53899287 + 2200 19873.51 222.53286 0 3902.8124 7.9310276 + 2250 18548.063 467.69698 0 3902.5235 16.905356 + 2300 20616.61 84.762399 0 3902.6531 -6.7872951 + 2350 18167.738 538.13635 0 3902.5322 -11.458285 + 2400 20120.227 177.01954 0 3902.9875 -1.2593018 + 2450 20436.599 118.32469 0 3902.8801 -6.5989174 + 2500 18919.923 400.26361 0 3903.9531 32.37476 + 2550 19675.809 259.77151 0 3903.4398 19.437327 + 2600 19739.842 247.86388 0 3903.3901 -7.519784 + 2650 20557.026 96.530313 0 3903.387 0.60211646 + 2700 20666.602 76.099892 0 3903.2484 0.16825503 + 2750 20924.585 28.453883 0 3903.3771 2.4227171 + 2800 20360.659 132.8596 0 3903.352 4.1440877 + 2850 20783.475 54.518625 0 3903.3102 -0.57312067 + 2900 20456.181 115.03745 0 3903.2191 -20.118887 + 2950 20779.493 55.321394 0 3903.3756 -0.26783079 + 3000 20011.867 197.30216 0 3903.2035 -1.4704201 + 3050 20741.875 62.208723 0 3903.2966 -7.5432815 + 3100 21001.754 14.148298 0 3903.362 2.9676438 + 3150 20244.086 154.44639 0 3903.3512 -1.9071213 + 3200 20639.615 81.136426 0 3903.2873 1.4826467 + 3250 20735.244 63.529571 0 3903.3895 2.1127055 + 3300 20142.891 173.22282 0 3903.3878 4.7739415 + 3350 19963.765 206.21899 0 3903.2126 5.5410771 + 3400 16628.667 824.13627 0 3903.519 36.087673 + 3450 19228.218 342.81569 0 3903.5968 3.1057274 + 3500 19759.293 244.57876 0 3903.707 2.2339557 + 3550 19853.21 227.06362 0 3903.584 -1.0882119 + 3600 19673.516 260.64854 0 3903.8923 -10.63775 + 3650 19619.238 270.5393 0 3903.7316 -6.3746003 + 3700 20756.865 59.790243 0 3903.6542 -8.3015766 + 3750 20265.025 150.47347 0 3903.2559 -5.7284695 + 3800 20944.683 24.669276 0 3903.3142 -0.070552298 + 3850 19344.831 320.59492 0 3902.971 13.040749 + 3900 19978.209 203.00247 0 3902.6708 0.15638133 + 3950 19864.118 224.19359 0 3902.734 0.453229 + 4000 17606.216 642.71493 0 3903.1252 -12.656002 + 4050 18017.895 566.54102 0 3903.1883 12.133906 + 4100 20092.963 182.17593 0 3903.095 7.7445947 + 4150 20555.337 96.395074 0 3902.939 -6.5429752 + 4200 20709.781 67.869199 0 3903.0138 -2.8653003 + 4250 18956.203 392.20748 0 3902.6155 -1.6249728 + 4300 17816.204 603.72704 0 3903.0241 23.089239 + 4350 18979.742 388.04678 0 3902.8138 3.2511108 + 4400 20272.085 148.82367 0 3902.9135 1.9518268 + 4450 18820.003 417.74789 0 3902.9337 6.3979299 + 4500 19991.936 200.50131 0 3902.7117 3.5118553 + 4550 20915.092 29.663898 0 3902.8291 -2.3174641 + 4600 20690.37 71.125087 0 3902.6752 -12.008575 + 4650 18893.76 404.50849 0 3903.3529 15.006184 + 4700 18611.123 456.1263 0 3902.6306 -5.3574892 + 4750 20497.821 106.5856 0 3902.4784 0.85039837 + 4800 20803.214 50.120522 0 3902.5675 3.8610873 + 4850 18849.598 411.72635 0 3902.3927 9.2029058 + 4900 18121.714 546.68042 0 3902.5533 9.4522272 + 4950 20377.499 128.99323 0 3902.6041 5.3825395 + 5000 20686.114 72.039749 0 3902.8016 -5.706271 + 5050 20180.449 165.51368 0 3902.634 -16.418461 + 5100 20274.947 148.36657 0 3902.9864 -5.6668309 + 5150 18042.324 560.74137 0 3901.9125 3.6791541 + 5200 20794.666 52.204446 0 3903.0685 -1.4517721 + 5250 19073.55 371.18834 0 3903.3272 -13.457439 + 5300 20821.412 47.364313 0 3903.1813 2.258098 + 5350 20583.073 91.271191 0 3902.9513 5.4323985 + 5400 20490.967 108.41184 0 3903.0353 4.122905 + 5450 18141.79 543.66874 0 3903.2594 -0.19951075 + 5500 20274.012 148.55528 0 3903.002 5.0489974 + 5550 17806.237 605.43454 0 3902.8858 43.80619 + 5600 20999.825 14.341937 0 3903.1983 1.0879933 + 5650 20930.929 27.025347 0 3903.1234 -7.0860209 + 5700 20677.725 73.853093 0 3903.0614 2.6864775 + 5750 20521.264 102.87509 0 3903.1092 2.6940548 + 5800 20792.571 52.596021 0 3903.0721 1.2910217 + 5850 20518.674 103.26595 0 3903.0204 -9.2547271 + 5900 18417.885 491.66696 0 3902.3865 -12.049357 + 5950 17243.837 709.37858 0 3902.6817 -6.2357188 + 6000 20262.525 149.56918 0 3901.8885 -0.28964823 + 6050 19883.554 219.14043 0 3901.2801 2.3071707 + 6100 16548.178 838.47869 0 3902.956 -11.715644 + 6150 19601.177 272.14674 0 3901.9944 -0.9008056 + 6200 20499.796 106.2363 0 3902.4949 0.79071424 + 6250 19601.106 272.50139 0 3902.3359 -1.9306693 + 6300 17210.685 712.70535 0 3899.8692 4.8890923 + 6350 19911.896 214.91041 0 3902.2985 12.691129 + 6400 18834.642 411.87123 0 3899.7678 -1.9447856 + 6450 20216.311 158.39781 0 3902.1591 2.6009109 + 6500 20452.025 114.97122 0 3902.3832 0.14644416 + 6550 19142.589 357.34097 0 3902.2649 2.8968485 + 6600 20412.915 122.08784 0 3902.2573 3.1343105 + 6650 17317.867 699.39994 0 3906.4123 42.25563 + 6700 20479.771 109.8036 0 3902.3537 1.3520625 + 6750 20306.902 142.12484 0 3902.6623 2.2032106 + 6800 20755.367 58.994834 0 3902.5814 -0.90518094 + 6850 20471.259 111.7197 0 3902.6936 1.5799331 + 6900 20702.025 69.15032 0 3902.8586 9.3910371 + 6950 20477.695 110.34414 0 3902.5099 1.8181164 + 7000 20560.727 95.057704 0 3902.5998 -15.686006 + 7050 20336.675 136.39386 0 3902.4448 1.3704327 + 7100 20757.399 58.950153 0 3902.913 -6.4250981 + 7150 20870.958 38.095649 0 3903.088 -4.1962169 + 7200 20706.869 68.489134 0 3903.0944 2.8322659 + 7250 20386.713 127.7432 0 3903.0604 6.0287391 + 7300 18391.773 497.21001 0 3903.0939 19.202343 + 7350 20178.898 166.4993 0 3903.3322 1.5682417 + 7400 16858.704 781.78682 0 3903.7691 21.317514 + 7450 17509.513 660.71963 0 3903.2221 -5.9456143 + 7500 19974.601 204.20412 0 3903.2043 -0.69202711 + 7550 20917.053 29.73415 0 3903.2626 -3.9962577 + 7600 20923.518 28.482703 0 3903.2083 -1.9016251 + 7650 20549.528 97.630612 0 3903.0987 3.5512257 + 7700 20861.441 39.903885 0 3903.1337 2.4426264 + 7750 18843.349 413.64461 0 3903.1537 2.677739 + 7800 20616.054 85.214364 0 3903.0021 3.9639004 + 7850 16478.851 851.93376 0 3903.5728 7.3763128 + 7900 20312.115 141.35103 0 3902.8539 4.6707271 + 7950 20389.623 127.16589 0 3903.0219 3.4414001 + 8000 20452.117 115.30715 0 3902.7362 -1.0162528 + 8050 20857.093 40.791886 0 3903.2164 -15.150068 + 8100 19817.543 233.4997 0 3903.415 0.89346046 + 8150 18649.521 449.9112 0 3903.5262 -0.40053588 + 8200 19619.276 270.37616 0 3903.5754 5.5161492 + 8250 20393.176 127.01336 0 3903.5275 2.122613 + 8300 19145.912 358.00424 0 3903.5435 3.863924 + 8350 19636.311 267.17226 0 3903.5262 -7.1496084 + 8400 19086.332 368.86693 0 3903.3729 7.0968952 + 8450 19494.416 292.89527 0 3902.9723 3.1750935 + 8500 20041.919 191.77756 0 3903.244 0.95215503 + 8550 20357.561 133.15478 0 3903.0736 -0.14020152 + 8600 16998.797 756.07003 0 3903.9954 -16.724408 + 8650 20853.26 41.386996 0 3903.1017 -3.2612965 + 8700 20767.768 57.360884 0 3903.2438 1.1157649 + 8750 20752.546 60.106518 0 3903.1705 0.39130547 + 8800 20574.407 92.99798 0 3903.0734 0.61728166 + 8850 20326.99 138.94203 0 3903.1995 -1.9434522 + 8900 17408.108 679.53222 0 3903.2559 21.935371 + 8950 20471.21 112.2721 0 3903.2368 1.8142747 + 9000 19129.591 360.35257 0 3902.8694 4.5786395 + 9050 20439.668 117.89541 0 3903.0191 2.5585685 + 9100 20780.375 54.788664 0 3903.0062 3.8312459 + 9150 19904.559 216.61504 0 3902.6445 12.150414 + 9200 20961.295 21.52065 0 3903.2419 -0.2120699 + 9250 19315.252 326.44175 0 3903.3402 -19.740867 + 9300 20653.002 78.77764 0 3903.4076 -7.8068233 + 9350 18961.572 391.20947 0 3902.6117 -12.660843 + 9400 16262.179 892.67633 0 3904.191 22.2435 + 9450 17064.394 743.33301 0 3903.406 36.139436 + 9500 18075.588 555.06436 0 3902.3954 24.598176 + 9550 20487.738 109.06287 0 3903.0884 2.6320759 + 9600 20358.609 133.36993 0 3903.4828 0.76449113 + 9650 19849.022 228.46312 0 3904.208 9.5547064 + 9700 20448.112 116.8757 0 3903.5632 -1.0845697 + 9750 20472.78 112.51661 0 3903.7722 -0.30676738 + 9800 19491.99 293.35361 0 3902.9814 -20.10857 + 9850 19895.603 218.42479 0 3902.7957 -0.18235641 + 9900 19704.336 254.55068 0 3903.5019 14.553184 + 9950 17689.462 627.9788 0 3903.805 4.9918088 + 10000 20184.205 165.29396 0 3903.1097 2.9472364 +Loop time of 2.2898 on 1 procs for 10000 steps with 81 atoms + +Performance: 37732.583 tau/day, 4367.197 timesteps/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.053341 | 0.053341 | 0.053341 | 0.0 | 2.33 +Neigh | 0.056174 | 0.056174 | 0.056174 | 0.0 | 2.45 +Comm | 0.0087028 | 0.0087028 | 0.0087028 | 0.0 | 0.38 +Output | 0.0036774 | 0.0036774 | 0.0036774 | 0.0 | 0.16 +Modify | 2.1598 | 2.1598 | 2.1598 | 0.0 | 94.32 +Other | | 0.008128 | | | 0.35 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 113 ave 113 max 113 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 582 ave 582 max 582 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 582 +Ave neighs/atom = 7.1851852 +Neighbor list builds = 993 +Dangerous builds = 950 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.4 b/examples/rigid/log.20Mar22.rigid.poems2.g++.4 new file mode 100644 index 0000000000..89585cd109 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems2.g++.4 @@ -0,0 +1,330 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086358 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977039 0 3904.4174 9.0928122 + 250 19552.211 283.50525 0 3904.285 15.670466 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717095 0 3902.5839 -34.817444 + 1250 20625.583 82.586198 0 3902.1386 11.697328 + 1300 20690.013 71.006478 0 3902.4903 -29.29278 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.56 244.81784 0 3902.8844 6.7138497 + 1450 15690.149 998.34213 0 3903.9252 48.124569 + 1500 20234.455 155.92516 0 3903.0465 13.172207 + 1550 20779.631 55.063019 0 3903.1428 -2.6390455 + 1600 20642.753 80.233821 0 3902.9659 -2.4688431 + 1650 18785.698 423.90364 0 3902.7365 -5.6466892 + 1700 20965.076 20.760451 0 3903.182 -0.45366172 + 1750 18935.412 396.95958 0 3903.5173 25.913174 + 1800 20581.554 91.757912 0 3903.1567 3.8218442 + 1850 20616.949 85.184789 0 3903.1382 4.1907933 + 1900 16601.896 828.43849 0 3902.8638 -0.49468175 + 1950 20175.564 166.52646 0 3902.7421 5.6035728 + 2000 20262.525 150.28224 0 3902.6017 -1.1967705 + 2050 20168.994 167.65314 0 3902.6521 -0.80723928 + 2100 19810.955 232.96524 0 3901.6605 3.1936531 + 2150 20667.232 75.645145 0 3902.9103 0.54812734 + 2200 19863.772 224.34646 0 3902.8228 7.9294465 + 2250 18808.943 419.2084 0 3902.3461 14.344526 + 2300 20573.665 92.761842 0 3902.6999 -6.7671703 + 2350 19075.104 369.95414 0 3902.3809 -9.5353568 + 2400 20273.873 148.53775 0 3902.9586 -1.93796 + 2450 20087.769 182.30216 0 3902.2593 2.131796 + 2500 20711.602 67.530554 0 3903.0124 2.6280244 + 2550 19971.224 204.75926 0 3903.134 3.1760522 + 2600 20620.084 85.027145 0 3903.5612 -0.92888063 + 2650 19737.546 248.65474 0 3903.7559 -3.3218688 + 2700 20650.724 79.522243 0 3903.7303 -7.5918025 + 2750 19863.245 225.2505 0 3903.6292 9.2140221 + 2800 18992.457 386.73547 0 3903.8572 2.6244537 + 2850 18703.899 440.48356 0 3904.1685 14.561348 + 2900 17939.805 581.74599 0 3903.932 -8.0863089 + 2950 20867.516 39.38186 0 3903.7367 3.0985423 + 3000 19767.994 242.8847 0 3903.6243 1.5943109 + 3050 20397.448 126.31591 0 3903.6212 -0.14982775 + 3100 20978.114 19.126395 0 3903.9623 -9.6797253 + 3150 18303.556 513.8514 0 3903.3989 4.5940322 + 3200 19156.505 356.46608 0 3903.9671 10.071308 + 3250 17484.205 666.52199 0 3904.3377 -4.1641768 + 3300 18069.94 557.75947 0 3904.0447 11.868707 + 3350 20855.645 41.964632 0 3904.1212 5.4186293 + 3400 18011.986 568.76255 0 3904.3155 25.262783 + 3450 18669.69 446.92755 0 3904.2776 -4.194499 + 3500 20248.799 154.22147 0 3903.9991 3.9211572 + 3550 20226.024 158.64726 0 3904.2072 1.5299114 + 3600 20267.02 151.25631 0 3904.4082 -8.9821729 + 3650 20522.946 103.65382 0 3904.1994 -14.433796 + 3700 20892.319 35.294614 0 3904.2426 -21.264596 + 3750 19942.202 211.02993 0 3904.0304 -1.6428817 + 3800 20421.678 122.08118 0 3903.8734 1.7137935 + 3850 17899.53 588.82593 0 3903.5536 -24.450276 + 3900 20721.119 66.486999 0 3903.7312 -7.1772088 + 3950 20946.484 24.799445 0 3903.778 -0.4028037 + 4000 20985.362 17.608355 0 3903.7865 4.7522266 + 4050 19969.779 205.46466 0 3903.5719 18.941639 + 4100 20479.578 110.56561 0 3903.08 2.3715952 + 4150 18110.701 549.53348 0 3903.367 1.133321 + 4200 19321.098 325.58216 0 3903.5634 -3.7574942 + 4250 20734.436 63.87616 0 3903.5865 0.48350623 + 4300 19446.823 302.1727 0 3903.4362 4.0462392 + 4350 20494.669 108.1918 0 3903.501 2.9789077 + 4400 20379.244 129.61413 0 3903.5482 4.0881089 + 4450 19710.564 253.4251 0 3903.5295 5.3334683 + 4500 20744.753 61.785082 0 3903.406 4.0015409 + 4550 19948.024 208.76984 0 3902.8484 2.705423 + 4600 18367.368 502.69569 0 3904.0602 21.476471 + 4650 20559.367 96.133242 0 3903.4234 2.2549454 + 4700 20940.135 25.547808 0 3903.3505 -8.9042666 + 4750 20128.703 175.82088 0 3903.3584 -8.1450176 + 4800 20632.27 82.543887 0 3903.3347 -0.55649542 + 4850 19864.539 224.63792 0 3903.2563 7.1553461 + 4900 19332.037 323.15561 0 3903.1625 17.020214 + 4950 19055.575 373.68069 0 3902.4908 10.149457 + 5000 20219.484 159.21383 0 3903.5627 3.1806346 + 5050 17557.761 652.32864 0 3903.7659 10.733736 + 5100 20615.337 85.795304 0 3903.4503 -3.6035636 + 5150 20759.853 59.155843 0 3903.573 2.0152286 + 5200 20082.007 184.39375 0 3903.2839 -5.3745109 + 5250 18689.521 442.59842 0 3903.6208 -9.8911164 + 5300 20038.496 192.34221 0 3903.1749 -2.1437039 + 5350 19897.455 218.70142 0 3903.4154 0.64582116 + 5400 18732.385 434.21543 0 3903.1755 12.98676 + 5450 19831.487 230.79099 0 3903.2886 11.439958 + 5500 20079.89 184.6953 0 3903.1935 4.0906279 + 5550 20453.497 115.47128 0 3903.1559 7.8844436 + 5600 16673.041 815.52661 0 3903.1267 -20.17797 + 5650 19691.378 256.6412 0 3903.1928 3.7103317 + 5700 20345.743 135.29997 0 3903.0302 5.6373816 + 5750 20769.613 56.906603 0 3903.1312 -17.564762 + 5800 20713.369 67.38314 0 3903.1922 -5.340631 + 5850 20799.947 51.348865 0 3903.1909 -2.7827653 + 5900 19581.933 273.51588 0 3899.7997 12.347375 + 5950 20444.438 116.909 0 3902.9161 -0.74896654 + 6000 18970.948 389.99664 0 3903.1352 26.642912 + 6050 19414.753 307.13217 0 3902.4568 25.86316 + 6100 20780.042 54.586474 0 3902.7424 1.5387425 + 6150 20885.872 35.091585 0 3902.8456 -8.251884 + 6200 19825.81 231.40943 0 3902.8558 6.7196589 + 6250 20578.278 92.255994 0 3903.0481 -5.9647091 + 6300 20093.43 181.8699 0 3902.8754 -9.9906069 + 6350 20605.294 87.180289 0 3902.9755 -3.5643876 + 6400 19737.257 247.84828 0 3902.8958 -4.2783347 + 6450 19884.717 220.81633 0 3903.1714 3.8758905 + 6500 18719.372 436.94802 0 3903.4984 1.7865904 + 6550 20096.883 181.63346 0 3903.2784 2.395512 + 6600 20888.673 35.003062 0 3903.2758 2.7728947 + 6650 20437.85 118.16373 0 3902.9507 8.1456757 + 6700 19241.051 339.73065 0 3902.8882 13.740454 + 6750 20407.542 123.94326 0 3903.1177 7.6285942 + 6800 20536.785 99.976706 0 3903.0851 8.3496632 + 6850 20625.328 83.579677 0 3903.0849 6.5074992 + 6900 20705.37 68.944625 0 3903.2724 3.1905177 + 6950 18872.424 408.67134 0 3903.5647 6.2638845 + 7000 20072.762 186.18051 0 3903.3586 -22.780407 + 7050 20461.879 114.07495 0 3903.3117 -11.495523 + 7100 19811.566 234.50237 0 3903.3108 1.1212695 + 7150 20742.918 61.884088 0 3903.1651 -3.7907508 + 7200 20911.192 30.599903 0 3903.0429 -7.0262304 + 7250 20879.755 36.30274 0 3902.9241 -5.8018787 + 7300 20682.32 72.703261 0 3902.7626 -3.3446789 + 7350 19401.046 309.70672 0 3902.493 3.4836528 + 7400 20220.542 157.83897 0 3902.3838 2.3400031 + 7450 17691.193 625.47764 0 3901.6244 25.239568 + 7500 19745.294 245.02566 0 3901.5615 5.3622843 + 7550 19685.719 256.70983 0 3902.2133 3.4560563 + 7600 18830.192 415.10021 0 3902.1727 -0.10282681 + 7650 19613.136 270.18979 0 3902.2521 8.2241536 + 7700 20989.015 15.636879 0 3902.4915 1.2955204 + 7750 20301.583 142.90625 0 3902.4586 0.12548373 + 7800 18360.147 502.50342 0 3902.5307 17.117272 + 7850 20796.478 51.032537 0 3902.2321 -3.0993883 + 7900 20284.267 145.64296 0 3901.9887 -1.2682383 + 7950 20280.983 146.13471 0 3901.8723 3.5999841 + 8000 20915.869 28.730821 0 3902.0399 2.4987291 + 8050 20745.162 60.19981 0 3901.8964 4.0643481 + 8100 20509.039 103.70462 0 3901.6748 1.0771863 + 8150 20212.97 158.64893 0 3901.7916 3.0000215 + 8200 20323.463 138.25912 0 3901.8634 -1.2802945 + 8250 19997.284 198.37183 0 3901.5727 -2.6431964 + 8300 20138.402 171.75824 0 3901.092 1.7669897 + 8350 20367.568 130.22531 0 3901.9972 -1.2153731 + 8400 19945.534 208.35675 0 3901.9741 1.6021151 + 8450 20112.534 177.18642 0 3901.7298 2.2413008 + 8500 20686.7 71.116816 0 3901.9873 2.2888545 + 8550 18081.94 553.83586 0 3902.3432 7.8257937 + 8600 18320.081 505.67086 0 3898.2784 16.554878 + 8650 20235.305 154.43021 0 3901.709 3.1740823 + 8700 20355.413 132.22512 0 3901.746 4.3436482 + 8750 20087.188 182.11349 0 3901.9631 10.422134 + 8800 20400.795 124.09819 0 3902.0232 2.1179177 + 8850 20678.731 72.825797 0 3902.2204 -3.4491441 + 8900 20372.643 129.5072 0 3902.2189 -8.2166415 + 8950 20851.731 40.899364 0 3902.331 -5.8382839 + 9000 20318.076 139.61775 0 3902.2243 -4.1960802 + 9050 16879.415 776.53739 0 3902.3549 -14.429475 + 9100 19135.149 358.68223 0 3902.2284 -15.50479 + 9150 20689.556 70.939656 0 3902.339 -2.9876179 + 9200 19949.801 207.54882 0 3901.9564 6.4259245 + 9250 20207.027 160.2813 0 3902.3233 1.7402195 + 9300 20030.005 192.99466 0 3902.2548 5.300728 + 9350 19795.291 236.24003 0 3902.0347 5.8677745 + 9400 18232.093 526.18752 0 3902.501 19.344893 + 9450 18789.641 422.30568 0 3901.8687 -7.5185247 + 9500 16332.599 874.10423 0 3898.6597 16.241378 + 9550 18572.572 462.19972 0 3901.5649 -10.777359 + 9600 19859.645 223.32209 0 3901.0341 0.89631957 + 9650 19092.741 365.35768 0 3901.0504 6.7830005 + 9700 18391.154 495.72792 0 3901.4972 6.0683847 + 9750 17790.092 608.60997 0 3903.0714 8.2090184 + 9800 17681.783 628.99951 0 3903.4038 14.231747 + 9850 17804.412 605.54067 0 3902.654 22.308453 + 9900 19134.472 359.37911 0 3902.7999 8.5633158 + 9950 20099.055 180.28604 0 3902.3332 4.7905855 + 10000 20035.447 192.30744 0 3902.5754 1.8299201 +Loop time of 2.31994 on 4 procs for 10000 steps with 81 atoms + +Performance: 37242.315 tau/day, 4310.453 timesteps/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0052789 | 0.014781 | 0.038634 | 11.4 | 0.64 +Neigh | 0.0081228 | 0.016514 | 0.033404 | 7.7 | 0.71 +Comm | 0.12269 | 0.13668 | 0.14951 | 3.1 | 5.89 +Output | 0.0034489 | 0.0039413 | 0.0050811 | 1.1 | 0.17 +Modify | 2.1036 | 2.1312 | 2.1509 | 1.2 | 91.86 +Other | | 0.01685 | | | 0.73 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Nghost: 35.25 ave 47 max 24 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 137.5 ave 252 max 0 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 550 +Ave neighs/atom = 6.7901235 +Neighbor list builds = 994 +Dangerous builds = 956 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.1 b/examples/rigid/log.20Mar22.rigid.poems3.g++.1 new file mode 100644 index 0000000000..b565d9f79d --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems3.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.00096754005 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071214 0 5269.4974 11.918931 + 3300 16732.493 1.8663821 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475277 0 5269.4774 12.195939 + 3600 16728.659 3.0596069 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.000227631 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567429 0 5269.522 11.911005 + 9500 16738.495 -0.0036645351 0 5269.5224 11.910982 + 9550 16738.49 -0.0010673912 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.00058544643 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244931 0 5269.5242 11.911015 +Loop time of 2.30195 on 1 procs for 10000 steps with 81 atoms + +Performance: 37533.440 tau/day, 4344.148 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0076839 | 0.0076839 | 0.0076839 | 0.0 | 0.33 +Neigh | 0.029562 | 0.029562 | 0.029562 | 0.0 | 1.28 +Comm | 0.0084877 | 0.0084877 | 0.0084877 | 0.0 | 0.37 +Output | 0.0037958 | 0.0037958 | 0.0037958 | 0.0 | 0.16 +Modify | 2.2446 | 2.2446 | 2.2446 | 0.0 | 97.51 +Other | | 0.00785 | | | 0.34 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 69 ave 69 max 69 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.4 b/examples/rigid/log.20Mar22.rigid.poems3.g++.4 new file mode 100644 index 0000000000..39fd6245e0 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems3.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.0009675401 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071214 0 5269.4974 11.918931 + 3300 16732.493 1.8663821 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475277 0 5269.4774 12.195939 + 3600 16728.659 3.059607 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792126 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974055 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.000227631 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306433 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567425 0 5269.522 11.911005 + 9500 16738.495 -0.0036645345 0 5269.5224 11.910982 + 9550 16738.49 -0.001067391 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.00058544648 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244933 0 5269.5242 11.911015 +Loop time of 2.36483 on 4 procs for 10000 steps with 81 atoms + +Performance: 36535.358 tau/day, 4228.629 timesteps/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0030635 | 0.0035263 | 0.0040903 | 0.7 | 0.15 +Neigh | 0.0093439 | 0.01002 | 0.010976 | 0.6 | 0.42 +Comm | 0.11912 | 0.12509 | 0.13346 | 1.5 | 5.29 +Output | 0.003411 | 0.0038449 | 0.0050123 | 1.1 | 0.16 +Modify | 2.1961 | 2.2052 | 2.2137 | 0.5 | 93.25 +Other | | 0.01717 | | | 0.73 + +Nlocal: 20.25 ave 27 max 9 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 31.5 ave 51 max 15 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Neighs: 1 ave 4 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.1 b/examples/rigid/log.20Mar22.rigid.poems4.g++.1 new file mode 100644 index 0000000000..e2febc5ed9 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems4.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.438428 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699118 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538604 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.029 99.812844 0 3680.6511 -16.185479 + 1450 21771.107 52.159653 0 3680.6775 -2.4756655 + 1500 21520.949 93.503876 0 3680.3286 2.1023573 + 1550 21351.419 121.6813 0 3680.2511 5.5159876 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21873 0 3679.8247 -1.1045277 + 1700 18501.33 596.4807 0 3680.0357 -15.6798 + 1750 18563.64 587.34824 0 3681.2882 33.532308 + 1800 19110.175 494.82517 0 3679.8543 18.024074 + 1850 21364.178 119.23765 0 3679.9339 2.5290144 + 1900 20146.588 322.15509 0 3679.9197 5.7317299 + 1950 20692.676 231.25264 0 3680.0319 4.297803 + 2000 20943.902 189.11251 0 3679.7629 -22.643824 + 2050 19667.823 401.86882 0 3679.8394 3.6241915 + 2100 20280.125 299.81485 0 3679.8357 7.4804047 + 2150 19181.201 483.6306 0 3680.4975 22.63342 + 2200 21301.144 130.54014 0 3680.7308 4.7074288 + 2250 20484.876 266.98315 0 3681.1291 -8.6578278 + 2300 18648.161 573.07329 0 3681.1001 -5.2550954 + 2350 21515.748 95.243054 0 3681.201 -9.386512 + 2400 21462.551 104.18267 0 3681.2745 -29.46442 + 2450 20107.732 330.99437 0 3682.2831 35.38497 + 2500 20771.509 220.47713 0 3682.3953 -12.324858 + 2550 20499.887 265.58494 0 3682.2327 -22.713874 + 2600 21462.182 105.24427 0 3682.2747 -10.175788 + 2650 21004.949 181.51383 0 3682.3387 4.949195 + 2700 18673.552 570.45017 0 3682.7089 21.201437 + 2750 21257.562 139.198 0 3682.1249 -7.5793039 + 2800 21559.645 88.844759 0 3682.119 -6.2360467 + 2850 20865.227 204.46262 0 3682.0004 0.39575069 + 2900 19428.614 443.93293 0 3682.0352 12.796676 + 2950 19630.1 410.18487 0 3681.8681 -0.50572623 + 3000 19663.218 404.06316 0 3681.2661 6.0827093 + 3050 19087.572 500.8452 0 3682.1073 -6.3526476 + 3100 18229.94 643.77681 0 3682.1001 11.453637 + 3150 18927.492 527.51919 0 3682.1011 -1.662863 + 3200 18320.514 628.55895 0 3681.978 21.176126 + 3250 18204.677 647.96462 0 3682.0775 11.331521 + 3300 19231.978 477.02117 0 3682.3509 3.8381593 + 3350 18153.44 656.70376 0 3682.2772 15.135615 + 3400 17476.768 770.0598 0 3682.8545 -3.394312 + 3450 21097.531 166.17241 0 3682.4276 3.74301 + 3500 17605.784 747.54808 0 3681.8454 3.3420627 + 3550 19238.34 476.00608 0 3682.3961 1.1413836 + 3600 18155.288 656.57434 0 3682.4557 3.4360446 + 3650 18735.622 559.2377 0 3681.8413 28.760363 + 3700 15310.261 1134.4215 0 3686.1317 44.207018 + 3750 15377.116 1123.4786 0 3686.3313 7.6773215 + 3800 18798.895 549.05928 0 3682.2084 -12.905825 + 3850 18322.563 628.87744 0 3682.6379 -16.067793 + 3900 19963.049 355.65441 0 3682.8292 3.4694064 + 3950 19925.48 361.2507 0 3682.1641 5.0058567 + 4000 19141.423 492.41081 0 3682.648 -12.782769 + 4050 20022.241 345.61655 0 3682.6568 -3.0149905 + 4100 21348.635 124.95646 0 3683.0624 -4.85779 + 4150 21011.812 181.1132 0 3683.0819 -3.9526196 + 4200 20222.276 312.63945 0 3683.0187 -23.63437 + 4250 20957.757 189.77152 0 3682.731 -1.3712469 + 4300 20070.215 337.5751 0 3682.611 -6.8816517 + 4350 21322.437 129.09228 0 3682.8318 -6.9442178 + 4400 19440.445 442.77531 0 3682.8495 -0.11606236 + 4450 20964.516 188.67174 0 3682.7577 4.8533525 + 4500 13530.08 1428.5497 0 3683.563 12.333187 + 4550 20461.637 272.58882 0 3682.8616 4.5111943 + 4600 17072.994 836.58228 0 3682.0812 5.7611617 + 4650 18860.748 539.82027 0 3683.2782 -2.5558958 + 4700 18373.927 621.04093 0 3683.3621 5.4020702 + 4750 20321.437 296.63662 0 3683.5428 8.9571617 + 4800 21083.122 169.84086 0 3683.6946 10.566368 + 4850 20499.669 267.7012 0 3684.3128 4.2924237 + 4900 20308.781 300.38168 0 3685.1785 -12.396923 + 4950 21043.303 178.56295 0 3685.7801 3.8923762 + 5000 20718.383 232.52208 0 3685.5859 -12.43234 + 5050 21005.749 184.4363 0 3685.3945 -7.6463487 + 5100 20714.133 233.27745 0 3685.6329 -1.6944135 + 5150 19577.452 422.73035 0 3685.639 -21.831219 + 5200 14044.647 1343.9545 0 3684.729 -6.8407194 + 5250 19089.805 504.0893 0 3685.7235 4.05641 + 5300 21094.745 169.94699 0 3685.7378 -0.66593212 + 5350 19907.559 366.77598 0 3684.7024 1.5248525 + 5400 20382.81 289.13263 0 3686.2676 -11.919321 + 5450 19593.693 420.70548 0 3686.3209 -1.1568628 + 5500 20906.08 202.09801 0 3686.4447 -2.4284971 + 5550 16315.465 965.56973 0 3684.8138 -33.178221 + 5600 19714.57 400.39687 0 3686.1586 19.950231 + 5650 20561.724 259.54797 0 3686.502 8.2074524 + 5700 19349.502 460.7789 0 3685.6959 16.252649 + 5750 21006.818 185.56805 0 3686.7044 -11.96089 + 5800 20268.2 307.97547 0 3686.0089 17.322311 + 5850 21018.322 184.16179 0 3687.2154 -14.379909 + 5900 19695.647 404.57094 0 3687.1787 -20.718904 + 5950 21021.687 183.66311 0 3687.2776 -15.206081 + 6000 18947.535 529.30554 0 3687.2281 17.863927 + 6050 15272.373 1141.012 0 3686.4075 -0.43375666 + 6100 17766.197 721.75792 0 3682.7908 11.378913 + 6150 18612.573 584.06688 0 3686.1623 17.543241 + 6200 19005.155 518.97146 0 3686.4973 -16.223107 + 6250 20997.507 187.55499 0 3687.1394 -11.613546 + 6300 19639.901 413.58048 0 3686.8974 14.407136 + 6350 19580.399 423.02818 0 3686.428 -5.5801796 + 6400 14134.119 1332.0662 0 3687.7527 84.864425 + 6450 21598.824 87.419966 0 3687.224 -5.8358352 + 6500 18208.216 649.29108 0 3683.9938 -8.1510884 + 6550 19364.586 459.59813 0 3687.0291 -12.053563 + 6600 20710.927 235.11914 0 3686.9403 -1.0470193 + 6650 21132.334 165.08091 0 3687.1366 1.0785471 + 6700 20217.285 317.589 0 3687.1365 0.055447462 + 6750 21232.279 148.57412 0 3687.2873 -2.4551657 + 6800 20292.683 304.76539 0 3686.8793 -0.42311295 + 6850 19056.291 510.49927 0 3686.5478 6.9533826 + 6900 20429.82 282.23764 0 3687.2076 -4.2360112 + 6950 21281.278 140.27361 0 3687.1533 -0.07475261 + 7000 17173.388 824.54446 0 3686.7758 10.753828 + 7050 18079.7 674.56274 0 3687.846 12.975804 + 7100 16433.233 950.73904 0 3689.6112 -10.5102 + 7150 19033.335 515.59672 0 3687.8193 0.29109447 + 7200 17286.428 809.02352 0 3690.0948 2.3015698 + 7250 16811.962 886.6645 0 3688.6582 -7.4787512 + 7300 15992.461 1023.4849 0 3688.895 -5.2354222 + 7350 19211.451 487.63129 0 3689.5398 8.4351737 + 7400 19065.682 511.95629 0 3689.57 -12.47448 + 7450 21369.265 128.10098 0 3689.6451 2.2930546 + 7500 16807.109 888.64602 0 3689.8308 14.761969 + 7550 18063.046 679.21873 0 3689.7264 3.8950434 + 7600 17794.987 724.55404 0 3690.3851 14.379016 + 7650 17904.751 706.14354 0 3690.2688 23.813776 + 7700 19670.09 411.3021 0 3689.6504 14.099245 + 7750 18082.562 675.23975 0 3689.0001 15.788521 + 7800 17776.135 726.91445 0 3689.6037 6.9780735 + 7850 17062.575 846.33412 0 3690.0966 -8.9289256 + 7900 19059.2 513.07737 0 3689.6107 16.992843 + 7950 16269.685 978.48914 0 3690.1033 11.180179 + 8000 20115.278 336.91405 0 3689.4604 -6.4882518 + 8050 21173.72 161.15229 0 3690.1056 -2.2164491 + 8100 19238.235 484.42784 0 3690.8004 23.412709 + 8150 18438.4 617.58743 0 3690.6542 0.89156316 + 8200 21438.764 117.12721 0 3690.2546 -1.7193227 + 8250 21195.806 157.66607 0 3690.3003 3.820447 + 8300 21177.549 161.13702 0 3690.7286 0.94938203 + 8350 21060.267 181.06887 0 3691.1135 2.8179025 + 8400 20087.113 343.46206 0 3691.3142 8.1484473 + 8450 19298.478 474.87133 0 3691.2843 -16.239664 + 8500 21654.353 82.083485 0 3691.1423 -8.1464138 + 8550 19920.544 371.34795 0 3691.4386 20.765144 + 8600 21692.293 75.655154 0 3691.0373 -13.316763 + 8650 21231.322 151.8989 0 3690.4526 -11.388238 + 8700 19530.647 434.89585 0 3690.0037 2.7433786 + 8750 19720.63 403.07773 0 3689.8493 -6.416414 + 8800 21321.378 136.04091 0 3689.604 1.3661635 + 8850 19811.906 387.80489 0 3689.7893 3.704143 + 8900 19734.167 400.92444 0 3689.9523 2.5685155 + 8950 21076.459 177.18119 0 3689.9244 -11.939513 + 9000 20967.246 195.42966 0 3689.9707 2.0092705 + 9050 21122.023 169.62103 0 3689.9582 2.3791301 + 9100 20169.346 328.27229 0 3689.8299 -3.5017988 + 9150 21418.641 119.84513 0 3689.6187 2.486073 + 9200 20876.042 210.26452 0 3689.6048 -5.3839897 + 9250 21572.38 93.74407 0 3689.1407 -8.3676952 + 9300 20944.78 197.98577 0 3688.7824 1.3278314 + 9350 20706.52 237.48767 0 3688.5744 4.6944204 + 9400 16412.314 953.47251 0 3688.8581 26.134976 + 9450 20461.68 277.76243 0 3688.0424 17.647445 + 9500 20893.994 205.64261 0 3687.9749 -10.642418 + 9550 20503.447 270.63504 0 3687.8761 -17.769897 + 9600 19677.799 408.05887 0 3687.692 -2.7938604 + 9650 17480.971 774.1855 0 3687.6806 0.59827043 + 9700 17799.126 721.50817 0 3688.0292 44.387928 + 9750 20443.384 280.16837 0 3687.399 3.0619324 + 9800 20545.255 263.40108 0 3687.6102 3.6229381 + 9850 20722.819 233.57142 0 3687.3745 0.86462694 + 9900 21128.462 165.09767 0 3686.508 -6.9636843 + 9950 21343.307 130.46714 0 3687.685 -9.7382705 + 10000 20623.887 250.37866 0 3687.6932 2.7529835 +Loop time of 2.28812 on 1 procs for 10000 steps with 81 atoms + +Performance: 37760.318 tau/day, 4370.407 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.094122 | 0.094122 | 0.094122 | 0.0 | 4.11 +Neigh | 0.076427 | 0.076427 | 0.076427 | 0.0 | 3.34 +Comm | 0.0066867 | 0.0066867 | 0.0066867 | 0.0 | 0.29 +Output | 0.003606 | 0.003606 | 0.003606 | 0.0 | 0.16 +Modify | 2.0986 | 2.0986 | 2.0986 | 0.0 | 91.72 +Other | | 0.008698 | | | 0.38 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 62 ave 62 max 62 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 905 ave 905 max 905 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 905 +Ave neighs/atom = 11.17284 +Neighbor list builds = 991 +Dangerous builds = 927 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.4 b/examples/rigid/log.20Mar22.rigid.poems4.g++.4 new file mode 100644 index 0000000000..6240237758 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems4.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.4384281 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699115 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538606 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.03 99.812843 0 3680.6511 -16.185479 + 1450 21771.107 52.159652 0 3680.6775 -2.4756656 + 1500 21520.949 93.503872 0 3680.3286 2.1023574 + 1550 21351.419 121.68131 0 3680.2511 5.5159875 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21877 0 3679.8247 -1.104524 + 1700 18501.329 596.48084 0 3680.0357 -15.679806 + 1750 18563.639 587.34841 0 3681.2882 33.532316 + 1800 19110.174 494.82524 0 3679.8543 18.024079 + 1850 21364.178 119.23767 0 3679.9339 2.5290075 + 1900 20146.588 322.15506 0 3679.9197 5.7317368 + 1950 20692.674 231.25288 0 3680.0319 4.2977982 + 2000 20943.904 189.11229 0 3679.7629 -22.643749 + 2050 19667.815 401.87016 0 3679.8394 3.6240972 + 2100 20280.109 299.81759 0 3679.8357 7.4803647 + 2150 19181.146 483.63975 0 3680.4974 22.634167 + 2200 21301.194 130.53171 0 3680.7308 4.7072523 + 2250 20484.79 266.99736 0 3681.1291 -8.6583002 + 2300 18648.002 573.09962 0 3681.1 -5.2548835 + 2350 21515.851 95.225745 0 3681.2009 -9.3875216 + 2400 21462.37 104.21272 0 3681.2744 -29.459857 + 2450 20108.034 330.94394 0 3682.2829 35.37058 + 2500 20771.818 220.42545 0 3682.3951 -12.318936 + 2550 20502.815 265.09577 0 3682.2316 -22.726822 + 2600 21462.006 105.2733 0 3682.2744 -10.180394 + 2650 21009.656 180.72738 0 3682.3367 4.9580828 + 2700 18680.012 569.37179 0 3682.7071 21.114114 + 2750 21256.19 139.42201 0 3682.1203 -7.4744399 + 2800 21552.267 90.071446 0 3682.1159 -6.2906304 + 2850 20879.958 202.00905 0 3682.0021 0.57990903 + 2900 19018.645 512.35214 0 3682.1262 13.883084 + 2950 19819.365 378.55747 0 3681.785 -0.7348943 + 3000 20269.229 303.35149 0 3681.5563 6.3088075 + 3050 19236.727 475.99457 0 3682.1158 -10.703575 + 3100 18391.55 616.96976 0 3682.2281 9.850079 + 3150 20258.563 305.82076 0 3682.248 7.1951283 + 3200 20716.384 229.15502 0 3681.8856 2.9042294 + 3250 18662.237 572.0784 0 3682.4512 9.2108597 + 3300 19162.278 488.60646 0 3682.3195 3.3306562 + 3350 21235.679 142.98279 0 3682.2626 0.29397483 + 3400 17677.053 736.09247 0 3682.2679 32.75269 + 3450 20852.392 206.65618 0 3682.0548 -4.8319056 + 3500 21182.918 151.46754 0 3681.9539 -5.6330382 + 3550 20589.85 250.40724 0 3682.049 12.582133 + 3600 20973.659 186.28043 0 3681.8903 10.935266 + 3650 17838.632 707.92145 0 3681.0268 -17.200926 + 3700 21538.002 92.744409 0 3682.4114 -0.72124229 + 3750 21390.294 117.90865 0 3682.9576 -7.8431786 + 3800 17921.046 696.50311 0 3683.344 -9.4641531 + 3850 20356.471 290.22624 0 3682.9715 2.4593463 + 3900 20374.077 287.10249 0 3682.782 -1.9519082 + 3950 20563.915 255.29993 0 3682.619 -6.124649 + 4000 20991.467 184.76183 0 3683.3397 1.8954961 + 4050 17805.623 716.24698 0 3683.8509 -20.454944 + 4100 19916.389 363.86301 0 3683.2611 -0.27912557 + 4150 19221.623 480.01232 0 3683.6161 -11.562492 + 4200 20526.82 261.78571 0 3682.9224 -3.9522917 + 4250 20922.813 196.1799 0 3683.3154 0.11947446 + 4300 19956.66 357.78133 0 3683.8914 19.156093 + 4350 19735.73 394.45981 0 3683.7482 14.865775 + 4400 21702.656 67.099805 0 3684.2092 -13.502538 + 4450 18163.055 656.97231 0 3684.1482 -0.6243111 + 4500 17477.718 771.25976 0 3684.2127 -0.4664004 + 4550 20676.507 238.19814 0 3684.2827 -19.444969 + 4600 17322.922 796.77058 0 3683.9242 27.003966 + 4650 11905.158 1704.9151 0 3689.1082 15.574169 + 4700 18689.079 569.80982 0 3684.6563 -14.67311 + 4750 19821.745 381.01914 0 3684.6433 5.0436795 + 4800 20621.335 247.96269 0 3684.8518 -16.407263 + 4850 21923.814 30.965964 0 3684.935 -13.418244 + 4900 18840.555 544.41538 0 3684.5079 11.005357 + 4950 15366.601 1124.2481 0 3685.3482 17.412375 + 5000 18274.314 639.01311 0 3684.732 5.3261109 + 5050 21173.687 155.83673 0 3684.7845 5.4056809 + 5100 21738.219 61.75201 0 3684.7885 -2.631945 + 5150 16597.949 918.84841 0 3685.1732 -10.124101 + 5200 20752.758 225.95919 0 3684.7522 -5.2441372 + 5250 17652.088 741.2645 0 3683.2793 2.0080739 + 5300 19907.523 366.53115 0 3684.4516 8.4266792 + 5350 20104.189 334.14522 0 3684.8433 17.21925 + 5400 21499.848 101.71631 0 3685.0243 -6.1103541 + 5450 21203.533 151.14574 0 3685.068 -5.9468503 + 5500 21076.513 172.45652 0 3685.2088 5.1418181 + 5550 20158.398 325.56609 0 3685.2992 -1.6486034 + 5600 20787.836 221.19563 0 3685.835 -10.66805 + 5650 19687.154 404.77204 0 3685.9644 -23.49128 + 5700 20419.311 282.58328 0 3685.8017 -0.52808211 + 5750 19738.522 395.95893 0 3685.7126 1.3889817 + 5800 18300.025 635.66905 0 3685.6732 23.490447 + 5850 20585.004 255.02032 0 3685.8543 -0.20699939 + 5900 20373.839 290.15881 0 3685.7987 -7.9712187 + 5950 18163.832 659.91192 0 3687.2173 5.4494586 + 6000 21049.247 177.43029 0 3685.6382 2.9138342 + 6050 21239.803 145.77613 0 3685.7433 -1.4927769 + 6100 20686.361 237.86454 0 3685.5913 -0.95516297 + 6150 20461.754 275.31546 0 3685.6079 -3.4166412 + 6200 19264.208 474.73017 0 3685.4316 11.750757 + 6250 21180.813 155.31746 0 3685.4529 2.8188219 + 6300 21047.543 177.4394 0 3685.3632 1.8641486 + 6350 20232.576 313.17716 0 3685.2731 2.8150209 + 6400 20185.616 321.33454 0 3685.6038 -3.8697311 + 6450 18969.632 523.95865 0 3685.5639 0.6725512 + 6500 17592.574 753.49959 0 3685.5952 -1.2557393 + 6550 21279.049 138.42524 0 3684.9335 -1.208945 + 6600 21408.457 116.4143 0 3684.4904 -1.5332953 + 6650 19758.218 391.17316 0 3684.2096 1.8511312 + 6700 20766.943 223.44631 0 3684.6036 -2.3672623 + 6750 20399.631 284.09914 0 3684.0377 -5.4089876 + 6800 21296.628 135.14662 0 3684.5847 -3.8442549 + 6850 20641.481 244.4451 0 3684.692 1.4020639 + 6900 20852.81 209.23009 0 3684.6984 1.8512104 + 6950 20940.555 194.66882 0 3684.7614 -6.554676 + 7000 19496.988 435.28199 0 3684.78 -15.120269 + 7050 19796.829 385.04227 0 3684.5138 -4.1068804 + 7100 19945.264 360.42431 0 3684.635 -4.0629042 + 7150 19431.123 446.12911 0 3684.6497 -6.8321751 + 7200 16864.851 873.80043 0 3684.6089 14.309069 + 7250 20438.75 277.85982 0 3684.3181 -11.41223 + 7300 17688.684 734.01576 0 3682.1298 35.938373 + 7350 21573.419 88.63421 0 3684.204 -3.9032749 + 7400 21198.486 150.72249 0 3683.8034 -7.1477117 + 7450 20586.708 252.93928 0 3684.0572 -7.6634645 + 7500 21815.377 48.180377 0 3684.0765 0.97457507 + 7550 17791.352 718.87564 0 3684.101 28.248235 + 7600 21828.874 45.928597 0 3684.0742 -0.25814944 + 7650 20827.961 212.35674 0 3683.6835 -3.4083384 + 7700 21319.176 130.43547 0 3683.6315 -12.434856 + 7750 20127.904 328.69643 0 3683.3471 -16.975711 + 7800 21741.772 59.679206 0 3683.3078 3.6261863 + 7850 19612.334 414.37418 0 3683.0964 1.3763274 + 7900 20071.318 337.74624 0 3682.9658 -0.40982763 + 7950 17925.664 695.29582 0 3682.9065 17.104439 + 8000 19125.978 492.76383 0 3680.4268 10.807662 + 8050 20233.848 310.42681 0 3682.7347 13.386237 + 8100 20551.619 257.86699 0 3683.1368 -13.97515 + 8150 21578.323 86.88362 0 3683.2708 -9.6811587 + 8200 21154.833 157.72897 0 3683.5344 0.62312375 + 8250 21321.143 129.83967 0 3683.3636 1.9536438 + 8300 21041.696 176.04177 0 3682.9911 4.7475567 + 8350 19883.39 369.32649 0 3683.2247 -7.0959328 + 8400 21626.067 79.062992 0 3683.4075 -14.919059 + 8450 21375.201 120.86836 0 3683.4019 -5.3461514 + 8500 20281.059 303.10304 0 3683.2796 3.7975093 + 8550 21170.533 154.48432 0 3682.9065 -1.1568561 + 8600 17754.931 724.00158 0 3683.1568 14.15254 + 8650 20685.478 235.65879 0 3683.2385 -5.2694179 + 8700 21489.165 101.90509 0 3683.4326 -4.2510612 + 8750 21106.682 165.41638 0 3683.1968 -3.9186708 + 8800 19149.516 491.5843 0 3683.1702 -11.419849 + 8850 21451.865 108.1814 0 3683.4923 -7.8256219 + 8900 19567.4 421.81206 0 3683.0454 -0.71997056 + 8950 20934.097 194.48033 0 3683.4965 -7.0106879 + 9000 18531.559 595.25957 0 3683.8528 3.7449399 + 9050 18868.821 537.22549 0 3682.029 9.9926092 + 9100 19972.527 354.73119 0 3683.4858 -0.30871263 + 9150 19641.651 409.18618 0 3682.7947 -1.3036238 + 9200 20019.08 346.19657 0 3682.7099 6.7425386 + 9250 19259.286 473.04973 0 3682.9308 -24.120659 + 9300 21597.757 82.971857 0 3682.598 -13.748483 + 9350 19348.379 457.23576 0 3681.9656 3.1571402 + 9400 19129.588 493.35235 0 3681.617 8.6293783 + 9450 20337.025 291.20959 0 3680.7138 6.8590795 + 9500 20581.788 249.65891 0 3679.9569 -18.892836 + 9550 19482.069 433.0077 0 3680.0192 23.029778 + 9600 19182.794 482.96871 0 3680.101 -11.081731 + 9650 20086.771 332.5311 0 3680.3263 -18.939681 + 9700 20274.046 300.98818 0 3679.9959 6.7538762 + 9750 18743.595 555.08045 0 3679.0129 8.2757138 + 9800 19464.311 435.66288 0 3679.7148 7.0528759 + 9850 21249.848 138.27382 0 3679.9152 -10.847402 + 9900 21156.214 153.84621 0 3679.8819 -7.8359674 + 9950 21643.134 72.547515 0 3679.7365 -10.507744 + 10000 19587.948 414.64942 0 3679.3075 6.1173553 +Loop time of 2.35562 on 4 procs for 10000 steps with 81 atoms + +Performance: 36678.236 tau/day, 4245.166 timesteps/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0055581 | 0.024882 | 0.055326 | 12.0 | 1.06 +Neigh | 0.0073809 | 0.022107 | 0.043683 | 9.2 | 0.94 +Comm | 0.12484 | 0.14528 | 0.1833 | 6.2 | 6.17 +Output | 0.0035526 | 0.0041048 | 0.0055462 | 1.3 | 0.17 +Modify | 2.1078 | 2.1414 | 2.162 | 1.5 | 90.91 +Other | | 0.0178 | | | 0.76 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 41 ave 78 max 11 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 193.5 ave 774 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 774 +Ave neighs/atom = 9.5555556 +Neighbor list builds = 989 +Dangerous builds = 915 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.1 b/examples/rigid/log.20Mar22.rigid.poems5.g++.1 new file mode 100644 index 0000000000..5a18042516 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems5.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086359 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977442 0 3904.4178 9.0928158 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47231 0 3902.9213 0.6921524 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05177 0 3902.1317 4.6838621 + 850 19932.48 210.71175 0 3901.9118 3.4716043 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.874422 + 1200 20767.681 56.717094 0 3902.5839 -34.817444 + 1250 20625.583 82.586399 0 3902.1388 11.697329 + 1300 20690.013 71.006478 0 3902.4903 -29.292777 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.559 244.81785 0 3902.8844 6.7138514 + 1450 15690.149 998.342 0 3903.9252 48.124557 + 1500 20234.455 155.92516 0 3903.0465 13.17221 + 1550 20779.631 55.063009 0 3903.1428 -2.639045 + 1600 20642.753 80.233905 0 3902.9659 -2.4688467 + 1650 18785.696 423.90402 0 3902.7365 -5.6466663 + 1700 20965.076 20.760444 0 3903.182 -0.45364296 + 1750 18935.406 396.96067 0 3903.5173 25.913302 + 1800 20581.559 91.756972 0 3903.1567 3.8217234 + 1850 20616.946 85.184849 0 3903.1378 4.1907972 + 1900 16602.053 828.40949 0 3902.8637 -0.49505122 + 1950 20175.526 166.53362 0 3902.7421 5.603825 + 2000 20261.924 150.39322 0 3902.6014 -1.196958 + 2050 20170.339 167.40504 0 3902.6531 -0.80849882 + 2100 19820.132 231.26755 0 3901.6624 3.1476607 + 2150 20666.19 75.838461 0 3902.9106 0.53899287 + 2200 19873.51 222.53286 0 3902.8124 7.9310276 + 2250 18548.063 467.69698 0 3902.5235 16.905356 + 2300 20616.61 84.762399 0 3902.6531 -6.7872951 + 2350 18167.738 538.13635 0 3902.5322 -11.458285 + 2400 20120.227 177.01954 0 3902.9875 -1.2593018 + 2450 20436.599 118.32469 0 3902.8801 -6.5989174 + 2500 18919.923 400.26361 0 3903.9531 32.37476 + 2550 19675.809 259.77151 0 3903.4398 19.437327 + 2600 19739.842 247.86388 0 3903.3901 -7.519784 + 2650 20557.026 96.530313 0 3903.387 0.60211646 + 2700 20666.602 76.099892 0 3903.2484 0.16825503 + 2750 20924.585 28.453883 0 3903.3771 2.4227171 + 2800 20360.659 132.8596 0 3903.352 4.1440877 + 2850 20783.475 54.518625 0 3903.3102 -0.57312067 + 2900 20456.181 115.03745 0 3903.2191 -20.118887 + 2950 20779.493 55.321394 0 3903.3756 -0.26783079 + 3000 20011.867 197.30216 0 3903.2035 -1.4704201 + 3050 20741.875 62.208723 0 3903.2966 -7.5432815 + 3100 21001.754 14.148298 0 3903.362 2.9676438 + 3150 20244.086 154.44639 0 3903.3512 -1.9071213 + 3200 20639.615 81.136426 0 3903.2873 1.4826467 + 3250 20735.244 63.529571 0 3903.3895 2.1127055 + 3300 20142.891 173.22282 0 3903.3878 4.7739415 + 3350 19963.765 206.21899 0 3903.2126 5.5410771 + 3400 16628.667 824.13627 0 3903.519 36.087673 + 3450 19228.218 342.81569 0 3903.5968 3.1057274 + 3500 19759.293 244.57876 0 3903.707 2.2339557 + 3550 19853.21 227.06362 0 3903.584 -1.0882119 + 3600 19673.516 260.64854 0 3903.8923 -10.63775 + 3650 19619.238 270.5393 0 3903.7316 -6.3746003 + 3700 20756.865 59.790243 0 3903.6542 -8.3015766 + 3750 20265.025 150.47347 0 3903.2559 -5.7284695 + 3800 20944.683 24.669276 0 3903.3142 -0.070552298 + 3850 19344.831 320.59492 0 3902.971 13.040749 + 3900 19978.209 203.00247 0 3902.6708 0.15638133 + 3950 19864.118 224.19359 0 3902.734 0.453229 + 4000 17606.216 642.71493 0 3903.1252 -12.656002 + 4050 18017.895 566.54102 0 3903.1883 12.133906 + 4100 20092.963 182.17593 0 3903.095 7.7445947 + 4150 20555.337 96.395074 0 3902.939 -6.5429752 + 4200 20709.781 67.869199 0 3903.0138 -2.8653003 + 4250 18956.203 392.20748 0 3902.6155 -1.6249728 + 4300 17816.204 603.72704 0 3903.0241 23.089239 + 4350 18979.742 388.04678 0 3902.8138 3.2511108 + 4400 20272.085 148.82367 0 3902.9135 1.9518268 + 4450 18820.003 417.74789 0 3902.9337 6.3979299 + 4500 19991.936 200.50131 0 3902.7117 3.5118553 + 4550 20915.092 29.663898 0 3902.8291 -2.3174641 + 4600 20690.37 71.125087 0 3902.6752 -12.008575 + 4650 18893.76 404.50849 0 3903.3529 15.006184 + 4700 18611.123 456.1263 0 3902.6306 -5.3574892 + 4750 20497.821 106.5856 0 3902.4784 0.85039837 + 4800 20803.214 50.120522 0 3902.5675 3.8610873 + 4850 18849.598 411.72635 0 3902.3927 9.2029058 + 4900 18121.714 546.68042 0 3902.5533 9.4522272 + 4950 20377.499 128.99323 0 3902.6041 5.3825395 + 5000 20686.114 72.039749 0 3902.8016 -5.706271 + 5050 20180.449 165.51368 0 3902.634 -16.418461 + 5100 20274.947 148.36657 0 3902.9864 -5.6668309 + 5150 18042.324 560.74137 0 3901.9125 3.6791541 + 5200 20794.666 52.204446 0 3903.0685 -1.4517721 + 5250 19073.55 371.18834 0 3903.3272 -13.457439 + 5300 20821.412 47.364313 0 3903.1813 2.258098 + 5350 20583.073 91.271191 0 3902.9513 5.4323985 + 5400 20490.967 108.41184 0 3903.0353 4.122905 + 5450 18141.79 543.66874 0 3903.2594 -0.19951075 + 5500 20274.012 148.55528 0 3903.002 5.0489974 + 5550 17806.237 605.43454 0 3902.8858 43.80619 + 5600 20999.825 14.341937 0 3903.1983 1.0879933 + 5650 20930.929 27.025347 0 3903.1234 -7.0860209 + 5700 20677.725 73.853093 0 3903.0614 2.6864775 + 5750 20521.264 102.87509 0 3903.1092 2.6940548 + 5800 20792.571 52.596021 0 3903.0721 1.2910217 + 5850 20518.674 103.26595 0 3903.0204 -9.2547271 + 5900 18417.885 491.66696 0 3902.3865 -12.049357 + 5950 17243.837 709.37858 0 3902.6817 -6.2357188 + 6000 20262.525 149.56918 0 3901.8885 -0.28964823 + 6050 19883.554 219.14043 0 3901.2801 2.3071707 + 6100 16548.178 838.47869 0 3902.956 -11.715644 + 6150 19601.177 272.14674 0 3901.9944 -0.9008056 + 6200 20499.796 106.2363 0 3902.4949 0.79071424 + 6250 19601.106 272.50139 0 3902.3359 -1.9306693 + 6300 17210.685 712.70535 0 3899.8692 4.8890923 + 6350 19911.896 214.91041 0 3902.2985 12.691129 + 6400 18834.642 411.87123 0 3899.7678 -1.9447856 + 6450 20216.311 158.39781 0 3902.1591 2.6009109 + 6500 20452.025 114.97122 0 3902.3832 0.14644416 + 6550 19142.589 357.34097 0 3902.2649 2.8968485 + 6600 20412.915 122.08784 0 3902.2573 3.1343105 + 6650 17317.867 699.39994 0 3906.4123 42.25563 + 6700 20479.771 109.8036 0 3902.3537 1.3520625 + 6750 20306.902 142.12484 0 3902.6623 2.2032106 + 6800 20755.367 58.994834 0 3902.5814 -0.90518094 + 6850 20471.259 111.7197 0 3902.6936 1.5799331 + 6900 20702.025 69.15032 0 3902.8586 9.3910371 + 6950 20477.695 110.34414 0 3902.5099 1.8181164 + 7000 20560.727 95.057704 0 3902.5998 -15.686006 + 7050 20336.675 136.39386 0 3902.4448 1.3704327 + 7100 20757.399 58.950153 0 3902.913 -6.4250981 + 7150 20870.958 38.095649 0 3903.088 -4.1962169 + 7200 20706.869 68.489134 0 3903.0944 2.8322659 + 7250 20386.713 127.7432 0 3903.0604 6.0287391 + 7300 18391.773 497.21001 0 3903.0939 19.202343 + 7350 20178.898 166.4993 0 3903.3322 1.5682417 + 7400 16858.704 781.78682 0 3903.7691 21.317514 + 7450 17509.513 660.71963 0 3903.2221 -5.9456143 + 7500 19974.601 204.20412 0 3903.2043 -0.69202711 + 7550 20917.053 29.73415 0 3903.2626 -3.9962577 + 7600 20923.518 28.482703 0 3903.2083 -1.9016251 + 7650 20549.528 97.630612 0 3903.0987 3.5512257 + 7700 20861.441 39.903885 0 3903.1337 2.4426264 + 7750 18843.349 413.64461 0 3903.1537 2.677739 + 7800 20616.054 85.214364 0 3903.0021 3.9639004 + 7850 16478.851 851.93376 0 3903.5728 7.3763128 + 7900 20312.115 141.35103 0 3902.8539 4.6707271 + 7950 20389.623 127.16589 0 3903.0219 3.4414001 + 8000 20452.117 115.30715 0 3902.7362 -1.0162528 + 8050 20857.093 40.791886 0 3903.2164 -15.150068 + 8100 19817.543 233.4997 0 3903.415 0.89346046 + 8150 18649.521 449.9112 0 3903.5262 -0.40053588 + 8200 19619.276 270.37616 0 3903.5754 5.5161492 + 8250 20393.176 127.01336 0 3903.5275 2.122613 + 8300 19145.912 358.00424 0 3903.5435 3.863924 + 8350 19636.311 267.17226 0 3903.5262 -7.1496084 + 8400 19086.332 368.86693 0 3903.3729 7.0968952 + 8450 19494.416 292.89527 0 3902.9723 3.1750935 + 8500 20041.919 191.77756 0 3903.244 0.95215503 + 8550 20357.561 133.15478 0 3903.0736 -0.14020152 + 8600 16998.797 756.07003 0 3903.9954 -16.724408 + 8650 20853.26 41.386996 0 3903.1017 -3.2612965 + 8700 20767.768 57.360884 0 3903.2438 1.1157649 + 8750 20752.546 60.106518 0 3903.1705 0.39130547 + 8800 20574.407 92.99798 0 3903.0734 0.61728166 + 8850 20326.99 138.94203 0 3903.1995 -1.9434522 + 8900 17408.108 679.53222 0 3903.2559 21.935371 + 8950 20471.21 112.2721 0 3903.2368 1.8142747 + 9000 19129.591 360.35257 0 3902.8694 4.5786395 + 9050 20439.668 117.89541 0 3903.0191 2.5585685 + 9100 20780.375 54.788664 0 3903.0062 3.8312459 + 9150 19904.559 216.61504 0 3902.6445 12.150414 + 9200 20961.295 21.52065 0 3903.2419 -0.2120699 + 9250 19315.252 326.44175 0 3903.3402 -19.740867 + 9300 20653.002 78.77764 0 3903.4076 -7.8068233 + 9350 18961.572 391.20947 0 3902.6117 -12.660843 + 9400 16262.179 892.67633 0 3904.191 22.2435 + 9450 17064.394 743.33301 0 3903.406 36.139436 + 9500 18075.588 555.06436 0 3902.3954 24.598176 + 9550 20487.738 109.06287 0 3903.0884 2.6320759 + 9600 20358.609 133.36993 0 3903.4828 0.76449113 + 9650 19849.022 228.46312 0 3904.208 9.5547064 + 9700 20448.112 116.8757 0 3903.5632 -1.0845697 + 9750 20472.78 112.51661 0 3903.7722 -0.30676738 + 9800 19491.99 293.35361 0 3902.9814 -20.10857 + 9850 19895.603 218.42479 0 3902.7957 -0.18235641 + 9900 19704.336 254.55068 0 3903.5019 14.553184 + 9950 17689.462 627.9788 0 3903.805 4.9918088 + 10000 20184.205 165.29396 0 3903.1097 2.9472364 +Loop time of 2.28393 on 1 procs for 10000 steps with 81 atoms + +Performance: 37829.498 tau/day, 4378.414 timesteps/s +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.052911 | 0.052911 | 0.052911 | 0.0 | 2.32 +Neigh | 0.056658 | 0.056658 | 0.056658 | 0.0 | 2.48 +Comm | 0.0087389 | 0.0087389 | 0.0087389 | 0.0 | 0.38 +Output | 0.0037996 | 0.0037996 | 0.0037996 | 0.0 | 0.17 +Modify | 2.1537 | 2.1537 | 2.1537 | 0.0 | 94.30 +Other | | 0.008147 | | | 0.36 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 113 ave 113 max 113 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 582 ave 582 max 582 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 582 +Ave neighs/atom = 7.1851852 +Neighbor list builds = 993 +Dangerous builds = 950 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.4 b/examples/rigid/log.20Mar22.rigid.poems5.g++.4 new file mode 100644 index 0000000000..cbf8b05490 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems5.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086358 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977039 0 3904.4174 9.0928122 + 250 19552.211 283.50525 0 3904.285 15.670466 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717095 0 3902.5839 -34.817444 + 1250 20625.583 82.586198 0 3902.1386 11.697328 + 1300 20690.013 71.006478 0 3902.4903 -29.29278 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.56 244.81784 0 3902.8844 6.7138497 + 1450 15690.149 998.34213 0 3903.9252 48.124569 + 1500 20234.455 155.92516 0 3903.0465 13.172207 + 1550 20779.631 55.063019 0 3903.1428 -2.6390455 + 1600 20642.753 80.233821 0 3902.9659 -2.4688431 + 1650 18785.698 423.90364 0 3902.7365 -5.6466892 + 1700 20965.076 20.760451 0 3903.182 -0.45366172 + 1750 18935.412 396.95958 0 3903.5173 25.913174 + 1800 20581.554 91.757912 0 3903.1567 3.8218442 + 1850 20616.949 85.184789 0 3903.1382 4.1907933 + 1900 16601.896 828.43849 0 3902.8638 -0.49468175 + 1950 20175.564 166.52646 0 3902.7421 5.6035728 + 2000 20262.525 150.28224 0 3902.6017 -1.1967705 + 2050 20168.994 167.65314 0 3902.6521 -0.80723928 + 2100 19810.955 232.96524 0 3901.6605 3.1936531 + 2150 20667.232 75.645145 0 3902.9103 0.54812734 + 2200 19863.772 224.34646 0 3902.8228 7.9294465 + 2250 18808.943 419.2084 0 3902.3461 14.344526 + 2300 20573.665 92.761842 0 3902.6999 -6.7671703 + 2350 19075.104 369.95414 0 3902.3809 -9.5353568 + 2400 20273.873 148.53775 0 3902.9586 -1.93796 + 2450 20087.769 182.30216 0 3902.2593 2.131796 + 2500 20711.602 67.530554 0 3903.0124 2.6280244 + 2550 19971.224 204.75926 0 3903.134 3.1760522 + 2600 20620.084 85.027145 0 3903.5612 -0.92888063 + 2650 19737.546 248.65474 0 3903.7559 -3.3218688 + 2700 20650.724 79.522243 0 3903.7303 -7.5918025 + 2750 19863.245 225.2505 0 3903.6292 9.2140221 + 2800 18992.457 386.73547 0 3903.8572 2.6244537 + 2850 18703.899 440.48356 0 3904.1685 14.561348 + 2900 17939.805 581.74599 0 3903.932 -8.0863089 + 2950 20867.516 39.38186 0 3903.7367 3.0985423 + 3000 19767.994 242.8847 0 3903.6243 1.5943109 + 3050 20397.448 126.31591 0 3903.6212 -0.14982775 + 3100 20978.114 19.126395 0 3903.9623 -9.6797253 + 3150 18303.556 513.8514 0 3903.3989 4.5940322 + 3200 19156.505 356.46608 0 3903.9671 10.071308 + 3250 17484.205 666.52199 0 3904.3377 -4.1641768 + 3300 18069.94 557.75947 0 3904.0447 11.868707 + 3350 20855.645 41.964632 0 3904.1212 5.4186293 + 3400 18011.986 568.76255 0 3904.3155 25.262783 + 3450 18669.69 446.92755 0 3904.2776 -4.194499 + 3500 20248.799 154.22147 0 3903.9991 3.9211572 + 3550 20226.024 158.64726 0 3904.2072 1.5299114 + 3600 20267.02 151.25631 0 3904.4082 -8.9821729 + 3650 20522.946 103.65382 0 3904.1994 -14.433796 + 3700 20892.319 35.294614 0 3904.2426 -21.264596 + 3750 19942.202 211.02993 0 3904.0304 -1.6428817 + 3800 20421.678 122.08118 0 3903.8734 1.7137935 + 3850 17899.53 588.82593 0 3903.5536 -24.450276 + 3900 20721.119 66.486999 0 3903.7312 -7.1772088 + 3950 20946.484 24.799445 0 3903.778 -0.4028037 + 4000 20985.362 17.608355 0 3903.7865 4.7522266 + 4050 19969.779 205.46466 0 3903.5719 18.941639 + 4100 20479.578 110.56561 0 3903.08 2.3715952 + 4150 18110.701 549.53348 0 3903.367 1.133321 + 4200 19321.098 325.58216 0 3903.5634 -3.7574942 + 4250 20734.436 63.87616 0 3903.5865 0.48350623 + 4300 19446.823 302.1727 0 3903.4362 4.0462392 + 4350 20494.669 108.1918 0 3903.501 2.9789077 + 4400 20379.244 129.61413 0 3903.5482 4.0881089 + 4450 19710.564 253.4251 0 3903.5295 5.3334683 + 4500 20744.753 61.785082 0 3903.406 4.0015409 + 4550 19948.024 208.76984 0 3902.8484 2.705423 + 4600 18367.368 502.69569 0 3904.0602 21.476471 + 4650 20559.367 96.133242 0 3903.4234 2.2549454 + 4700 20940.135 25.547808 0 3903.3505 -8.9042666 + 4750 20128.703 175.82088 0 3903.3584 -8.1450176 + 4800 20632.27 82.543887 0 3903.3347 -0.55649542 + 4850 19864.539 224.63792 0 3903.2563 7.1553461 + 4900 19332.037 323.15561 0 3903.1625 17.020214 + 4950 19055.575 373.68069 0 3902.4908 10.149457 + 5000 20219.484 159.21383 0 3903.5627 3.1806346 + 5050 17557.761 652.32864 0 3903.7659 10.733736 + 5100 20615.337 85.795304 0 3903.4503 -3.6035636 + 5150 20759.853 59.155843 0 3903.573 2.0152286 + 5200 20082.007 184.39375 0 3903.2839 -5.3745109 + 5250 18689.521 442.59842 0 3903.6208 -9.8911164 + 5300 20038.496 192.34221 0 3903.1749 -2.1437039 + 5350 19897.455 218.70142 0 3903.4154 0.64582116 + 5400 18732.385 434.21543 0 3903.1755 12.98676 + 5450 19831.487 230.79099 0 3903.2886 11.439958 + 5500 20079.89 184.6953 0 3903.1935 4.0906279 + 5550 20453.497 115.47128 0 3903.1559 7.8844436 + 5600 16673.041 815.52661 0 3903.1267 -20.17797 + 5650 19691.378 256.6412 0 3903.1928 3.7103317 + 5700 20345.743 135.29997 0 3903.0302 5.6373816 + 5750 20769.613 56.906603 0 3903.1312 -17.564762 + 5800 20713.369 67.38314 0 3903.1922 -5.340631 + 5850 20799.947 51.348865 0 3903.1909 -2.7827653 + 5900 19581.933 273.51588 0 3899.7997 12.347375 + 5950 20444.438 116.909 0 3902.9161 -0.74896654 + 6000 18970.948 389.99664 0 3903.1352 26.642912 + 6050 19414.753 307.13217 0 3902.4568 25.86316 + 6100 20780.042 54.586474 0 3902.7424 1.5387425 + 6150 20885.872 35.091585 0 3902.8456 -8.251884 + 6200 19825.81 231.40943 0 3902.8558 6.7196589 + 6250 20578.278 92.255994 0 3903.0481 -5.9647091 + 6300 20093.43 181.8699 0 3902.8754 -9.9906069 + 6350 20605.294 87.180289 0 3902.9755 -3.5643876 + 6400 19737.257 247.84828 0 3902.8958 -4.2783347 + 6450 19884.717 220.81633 0 3903.1714 3.8758905 + 6500 18719.372 436.94802 0 3903.4984 1.7865904 + 6550 20096.883 181.63346 0 3903.2784 2.395512 + 6600 20888.673 35.003062 0 3903.2758 2.7728947 + 6650 20437.85 118.16373 0 3902.9507 8.1456757 + 6700 19241.051 339.73065 0 3902.8882 13.740454 + 6750 20407.542 123.94326 0 3903.1177 7.6285942 + 6800 20536.785 99.976706 0 3903.0851 8.3496632 + 6850 20625.328 83.579677 0 3903.0849 6.5074992 + 6900 20705.37 68.944625 0 3903.2724 3.1905177 + 6950 18872.424 408.67134 0 3903.5647 6.2638845 + 7000 20072.762 186.18051 0 3903.3586 -22.780407 + 7050 20461.879 114.07495 0 3903.3117 -11.495523 + 7100 19811.566 234.50237 0 3903.3108 1.1212695 + 7150 20742.918 61.884088 0 3903.1651 -3.7907508 + 7200 20911.192 30.599903 0 3903.0429 -7.0262304 + 7250 20879.755 36.30274 0 3902.9241 -5.8018787 + 7300 20682.32 72.703261 0 3902.7626 -3.3446789 + 7350 19401.046 309.70672 0 3902.493 3.4836528 + 7400 20220.542 157.83897 0 3902.3838 2.3400031 + 7450 17691.193 625.47764 0 3901.6244 25.239568 + 7500 19745.294 245.02566 0 3901.5615 5.3622843 + 7550 19685.719 256.70983 0 3902.2133 3.4560563 + 7600 18830.192 415.10021 0 3902.1727 -0.10282681 + 7650 19613.136 270.18979 0 3902.2521 8.2241536 + 7700 20989.015 15.636879 0 3902.4915 1.2955204 + 7750 20301.583 142.90625 0 3902.4586 0.12548373 + 7800 18360.147 502.50342 0 3902.5307 17.117272 + 7850 20796.478 51.032537 0 3902.2321 -3.0993883 + 7900 20284.267 145.64296 0 3901.9887 -1.2682383 + 7950 20280.983 146.13471 0 3901.8723 3.5999841 + 8000 20915.869 28.730821 0 3902.0399 2.4987291 + 8050 20745.162 60.19981 0 3901.8964 4.0643481 + 8100 20509.039 103.70462 0 3901.6748 1.0771863 + 8150 20212.97 158.64893 0 3901.7916 3.0000215 + 8200 20323.463 138.25912 0 3901.8634 -1.2802945 + 8250 19997.284 198.37183 0 3901.5727 -2.6431964 + 8300 20138.402 171.75824 0 3901.092 1.7669897 + 8350 20367.568 130.22531 0 3901.9972 -1.2153731 + 8400 19945.534 208.35675 0 3901.9741 1.6021151 + 8450 20112.534 177.18642 0 3901.7298 2.2413008 + 8500 20686.7 71.116816 0 3901.9873 2.2888545 + 8550 18081.94 553.83586 0 3902.3432 7.8257937 + 8600 18320.081 505.67086 0 3898.2784 16.554878 + 8650 20235.305 154.43021 0 3901.709 3.1740823 + 8700 20355.413 132.22512 0 3901.746 4.3436482 + 8750 20087.188 182.11349 0 3901.9631 10.422134 + 8800 20400.795 124.09819 0 3902.0232 2.1179177 + 8850 20678.731 72.825797 0 3902.2204 -3.4491441 + 8900 20372.643 129.5072 0 3902.2189 -8.2166415 + 8950 20851.731 40.899364 0 3902.331 -5.8382839 + 9000 20318.076 139.61775 0 3902.2243 -4.1960802 + 9050 16879.415 776.53739 0 3902.3549 -14.429475 + 9100 19135.149 358.68223 0 3902.2284 -15.50479 + 9150 20689.556 70.939656 0 3902.339 -2.9876179 + 9200 19949.801 207.54882 0 3901.9564 6.4259245 + 9250 20207.027 160.2813 0 3902.3233 1.7402195 + 9300 20030.005 192.99466 0 3902.2548 5.300728 + 9350 19795.291 236.24003 0 3902.0347 5.8677745 + 9400 18232.093 526.18752 0 3902.501 19.344893 + 9450 18789.641 422.30568 0 3901.8687 -7.5185247 + 9500 16332.599 874.10423 0 3898.6597 16.241378 + 9550 18572.572 462.19972 0 3901.5649 -10.777359 + 9600 19859.645 223.32209 0 3901.0341 0.89631957 + 9650 19092.741 365.35768 0 3901.0504 6.7830005 + 9700 18391.154 495.72792 0 3901.4972 6.0683847 + 9750 17790.092 608.60997 0 3903.0714 8.2090184 + 9800 17681.783 628.99951 0 3903.4038 14.231747 + 9850 17804.412 605.54067 0 3902.654 22.308453 + 9900 19134.472 359.37911 0 3902.7999 8.5633158 + 9950 20099.055 180.28604 0 3902.3332 4.7905855 + 10000 20035.447 192.30744 0 3902.5754 1.8299201 +Loop time of 2.34062 on 4 procs for 10000 steps with 81 atoms + +Performance: 36913.309 tau/day, 4272.374 timesteps/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0052865 | 0.014915 | 0.039366 | 11.6 | 0.64 +Neigh | 0.0080708 | 0.016504 | 0.03345 | 7.7 | 0.71 +Comm | 0.1357 | 0.14237 | 0.15111 | 1.5 | 6.08 +Output | 0.0033429 | 0.0037922 | 0.0050931 | 1.2 | 0.16 +Modify | 2.1033 | 2.1433 | 2.1609 | 1.6 | 91.57 +Other | | 0.01973 | | | 0.84 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Nghost: 35.25 ave 47 max 24 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 137.5 ave 252 max 0 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 550 +Ave neighs/atom = 6.7901235 +Neighbor list builds = 994 +Dangerous builds = 956 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.1 b/examples/rigid/log.20Mar22.rigid.small.g++.1 new file mode 100644 index 0000000000..e34bdad80d --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.g++.1 @@ -0,0 +1,322 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722826e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.255443 0 5269.4841 11.963561 + 3300 16732.156 1.9585966 0 5269.4893 12.234024 + 3350 16738.655 -0.079693235 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.092031 + 3550 16713.405 7.8460623 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663192 0 5269.4882 12.027009 + 3700 16738.602 -0.070934371 0 5269.4889 12.025288 + 3750 16737.731 0.20706562 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690678 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646809 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307407 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532803 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765242 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156153 0 5269.5203 12.011611 + 9600 16738.549 -0.026814361 0 5269.5163 12.011415 + 9650 16738.765 -0.1019152 0 5269.5092 12.011013 + 9700 16735.041 1.0589855 0 5269.4979 12.062708 + 9750 16738.013 0.13550223 0 5269.5101 11.407246 + 9800 16738.512 -0.01162033 0 5269.5201 11.394974 + 9850 16738.489 -0.000672705 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984511 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.097001 on 1 procs for 10000 steps with 81 atoms + +Performance: 890712.494 tau/day, 103091.724 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0064264 | 0.0064264 | 0.0064264 | 0.0 | 6.63 +Bond | 0.0003385 | 0.0003385 | 0.0003385 | 0.0 | 0.35 +Neigh | 0.030894 | 0.030894 | 0.030894 | 0.0 | 31.85 +Comm | 0.0065732 | 0.0065732 | 0.0065732 | 0.0 | 6.78 +Output | 0.0021773 | 0.0021773 | 0.0021773 | 0.0 | 2.24 +Modify | 0.046477 | 0.046477 | 0.046477 | 0.0 | 47.91 +Other | | 0.004115 | | | 4.24 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.4 b/examples/rigid/log.20Mar22.rigid.small.g++.4 new file mode 100644 index 0000000000..03bb7a39c0 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.g++.4 @@ -0,0 +1,322 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972281e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156165 0 5269.5203 12.011611 + 9600 16738.549 -0.02681437 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589893 0 5269.4979 12.062708 + 9750 16738.013 0.1355014 0 5269.5101 11.407246 + 9800 16738.512 -0.011620326 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270465 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984533 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.115632 on 4 procs for 10000 steps with 81 atoms + +Performance: 747196.558 tau/day, 86481.083 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0014528 | 0.0020376 | 0.0024938 | 0.9 | 1.76 +Bond | 0.00030255 | 0.00030731 | 0.00031718 | 0.0 | 0.27 +Neigh | 0.0089963 | 0.0094964 | 0.010494 | 0.6 | 8.21 +Comm | 0.035947 | 0.038848 | 0.040951 | 1.0 | 33.60 +Output | 0.0022924 | 0.002542 | 0.0032643 | 0.8 | 2.20 +Modify | 0.056743 | 0.058255 | 0.059447 | 0.4 | 50.38 +Other | | 0.004146 | | | 3.59 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 new file mode 100644 index 0000000000..7c5f672309 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 @@ -0,0 +1,323 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722817e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156162 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589884 0 5269.4979 12.062708 + 9750 16738.013 0.13550153 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270481 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984532 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.0973982 on 1 procs for 10000 steps with 81 atoms + +Performance: 887079.894 tau/day, 102671.284 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0065928 | 0.0065928 | 0.0065928 | 0.0 | 6.77 +Bond | 0.00033457 | 0.00033457 | 0.00033457 | 0.0 | 0.34 +Neigh | 0.031245 | 0.031245 | 0.031245 | 0.0 | 32.08 +Comm | 0.0065444 | 0.0065444 | 0.0065444 | 0.0 | 6.72 +Output | 0.0024004 | 0.0024004 | 0.0024004 | 0.0 | 2.46 +Modify | 0.045966 | 0.045966 | 0.045966 | 0.0 | 47.19 +Other | | 0.004315 | | | 4.43 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 new file mode 100644 index 0000000000..aad4e878dc --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 @@ -0,0 +1,323 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722791e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585966 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460622 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663193 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646806 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156164 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589884 0 5269.4979 12.062708 + 9750 16738.013 0.13550185 0 5269.5101 11.407246 + 9800 16738.512 -0.011620326 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270434 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984508 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.135757 on 4 procs for 10000 steps with 81 atoms + +Performance: 636433.251 tau/day, 73661.256 timesteps/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0020781 | 0.0024716 | 0.0032187 | 0.9 | 1.82 +Bond | 0.00029013 | 0.000332 | 0.00037076 | 0.0 | 0.24 +Neigh | 0.0087772 | 0.011705 | 0.014134 | 2.3 | 8.62 +Comm | 0.042702 | 0.045012 | 0.048023 | 1.1 | 33.16 +Output | 0.0027373 | 0.0030292 | 0.0036178 | 0.6 | 2.23 +Modify | 0.067437 | 0.068617 | 0.069634 | 0.3 | 50.54 +Other | | 0.004589 | | | 3.38 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 deleted file mode 100644 index 4f76779be7..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.483 | 4.483 | 4.483 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.119912 on 1 procs for 10000 steps with 81 atoms - -Performance: 720528.892 tau/day, 83394.548 timesteps/s, 6.755 Matom-step/s -98.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.007138 | 0.007138 | 0.007138 | 0.0 | 5.95 -Neigh | 0.04331 | 0.04331 | 0.04331 | 0.0 | 36.12 -Comm | 0.0080707 | 0.0080707 | 0.0080707 | 0.0 | 6.73 -Output | 0.001757 | 0.001757 | 0.001757 | 0.0 | 1.47 -Modify | 0.052965 | 0.052965 | 0.052965 | 0.0 | 44.17 -Other | | 0.006671 | | | 5.56 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 deleted file mode 100644 index 071a4de5d0..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.33 | 4.362 | 4.456 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.135195 on 4 procs for 10000 steps with 81 atoms - -Performance: 639077.466 tau/day, 73967.299 timesteps/s, 5.991 Matom-step/s -97.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016842 | 0.0023498 | 0.0027328 | 0.8 | 1.74 -Neigh | 0.012614 | 0.013371 | 0.014361 | 0.5 | 9.89 -Comm | 0.062345 | 0.06407 | 0.065902 | 0.6 | 47.39 -Output | 0.0018312 | 0.0019801 | 0.0024023 | 0.5 | 1.46 -Modify | 0.038532 | 0.039713 | 0.041474 | 0.6 | 29.37 -Other | | 0.01371 | | | 10.14 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 deleted file mode 100644 index 7510d35ec1..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.358 | 4.358 | 4.358 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.131374 on 1 procs for 10000 steps with 81 atoms - -Performance: 657662.971 tau/day, 76118.399 timesteps/s, 6.166 Matom-step/s -99.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0075531 | 0.0075531 | 0.0075531 | 0.0 | 5.75 -Neigh | 0.047177 | 0.047177 | 0.047177 | 0.0 | 35.91 -Comm | 0.0090961 | 0.0090961 | 0.0090961 | 0.0 | 6.92 -Output | 0.0018917 | 0.0018917 | 0.0018917 | 0.0 | 1.44 -Modify | 0.058064 | 0.058064 | 0.058064 | 0.0 | 44.20 -Other | | 0.007593 | | | 5.78 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 deleted file mode 100644 index b7adcacb14..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.205 | 4.237 | 4.331 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.135534 on 4 procs for 10000 steps with 81 atoms - -Performance: 637479.927 tau/day, 73782.399 timesteps/s, 5.976 Matom-step/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016589 | 0.0022805 | 0.0027973 | 0.9 | 1.68 -Neigh | 0.012838 | 0.013347 | 0.014456 | 0.6 | 9.85 -Comm | 0.062667 | 0.064428 | 0.066142 | 0.6 | 47.54 -Output | 0.0018075 | 0.001966 | 0.0024125 | 0.6 | 1.45 -Modify | 0.038219 | 0.039639 | 0.041101 | 0.6 | 29.25 -Other | | 0.01387 | | | 10.24 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.1 b/examples/rigid/log.25Mar24.rigid.early.g++.1 deleted file mode 100644 index 9f5d86312e..0000000000 --- a/examples/rigid/log.25Mar24.rigid.early.g++.1 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.127115 on 1 procs for 10000 steps with 81 atoms - -Performance: 679698.303 tau/day, 78668.785 timesteps/s, 6.372 Matom-step/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0074904 | 0.0074904 | 0.0074904 | 0.0 | 5.89 -Neigh | 0.044675 | 0.044675 | 0.044675 | 0.0 | 35.15 -Comm | 0.0079194 | 0.0079194 | 0.0079194 | 0.0 | 6.23 -Output | 0.0018129 | 0.0018129 | 0.0018129 | 0.0 | 1.43 -Modify | 0.057845 | 0.057845 | 0.057845 | 0.0 | 45.51 -Other | | 0.007372 | | | 5.80 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.4 b/examples/rigid/log.25Mar24.rigid.early.g++.4 deleted file mode 100644 index e0b182d9fc..0000000000 --- a/examples/rigid/log.25Mar24.rigid.early.g++.4 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.133679 on 4 procs for 10000 steps with 81 atoms - -Performance: 646325.439 tau/day, 74806.185 timesteps/s, 6.059 Matom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016629 | 0.0023406 | 0.0028762 | 0.9 | 1.75 -Neigh | 0.012558 | 0.013331 | 0.015279 | 1.0 | 9.97 -Comm | 0.060677 | 0.062779 | 0.0646 | 0.7 | 46.96 -Output | 0.0017495 | 0.001914 | 0.0023526 | 0.6 | 1.43 -Modify | 0.037566 | 0.039361 | 0.040514 | 0.6 | 29.44 -Other | | 0.01395 | | | 10.44 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.1 b/examples/rigid/log.25Mar24.rigid.g++.1 deleted file mode 100644 index 6b27146c6b..0000000000 --- a/examples/rigid/log.25Mar24.rigid.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.002 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.136528 on 1 procs for 10000 steps with 81 atoms - -Performance: 632835.120 tau/day, 73244.806 timesteps/s, 5.933 Matom-step/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0091674 | 0.0091674 | 0.0091674 | 0.0 | 6.71 -Neigh | 0.046854 | 0.046854 | 0.046854 | 0.0 | 34.32 -Comm | 0.0076933 | 0.0076933 | 0.0076933 | 0.0 | 5.63 -Output | 0.001779 | 0.001779 | 0.001779 | 0.0 | 1.30 -Modify | 0.063842 | 0.063842 | 0.063842 | 0.0 | 46.76 -Other | | 0.007193 | | | 5.27 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.4 b/examples/rigid/log.25Mar24.rigid.g++.4 deleted file mode 100644 index c2f691b7ec..0000000000 --- a/examples/rigid/log.25Mar24.rigid.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.134503 on 4 procs for 10000 steps with 81 atoms - -Performance: 642365.322 tau/day, 74347.838 timesteps/s, 6.022 Matom-step/s -96.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016076 | 0.0023247 | 0.002836 | 0.9 | 1.73 -Neigh | 0.012491 | 0.013229 | 0.0145 | 0.7 | 9.84 -Comm | 0.062105 | 0.063666 | 0.06514 | 0.5 | 47.33 -Output | 0.0017602 | 0.0019318 | 0.0024227 | 0.6 | 1.44 -Modify | 0.038132 | 0.039518 | 0.040852 | 0.5 | 29.38 -Other | | 0.01383 | | | 10.29 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.1 b/examples/rigid/log.25Mar24.rigid.gravity.g++.1 deleted file mode 100644 index 87b814dfab..0000000000 --- a/examples/rigid/log.25Mar24.rigid.gravity.g++.1 +++ /dev/null @@ -1,228 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -#Pour composite granular particles on flat wall - -newton on -atom_style sphere -atom_modify map array sort 0 0 - -thermo_modify flush yes -units si - -variable minrad equal 0.5 -variable maxrad equal 1.4 - -variable skin equal 0.3*${maxrad} -variable skin equal 0.3*1.4 - -boundary p p f -region reg block 0 20 0 20 0 200 units box -create_box 1 reg -Created orthogonal box = (0 0 0) to (20 20 200) - 1 by 1 by 1 MPI processor grid - -fix prop all property/atom mol ghost yes - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 -pair_coeff * * - -timestep 0.0001 - -group particles type 1 -0 atoms in group particles -atom_modify first particles - -neighbor ${skin} bin -neighbor 0.42 bin -group rigid type 1 -0 atoms in group rigid -neigh_modify every 1 delay 0 check yes exclude molecule/intra all - -thermo ${logfreq} -thermo 1000 -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) -thermo_modify flush yes lost warn - -comm_modify vel yes cutoff 3 - -molecule mymol molecule.data -Read molecule template mymol: -LAMMPS data file created for rigid body molecule template - 1 molecules - 0 fragments - 5 atoms with max type 1 - 0 bonds with max type 0 - 0 angles with max type 0 - 0 dihedrals with max type 0 - 0 impropers with max type 0 -region pourreg block 5 15 5 15 80 100 side in units box - -#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity -# and the 'gravity' keyword to fix rigid/small were not available. -# These settings produce undesirable behavior, where gravity can induce -# torque on rigid bodies. -#fix gravfix all gravity 9.8 vector 0 0 -1 #disable -#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix - -#The correct behavior is recovered with the following settings: -fix gravfix all gravity 9.8 vector 0 0 -1 disable -fix rigidfix all rigid/small molecule mol mymol gravity gravfix - create bodies CPU = 0.000 seconds - 0 rigid bodies with 0 atoms - 1.2 = max distance from body owner to body atom - -fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix -Particle insertion: 15 every 20203 steps, 5 by step 1 - -fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL - -#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz - -run 100000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.62 - ghost atom cutoff = 3 - binsize = 0.81, bins = 25 25 247 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.893 | 6.893 | 6.893 Mbytes - Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.005385611 25 -0 - 2000 0.01106897 25 -0 - 3000 0.01569532 25 -0 - 4000 0.020782538 25 -0 - 5000 0.02656256 25 -0 - 6000 0.03132421 25 -0 - 7000 0.035996621 25 -0 - 8000 0.040816339 25 -0 - 9000 0.045911912 25 -0 - 10000 0.051486339 25 -0 - 11000 0.058049641 25 -0 - 12000 0.063206805 25 -0 - 13000 0.068374138 25 -0 - 14000 0.073423818 25 -0 - 15000 0.078890587 25 -0 - 16000 0.086372246 25 -0 - 17000 0.091912312 25 -0 - 18000 0.097317178 25 -0 - 19000 0.10284163 25 -0 - 20000 0.10836857 25 -0 - 21000 0.11476057 25 -0 - 22000 0.12201322 25 -0 - 23000 0.127963 25 -0 - 24000 0.13386968 25 -0 - 25000 0.1397396 25 -0 - 26000 0.14672759 25 -0 - 27000 0.15447534 25 -0 - 28000 0.16103509 25 -0 - 29000 0.16703686 25 -0 - 30000 0.17306375 25 -0 - 31000 0.18150464 25 -0 - 32000 0.1874536 25 -0 - 33000 0.19372953 25 -0 - 34000 0.19997087 25 -0 - 35000 0.20643521 25 -0 - 36000 0.21499446 25 -0 - 37000 0.22129475 25 -0 - 38000 0.2278159 25 -0 - 39000 0.23262556 25 -0 - 40000 0.23679 25 -0 - 41000 0.2428383 25 -0 - 42000 0.24757287 25 -0 - 43000 0.25190701 25 -0 - 44000 0.25617771 25 -0 - 45000 0.26057242 25 -0 - 46000 0.26469065 25 -0 - 47000 0.26921214 25 -0 - 48000 0.27502337 25 -0 - 49000 0.27911905 25 -0 - 50000 0.28338379 25 -0 - 51000 0.28736617 25 -0 - 52000 0.29127304 25 -0 - 53000 0.29504445 25 -0 - 54000 0.29898933 25 -0 - 55000 0.30479176 25 -0 - 56000 0.30893347 25 -0 - 57000 0.31277358 25 -0 - 58000 0.31658797 25 -0 - 59000 0.32024112 25 -0 - 60000 0.32373109 25 -0 - 61000 0.32753442 25 -0 - 62000 0.33123815 25 -0 - 63000 0.33643285 25 -0 - 64000 0.34036569 25 -0 - 65000 0.34399532 25 -0 - 66000 0.3475875 25 -0 - 67000 0.35124833 25 -0 - 68000 0.35503825 25 -0 - 69000 0.35870471 25 -0 - 70000 0.3624294 25 -0 - 71000 0.36714884 25 -0 - 72000 0.37082887 25 -0 - 73000 0.37459885 25 -0 - 74000 0.37835449 25 -0 - 75000 0.38245549 25 -0 - 76000 0.38681838 25 -0 - 77000 0.39069919 25 -0 - 78000 0.39460729 25 -0 - 79000 0.39908672 25 -0 - 80000 0.40266481 25 -0 - 81000 0.40645032 25 -0 - 82000 0.41005038 25 -0 - 83000 0.41355864 25 -0 - 84000 0.41741638 25 -0 - 85000 0.42182475 25 -0 - 86000 0.42614449 25 -0 - 87000 0.43024819 25 -0 - 88000 0.43389722 25 -0 - 89000 0.4372946 25 -0 - 90000 0.44097963 25 -0 - 91000 0.44451596 25 -0 - 92000 0.44800886 25 -0 - 93000 0.45171482 25 -0 - 94000 0.45568312 25 -0 - 95000 0.46068385 25 -0 - 96000 0.46423783 25 -0 - 97000 0.46783791 25 -0 - 98000 0.47132532 25 -0 - 99000 0.47462675 25 -0 - 100000 0.47811781 25 -0 -Loop time of 0.478128 on 1 procs for 100000 steps with 25 atoms - -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016638 | 0.016638 | 0.016638 | 0.0 | 3.48 -Neigh | 0.12338 | 0.12338 | 0.12338 | 0.0 | 25.81 -Comm | 0.026212 | 0.026212 | 0.026212 | 0.0 | 5.48 -Output | 0.0015672 | 0.0015672 | 0.0015672 | 0.0 | 0.33 -Modify | 0.28303 | 0.28303 | 0.28303 | 0.0 | 59.20 -Other | | 0.0273 | | | 5.71 - -Nlocal: 25 ave 25 max 25 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1 ave 1 max 1 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 703 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.4 b/examples/rigid/log.25Mar24.rigid.gravity.g++.4 deleted file mode 100644 index ddf76fb4d6..0000000000 --- a/examples/rigid/log.25Mar24.rigid.gravity.g++.4 +++ /dev/null @@ -1,228 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -#Pour composite granular particles on flat wall - -newton on -atom_style sphere -atom_modify map array sort 0 0 - -thermo_modify flush yes -units si - -variable minrad equal 0.5 -variable maxrad equal 1.4 - -variable skin equal 0.3*${maxrad} -variable skin equal 0.3*1.4 - -boundary p p f -region reg block 0 20 0 20 0 200 units box -create_box 1 reg -Created orthogonal box = (0 0 0) to (20 20 200) - 1 by 1 by 4 MPI processor grid - -fix prop all property/atom mol ghost yes - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 -pair_coeff * * - -timestep 0.0001 - -group particles type 1 -0 atoms in group particles -atom_modify first particles - -neighbor ${skin} bin -neighbor 0.42 bin -group rigid type 1 -0 atoms in group rigid -neigh_modify every 1 delay 0 check yes exclude molecule/intra all - -thermo ${logfreq} -thermo 1000 -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) -thermo_modify flush yes lost warn - -comm_modify vel yes cutoff 3 - -molecule mymol molecule.data -Read molecule template mymol: -LAMMPS data file created for rigid body molecule template - 1 molecules - 0 fragments - 5 atoms with max type 1 - 0 bonds with max type 0 - 0 angles with max type 0 - 0 dihedrals with max type 0 - 0 impropers with max type 0 -region pourreg block 5 15 5 15 80 100 side in units box - -#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity -# and the 'gravity' keyword to fix rigid/small were not available. -# These settings produce undesirable behavior, where gravity can induce -# torque on rigid bodies. -#fix gravfix all gravity 9.8 vector 0 0 -1 #disable -#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix - -#The correct behavior is recovered with the following settings: -fix gravfix all gravity 9.8 vector 0 0 -1 disable -fix rigidfix all rigid/small molecule mol mymol gravity gravfix - create bodies CPU = 0.000 seconds - 0 rigid bodies with 0 atoms - 1.2 = max distance from body owner to body atom - -fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix -Particle insertion: 15 every 20203 steps, 5 by step 1 - -fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL - -#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz - -run 100000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.62 - ghost atom cutoff = 3 - binsize = 0.81, bins = 25 25 247 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.09 | 6.09 | 6.09 Mbytes - Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.007155423 25 -0 - 2000 0.013621411 25 -0 - 3000 0.018069993 25 -0 - 4000 0.022375597 25 -0 - 5000 0.027610001 25 -0 - 6000 0.032700728 25 -0 - 7000 0.036781214 25 -0 - 8000 0.041026343 25 -0 - 9000 0.045133974 25 -0 - 10000 0.049302504 25 -0 - 11000 0.053475155 25 -0 - 12000 0.058101552 25 -0 - 13000 0.063617332 25 -0 - 14000 0.070220865 25 -0 - 15000 0.079467476 25 -0 - 16000 0.085128592 25 -0 - 17000 0.088670803 25 -0 - 18000 0.093576466 25 -0 - 19000 0.096967506 25 -0 - 20000 0.10032704 25 -0 - 21000 0.1037381 25 -0 - 22000 0.10714647 25 -0 - 23000 0.11062389 25 -0 - 24000 0.11408744 25 -0 - 25000 0.12017243 25 -0 - 26000 0.12858759 25 -0 - 27000 0.13356253 25 -0 - 28000 0.13819667 25 -0 - 29000 0.14299332 25 -0 - 30000 0.14766723 25 -0 - 31000 0.15258071 25 -0 - 32000 0.15836989 25 -0 - 33000 0.16306841 25 -0 - 34000 0.16769723 25 -0 - 35000 0.172317 25 -0 - 36000 0.17698336 25 -0 - 37000 0.18173594 25 -0 - 38000 0.1879449 25 -0 - 39000 0.19236501 25 -0 - 40000 0.1964458 25 -0 - 41000 0.20045733 25 -0 - 42000 0.20454794 25 -0 - 43000 0.20872097 25 -0 - 44000 0.21291348 25 -0 - 45000 0.21780319 25 -0 - 46000 0.22260816 25 -0 - 47000 0.22686931 25 -0 - 48000 0.23117793 25 -0 - 49000 0.23535185 25 -0 - 50000 0.24054306 25 -0 - 51000 0.24463963 25 -0 - 52000 0.24938311 25 -0 - 53000 0.25348209 25 -0 - 54000 0.25745703 25 -0 - 55000 0.26145377 25 -0 - 56000 0.26534485 25 -0 - 57000 0.26928518 25 -0 - 58000 0.27321574 25 -0 - 59000 0.27791991 25 -0 - 60000 0.28284558 25 -0 - 61000 0.28673327 25 -0 - 62000 0.29055931 25 -0 - 63000 0.2945131 25 -0 - 64000 0.29846467 25 -0 - 65000 0.30238139 25 -0 - 66000 0.3062491 25 -0 - 67000 0.31026454 25 -0 - 68000 0.31498685 25 -0 - 69000 0.31887771 25 -0 - 70000 0.32278066 25 -0 - 71000 0.32658541 25 -0 - 72000 0.33047871 25 -0 - 73000 0.33441507 25 -0 - 74000 0.33830186 25 -0 - 75000 0.34298503 25 -0 - 76000 0.3470502 25 -0 - 77000 0.35093166 25 -0 - 78000 0.35472767 25 -0 - 79000 0.35858626 25 -0 - 80000 0.36236101 25 -0 - 81000 0.36621078 25 -0 - 82000 0.36998141 25 -0 - 83000 0.37417451 25 -0 - 84000 0.37850331 25 -0 - 85000 0.38230344 25 -0 - 86000 0.38621429 25 -0 - 87000 0.38998154 25 -0 - 88000 0.39378687 25 -0 - 89000 0.397529 25 -0 - 90000 0.40133202 25 -0 - 91000 0.40575097 25 -0 - 92000 0.41012392 25 -0 - 93000 0.41397633 25 -0 - 94000 0.41791732 25 -0 - 95000 0.42174915 25 -0 - 96000 0.42570384 25 -0 - 97000 0.4295687 25 -0 - 98000 0.43339555 25 -0 - 99000 0.43810319 25 -0 - 100000 0.44205356 25 -0 -Loop time of 0.442071 on 4 procs for 100000 steps with 25 atoms - -99.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0043596 | 0.0077919 | 0.015026 | 4.9 | 1.76 -Neigh | 0.03639 | 0.037869 | 0.038842 | 0.5 | 8.57 -Comm | 0.029189 | 0.034805 | 0.038937 | 2.3 | 7.87 -Output | 0.00094691 | 0.0012173 | 0.0019545 | 1.2 | 0.28 -Modify | 0.031085 | 0.10076 | 0.24754 | 27.5 | 22.79 -Other | | 0.2596 | | | 58.73 - -Nlocal: 6.25 ave 25 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 0.25 ave 1 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 703 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.infile.g++.1 deleted file mode 100644 index a8d6f550aa..0000000000 --- a/examples/rigid/log.25Mar24.rigid.infile.g++.1 +++ /dev/null @@ -1,310 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722859e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663193 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532807 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 - 9600 16738.549 -0.026814365 0 5269.5163 12.011415 - 9650 16738.765 -0.10191521 0 5269.5092 12.011013 - 9700 16735.041 1.0589871 0 5269.4979 12.062708 - 9750 16738.013 0.13550136 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270559 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984558 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.134486 on 1 procs for 10000 steps with 81 atoms - -Performance: 642445.705 tau/day, 74357.142 timesteps/s, 6.023 Matom-step/s -99.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0076798 | 0.0076798 | 0.0076798 | 0.0 | 5.71 -Neigh | 0.048776 | 0.048776 | 0.048776 | 0.0 | 36.27 -Comm | 0.0085249 | 0.0085249 | 0.0085249 | 0.0 | 6.34 -Output | 0.0021846 | 0.0021846 | 0.0021846 | 0.0 | 1.62 -Modify | 0.059372 | 0.059372 | 0.059372 | 0.0 | 44.15 -Other | | 0.007949 | | | 5.91 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.infile.g++.4 deleted file mode 100644 index 0e4f37b698..0000000000 --- a/examples/rigid/log.25Mar24.rigid.infile.g++.4 +++ /dev/null @@ -1,310 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722861e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814367 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589878 0 5269.4979 12.062708 - 9750 16738.013 0.13550114 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270564 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.135118 on 4 procs for 10000 steps with 81 atoms - -Performance: 639441.862 tau/day, 74009.475 timesteps/s, 5.995 Matom-step/s -97.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0015919 | 0.0022753 | 0.0028384 | 0.9 | 1.68 -Neigh | 0.012494 | 0.013468 | 0.015484 | 1.0 | 9.97 -Comm | 0.061357 | 0.0636 | 0.06555 | 0.7 | 47.07 -Output | 0.0017441 | 0.0018894 | 0.0023095 | 0.6 | 1.40 -Modify | 0.037856 | 0.039816 | 0.041217 | 0.6 | 29.47 -Other | | 0.01407 | | | 10.41 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.1 b/examples/rigid/log.25Mar24.rigid.molecule.g++.1 deleted file mode 100644 index 75d05c3d07..0000000000 --- a/examples/rigid/log.25Mar24.rigid.molecule.g++.1 +++ /dev/null @@ -1,319 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.130618 on 1 procs for 10000 steps with 81 atoms - -Performance: 661470.393 tau/day, 76559.073 timesteps/s, 6.201 Matom-step/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0069622 | 0.0069622 | 0.0069622 | 0.0 | 5.33 -Bond | 0.00033246 | 0.00033246 | 0.00033246 | 0.0 | 0.25 -Neigh | 0.053402 | 0.053402 | 0.053402 | 0.0 | 40.88 -Comm | 0.008192 | 0.008192 | 0.008192 | 0.0 | 6.27 -Output | 0.0015884 | 0.0015884 | 0.0015884 | 0.0 | 1.22 -Modify | 0.053219 | 0.053219 | 0.053219 | 0.0 | 40.74 -Other | | 0.006922 | | | 5.30 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.4 b/examples/rigid/log.25Mar24.rigid.molecule.g++.4 deleted file mode 100644 index 6cbb88d471..0000000000 --- a/examples/rigid/log.25Mar24.rigid.molecule.g++.4 +++ /dev/null @@ -1,319 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.139893 on 4 procs for 10000 steps with 81 atoms - -Performance: 617616.025 tau/day, 71483.336 timesteps/s, 5.790 Matom-step/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0015795 | 0.0022375 | 0.0027109 | 0.9 | 1.60 -Bond | 0.00031772 | 0.00032314 | 0.00032894 | 0.0 | 0.23 -Neigh | 0.015169 | 0.016101 | 0.017803 | 0.8 | 11.51 -Comm | 0.063065 | 0.06514 | 0.06737 | 0.7 | 46.56 -Output | 0.001945 | 0.0020985 | 0.0025044 | 0.5 | 1.50 -Modify | 0.03865 | 0.039853 | 0.041246 | 0.6 | 28.49 -Other | | 0.01414 | | | 10.11 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 deleted file mode 100644 index d9fbe7ee28..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940182 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052044 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913194 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543712 0 5269.5051 13.052041 - 7700 16736.839 0.49724664 0 5269.502 13.085872 - 7750 16731.931 2.0427463 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994384 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368065 0 5269.5142 13.083 - 9700 16738.475 -0.00099963025 0 5269.519 13.083029 - 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.005648013 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 -Loop time of 0.13715 on 1 procs for 10000 steps with 81 atoms - -Performance: 629968.103 tau/day, 72912.975 timesteps/s, 5.906 Matom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0074777 | 0.0074777 | 0.0074777 | 0.0 | 5.45 -Neigh | 0.043608 | 0.043608 | 0.043608 | 0.0 | 31.80 -Comm | 0.0078838 | 0.0078838 | 0.0078838 | 0.0 | 5.75 -Output | 0.002002 | 0.002002 | 0.002002 | 0.0 | 1.46 -Modify | 0.06884 | 0.06884 | 0.06884 | 0.0 | 50.19 -Other | | 0.007339 | | | 5.35 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 63 ave 63 max 63 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19 ave 19 max 19 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 deleted file mode 100644 index 077e7976b9..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940181 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052045 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913195 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543714 0 5269.5051 13.052041 - 7700 16736.839 0.49724671 0 5269.502 13.085872 - 7750 16731.931 2.0427465 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994385 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368067 0 5269.5142 13.083 - 9700 16738.475 -0.00099963027 0 5269.519 13.083029 - 9750 16738.492 -0.00498524 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 -Loop time of 0.14818 on 4 procs for 10000 steps with 81 atoms - -Performance: 583075.499 tau/day, 67485.590 timesteps/s, 5.466 Matom-step/s -99.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0018099 | 0.0023754 | 0.0030445 | 1.0 | 1.60 -Neigh | 0.011989 | 0.012986 | 0.01555 | 1.3 | 8.76 -Comm | 0.062426 | 0.065066 | 0.066364 | 0.6 | 43.91 -Output | 0.0017674 | 0.0019257 | 0.002368 | 0.6 | 1.30 -Modify | 0.050371 | 0.051161 | 0.052809 | 0.4 | 34.53 -Other | | 0.01467 | | | 9.90 - -Nlocal: 20.25 ave 35 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 41 ave 52 max 30 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 4.75 ave 19 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.g++.1 deleted file mode 100644 index 45bfc9f8d4..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940182 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052044 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913194 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543712 0 5269.5051 13.052041 - 7700 16736.839 0.49724664 0 5269.502 13.085872 - 7750 16731.931 2.0427463 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994384 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368065 0 5269.5142 13.083 - 9700 16738.475 -0.00099963025 0 5269.519 13.083029 - 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.005648013 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 -Loop time of 0.139287 on 1 procs for 10000 steps with 81 atoms - -Performance: 620300.751 tau/day, 71794.068 timesteps/s, 5.815 Matom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0074128 | 0.0074128 | 0.0074128 | 0.0 | 5.32 -Neigh | 0.045566 | 0.045566 | 0.045566 | 0.0 | 32.71 -Comm | 0.007912 | 0.007912 | 0.007912 | 0.0 | 5.68 -Output | 0.0015912 | 0.0015912 | 0.0015912 | 0.0 | 1.14 -Modify | 0.06951 | 0.06951 | 0.06951 | 0.0 | 49.90 -Other | | 0.007295 | | | 5.24 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 63 ave 63 max 63 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19 ave 19 max 19 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.g++.4 deleted file mode 100644 index af3c1c6489..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940181 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052045 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913195 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543714 0 5269.5051 13.052041 - 7700 16736.839 0.49724671 0 5269.502 13.085872 - 7750 16731.931 2.0427465 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994385 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368067 0 5269.5142 13.083 - 9700 16738.475 -0.00099963027 0 5269.519 13.083029 - 9750 16738.492 -0.00498524 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 -Loop time of 0.147071 on 4 procs for 10000 steps with 81 atoms - -Performance: 587469.667 tau/day, 67994.174 timesteps/s, 5.508 Matom-step/s -98.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016588 | 0.0023518 | 0.0030017 | 1.0 | 1.60 -Neigh | 0.011581 | 0.012949 | 0.014883 | 1.1 | 8.80 -Comm | 0.063654 | 0.065097 | 0.066501 | 0.4 | 44.26 -Output | 0.0017378 | 0.0018782 | 0.0022756 | 0.5 | 1.28 -Modify | 0.049872 | 0.050432 | 0.051195 | 0.2 | 34.29 -Other | | 0.01436 | | | 9.77 - -Nlocal: 20.25 ave 35 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 41 ave 52 max 30 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 4.75 ave 19 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.1 b/examples/rigid/log.25Mar24.rigid.poems.g++.1 deleted file mode 100644 index 0e69724dda..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384279 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184717 - 1150 20849.582 206.01695 0 3680.9472 -0.86699135 - 1200 21815.003 45.317412 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.06408 - 1300 20780.781 217.36509 0 3680.8286 6.0538614 - 1350 20558.971 254.36485 0 3680.8601 -3.6773923 - 1400 21485.029 99.812891 0 3680.6511 -16.185475 - 1450 21771.107 52.159624 0 3680.6775 -2.4756668 - 1500 21520.948 93.503905 0 3680.3286 2.1023577 - 1550 21351.418 121.68136 0 3680.2511 5.5159922 - 1600 20778.805 216.92182 0 3680.0559 15.089193 - 1650 21477.637 100.21853 0 3679.8247 -1.1045536 - 1700 18501.335 596.47986 0 3680.0357 -15.679729 - 1750 18563.64 587.34819 0 3681.2882 33.532254 - 1800 19110.181 494.82407 0 3679.8543 18.02406 - 1850 21364.186 119.23625 0 3679.9339 2.5290683 - 1900 20146.613 322.15086 0 3679.9197 5.7314718 - 1950 20692.671 231.25334 0 3680.0319 4.2977791 - 2000 20943.905 189.11211 0 3679.7629 -22.644575 - 2050 19667.965 401.84519 0 3679.8394 3.6247265 - 2100 20280.309 299.78396 0 3679.8355 7.4806221 - 2150 19181.565 483.57073 0 3680.4982 22.62593 - 2200 21300.569 130.63684 0 3680.7316 4.7090558 - 2250 20486.112 266.77753 0 3681.1296 -8.6505201 - 2300 18651.193 572.56862 0 3681.1008 -5.2604682 - 2350 21514.435 95.462414 0 3681.2016 -9.3718933 - 2400 21464.75 103.81741 0 3681.2757 -29.521964 - 2450 20103.185 331.7557 0 3682.2865 35.600257 - 2500 20767.309 221.18002 0 3682.3981 -12.41075 - 2550 20461.88 271.93545 0 3682.2488 -22.542329 - 2600 21463.807 104.97703 0 3682.2782 -10.118749 - 2650 20902.135 198.66716 0 3682.3564 5.0103958 - 2700 18582.384 585.6465 0 3682.7106 22.212808 - 2750 21079.961 168.86261 0 3682.1894 -8.8401109 - 2800 21425.876 111.18035 0 3682.1598 -6.7933883 - 2850 17414.605 780.0645 0 3682.4987 28.180022 - 2900 19978.961 352.1845 0 3682.0113 8.4280816 - 2950 21189.046 150.47808 0 3681.9858 2.8898793 - 3000 19271.367 469.54947 0 3681.4439 -7.1530396 - 3050 21470.889 103.45294 0 3681.9344 -1.4975516 - 3100 21574.513 85.87604 0 3681.6282 7.0301554 - 3150 21649.42 73.506656 0 3681.7434 1.6649326 - 3200 20857.44 205.3704 0 3681.6104 2.9318184 - 3250 18573.575 585.73328 0 3681.3292 5.9394399 - 3300 17938.353 691.67199 0 3681.3975 9.7205454 - 3350 18668.795 570.23722 0 3681.7031 3.6442733 - 3400 16834.721 876.36804 0 3682.1548 21.869594 - 3450 20148.848 323.06988 0 3681.2112 3.8120475 - 3500 21039.942 175.06064 0 3681.7177 1.4965105 - 3550 21439.472 108.66655 0 3681.9119 4.192594 - 3600 21457.784 105.54883 0 3681.8461 -2.932673 - 3650 21409.999 113.49591 0 3681.829 -15.09817 - 3700 21380.023 118.56895 0 3681.9061 -15.461367 - 3750 20422.085 277.28852 0 3680.9694 19.331799 - 3800 18275.038 635.75951 0 3681.5992 22.413362 - 3850 20906.341 197.06897 0 3681.4592 2.5691289 - 3900 20041.032 341.11847 0 3681.2905 1.8089245 - 3950 18917.084 528.44677 0 3681.2941 -10.656627 - 4000 20425.89 276.98688 0 3681.3018 7.5960674 - 4050 18289.157 633.13575 0 3681.3286 6.5695895 - 4100 19601.884 414.64621 0 3681.6269 8.6144847 - 4150 20790.308 216.9575 0 3682.0088 1.6300255 - 4200 21043.169 174.98738 0 3682.1822 3.8942459 - 4250 19073.45 503.63057 0 3682.5389 -10.975988 - 4300 21251.971 140.63454 0 3682.6298 -7.7937426 - 4350 20844.867 208.08653 0 3682.2311 -10.295096 - 4400 20869.781 203.57469 0 3681.8716 -8.7176985 - 4450 20384.41 284.19751 0 3681.5992 3.9044821 - 4500 20002.241 346.95848 0 3680.6654 12.100678 - 4550 21410.259 112.40994 0 3680.7864 -6.6653767 - 4600 18230.418 641.88921 0 3680.2922 22.502391 - 4650 21319.778 127.76737 0 3681.0638 -0.50309316 - 4700 19429.05 441.85455 0 3680.0296 20.851722 - 4750 20395.967 281.13332 0 3680.4611 12.635024 - 4800 19405.371 446.47714 0 3680.7056 -3.0340076 - 4850 19935.979 358.4478 0 3681.1109 -7.9390554 - 4900 18822.801 543.80607 0 3680.9396 -3.1086099 - 4950 20569.881 252.87963 0 3681.1932 11.807076 - 5000 20311.182 296.63458 0 3681.8315 -4.2409472 - 5050 20187.672 316.83663 0 3681.4486 1.8723981 - 5100 17439.679 775.35516 0 3681.9684 -5.7037267 - 5150 20394.4 282.56755 0 3681.6342 4.3399253 - 5200 20294.84 299.10095 0 3681.5742 -9.9868412 - 5250 20396.122 282.31614 0 3681.6698 -4.9932521 - 5300 20617.465 245.11679 0 3681.3609 0.97429493 - 5350 21651.191 72.878802 0 3681.4106 2.0913693 - 5400 19097.721 498.69617 0 3681.6496 21.808511 - 5450 21856.73 38.930299 0 3681.7186 -4.0225451 - 5500 20087.477 334.09405 0 3682.0069 5.7109498 - 5550 17734.477 726.10594 0 3681.8522 16.277738 - 5600 21183.231 151.714 0 3682.2525 -2.1080998 - 5650 20832.185 210.14251 0 3682.1733 -8.0602581 - 5700 18879.226 535.50935 0 3682.0471 -14.351666 - 5750 18931.81 529.67506 0 3684.9768 4.8675164 - 5800 21674.979 70.259619 0 3682.7561 -14.990544 - 5850 21395.905 116.47471 0 3682.4588 -0.94334402 - 5900 18532.955 593.27143 0 3682.0973 26.072477 - 5950 20767.534 220.78554 0 3682.0413 -1.6468662 - 6000 21546.127 91.167146 0 3682.1882 -5.4664857 - 6050 20085.534 334.40872 0 3681.9977 -0.34825498 - 6100 21218.156 145.88926 0 3682.2486 2.2871905 - 6150 20902.857 198.59424 0 3682.4038 6.0082154 - 6200 21726.547 61.195607 0 3682.2868 -2.2981656 - 6250 17507.589 764.20763 0 3682.1392 9.4977327 - 6300 21687.283 67.283821 0 3681.831 -8.694756 - 6350 19806.474 380.24632 0 3681.3254 -0.94067379 - 6400 21128.461 160.65399 0 3682.0641 -4.8435757 - 6450 19747.214 390.89694 0 3682.0992 1.9108969 - 6500 20460.408 272.79545 0 3682.8634 -4.1094877 - 6550 16740.095 892.11547 0 3682.1313 13.20551 - 6600 18326.164 628.80415 0 3683.1648 -19.884336 - 6650 18469.284 605.36384 0 3683.5778 10.345658 - 6700 21086.876 168.61821 0 3683.0976 -0.036118094 - 6750 19924.801 361.46485 0 3682.2649 -2.1144953 - 6800 19812.028 380.5919 0 3682.5966 11.119936 - 6850 19118.501 496.38857 0 3682.8054 0.53906703 - 6900 19221.04 478.31879 0 3681.8255 11.13851 - 6950 20482.79 269.03445 0 3682.8328 2.6705981 - 7000 16350.403 957.96283 0 3683.03 -2.9783385 - 7050 20789.906 218.36242 0 3683.3467 4.2465754 - 7100 17718.126 730.09011 0 3683.111 15.271811 - 7150 19020.414 513.34591 0 3683.4149 -8.3035633 - 7200 21165.007 156.24494 0 3683.7461 -7.3085107 - 7250 20520.422 264.35574 0 3684.4261 -6.7803072 - 7300 19078.795 505.10953 0 3684.9087 -11.147107 - 7350 20529.173 263.85389 0 3685.3827 0.59881989 - 7400 20548.068 261.27337 0 3685.9513 -5.0067382 - 7450 20849.172 211.46852 0 3686.3306 -0.80175538 - 7500 20869.894 207.95335 0 3686.2689 0.44541197 - 7550 18490.583 605.63557 0 3687.3993 -11.744631 - 7600 19185.381 488.52218 0 3686.0857 3.0881652 - 7650 20520.848 265.65037 0 3685.7917 -0.28165722 - 7700 20599.631 251.69265 0 3684.9645 0.19835423 - 7750 18428.55 614.11446 0 3685.5395 5.8092563 - 7800 19660.337 408.61674 0 3685.3396 4.9902979 - 7850 19409.663 450.30454 0 3685.2483 8.8641567 - 7900 21307.628 133.95865 0 3685.23 -1.8297128 - 7950 17828.245 713.05722 0 3684.4314 5.9673166 - 8000 15894.788 1036.4896 0 3685.621 57.567209 - 8050 18588.022 587.45738 0 3685.4611 1.5643233 - 8100 20664.194 241.59965 0 3685.632 -4.9298687 - 8150 17745.538 728.43249 0 3686.0221 6.121885 - 8200 18433.239 612.84747 0 3685.0539 17.078623 - 8250 19162.628 492.52511 0 3686.2965 12.204945 - 8300 18507.768 602.21188 0 3686.8399 -14.003487 - 8350 21010.715 184.80032 0 3686.5861 -0.93351338 - 8400 20888.233 205.24214 0 3686.6143 -5.3433619 - 8450 20920.621 199.6941 0 3686.4643 -30.437742 - 8500 17085.22 840.80474 0 3688.3414 3.9123878 - 8550 20900.377 203.87077 0 3687.267 -6.7525851 - 8600 19771.517 392.67499 0 3687.9278 13.762684 - 8650 19541.099 431.09497 0 3687.9448 2.0785077 - 8700 21056.327 178.88314 0 3688.2709 -13.663758 - 8750 20109.075 336.93228 0 3688.4447 -1.0445182 - 8800 21821.77 51.337654 0 3688.2993 -10.263971 - 8850 17653.401 740.45074 0 3682.6842 49.147758 - 8900 20311.01 302.92663 0 3688.095 -8.1910583 - 8950 19745.488 396.38557 0 3687.3003 -16.948557 - 9000 20248.989 311.52221 0 3686.3537 -2.4158415 - 9050 17850.649 710.17969 0 3685.2878 25.692377 - 9100 19370.284 456.73812 0 3685.1187 -21.201413 - 9150 20452.896 276.95741 0 3685.7735 2.0316457 - 9200 19174.266 488.9925 0 3684.7035 10.317202 - 9250 20174.171 323.4614 0 3685.8232 -2.1072552 - 9300 21442.761 111.68542 0 3685.479 -12.303658 - 9350 19697.287 402.21503 0 3685.0963 8.4697153 - 9400 21553.763 93.03581 0 3685.3297 -6.7286485 - 9450 18946.935 527.04498 0 3684.8674 -6.6174191 - 9500 21162.915 158.64321 0 3685.7957 -3.2085936 - 9550 20704.844 235.41227 0 3686.2196 10.847095 - 9600 20664.074 242.09733 0 3686.1096 3.7301969 - 9650 20829.655 214.20146 0 3685.8107 7.2197609 - 9700 17336.625 797.22781 0 3686.6654 14.775351 - 9750 19978.15 356.51126 0 3686.2029 -1.1978838 - 9800 21150.487 162.1616 0 3687.2427 -15.596643 - 9850 20849.962 213.10316 0 3688.0968 -5.5443282 - 9900 18407.158 620.93592 0 3688.7956 10.177471 - 9950 20459.637 278.24203 0 3688.1815 0.0020687238 - 10000 21667.112 78.10938 0 3689.2948 -12.660594 -Loop time of 3.06048 on 1 procs for 10000 steps with 81 atoms - -Performance: 28230.843 tau/day, 3267.459 timesteps/s, 264.664 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11571 | 0.11571 | 0.11571 | 0.0 | 3.78 -Neigh | 0.094982 | 0.094982 | 0.094982 | 0.0 | 3.10 -Comm | 0.0098585 | 0.0098585 | 0.0098585 | 0.0 | 0.32 -Output | 0.003355 | 0.003355 | 0.003355 | 0.0 | 0.11 -Modify | 2.8226 | 2.8226 | 2.8226 | 0.0 | 92.23 -Other | | 0.01395 | | | 0.46 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 115 ave 115 max 115 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 808 ave 808 max 808 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 808 -Ave neighs/atom = 9.9753086 -Neighbor list builds = 1162 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.4 b/examples/rigid/log.25Mar24.rigid.poems.g++.4 deleted file mode 100644 index b75701792d..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384277 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184718 - 1150 20849.582 206.01695 0 3680.9472 -0.86699156 - 1200 21815.003 45.317416 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064076 - 1300 20780.781 217.36505 0 3680.8286 6.0538619 - 1350 20558.972 254.36481 0 3680.8601 -3.6773978 - 1400 21485.029 99.812941 0 3680.6511 -16.185471 - 1450 21771.108 52.159596 0 3680.6775 -2.4756679 - 1500 21520.948 93.503942 0 3680.3286 2.1023578 - 1550 21351.418 121.6814 0 3680.2511 5.5159969 - 1600 20778.805 216.92173 0 3680.0559 15.089183 - 1650 21477.639 100.21825 0 3679.8247 -1.1045878 - 1700 18501.342 596.47873 0 3680.0357 -15.679646 - 1750 18563.643 587.34777 0 3681.2882 33.532181 - 1800 19110.189 494.82286 0 3679.8543 18.024038 - 1850 21364.195 119.2348 0 3679.9339 2.5291365 - 1900 20146.638 322.1467 0 3679.9197 5.7312008 - 1950 20692.67 231.25355 0 3680.0319 4.297766 - 2000 20943.904 189.1122 0 3679.7629 -22.645478 - 2050 19668.123 401.81885 0 3679.8394 3.6254541 - 2100 20280.531 299.74669 0 3679.8352 7.4808896 - 2150 19182.034 483.49332 0 3680.4991 22.616956 - 2200 21299.885 130.75166 0 3680.7326 4.7110487 - 2250 20487.525 266.54254 0 3681.1301 -8.6422018 - 2300 18654.522 572.01515 0 3681.1021 -5.2661499 - 2350 21512.897 95.719565 0 3681.2024 -9.3553511 - 2400 21467.306 103.39279 0 3681.2771 -29.588234 - 2450 20097.914 332.63812 0 3682.2904 35.845886 - 2500 20762.362 222.00787 0 3682.4016 -12.509872 - 2550 20417.692 279.31982 0 3682.2685 -22.320693 - 2600 21468.738 104.15905 0 3682.2821 -10.050868 - 2650 20742.305 225.31121 0 3682.362 5.2887043 - 2700 18575.367 586.68141 0 3682.5759 21.990986 - 2750 20577.766 252.52411 0 3682.1518 -5.8697894 - 2800 20683.69 234.89244 0 3682.1741 -6.7464964 - 2850 16088.831 1001.1454 0 3682.6172 27.686908 - 2900 20715.565 229.46407 0 3682.0583 6.5207552 - 2950 19969.143 353.98595 0 3682.1765 5.3891903 - 3000 20429.639 277.11063 0 3682.0505 -10.302229 - 3050 19840.965 375.78339 0 3682.611 -6.1970263 - 3100 19149.859 490.69976 0 3682.3429 22.372557 - 3150 20421.772 278.3256 0 3681.9543 8.7381033 - 3200 19492.899 433.22833 0 3682.0448 4.3431162 - 3250 20231.034 310.12852 0 3681.9675 -3.2734265 - 3300 19420.155 445.8855 0 3682.578 14.157316 - 3350 21386.445 117.85565 0 3682.2631 1.9590216 - 3400 20372.28 286.91596 0 3682.296 8.2472357 - 3450 20870.351 203.91619 0 3682.308 7.9601676 - 3500 21469.401 104.14434 0 3682.3778 2.5067348 - 3550 21630.799 77.317219 0 3682.4504 -6.5148709 - 3600 21291.513 133.97558 0 3682.5611 -8.8761801 - 3650 19138.211 493.09199 0 3682.7937 25.075733 - 3700 21282.953 135.36631 0 3682.5252 -8.1163312 - 3750 20660.876 239.15863 0 3682.638 -24.806983 - 3800 20161.169 322.26065 0 3682.4555 13.204808 - 3850 19477.477 435.56421 0 3681.8105 31.065794 - 3900 21108.425 164.35492 0 3682.4258 0.37839399 - 3950 21195.124 150.68497 0 3683.2056 -10.098889 - 4000 21477.025 103.95273 0 3683.4568 -4.139886 - 4050 20603.58 249.35497 0 3683.2849 1.3114756 - 4100 19724.656 396.37166 0 3683.8144 -6.6159163 - 4150 20768.839 221.21034 0 3682.6835 -3.4649381 - 4200 19675.942 404.01538 0 3683.339 17.586922 - 4250 21022.927 179.12036 0 3682.9415 0.59436606 - 4300 20511.134 264.68208 0 3683.2044 8.8380269 - 4350 21038.204 177.05256 0 3683.42 -1.3698914 - 4400 18866.857 539.5082 0 3683.9844 10.461602 - 4450 21607.322 83.184316 0 3684.4046 -1.5071605 - 4500 20895.628 201.9445 0 3684.5492 5.7578991 - 4550 20210.744 316.5044 0 3684.9617 5.6678493 - 4600 20416.269 282.24539 0 3684.9569 -3.0067543 - 4650 18811.283 549.46791 0 3684.6817 7.5182454 - 4700 20899.462 201.92249 0 3685.1661 2.6998262 - 4750 20771.285 223.44307 0 3685.3239 12.165622 - 4800 21834.653 46.231798 0 3685.3407 2.021615 - 4850 21282.348 138.2858 0 3685.3437 4.2174481 - 4900 21892.433 36.607993 0 3685.3468 -10.208769 - 4950 21731.003 63.442124 0 3685.2759 -26.918841 - 5000 21476.967 105.69026 0 3685.1848 -10.007088 - 5050 20485.84 270.81814 0 3685.1248 0.65119013 - 5100 21485.763 104.28837 0 3685.2488 -5.3826149 - 5150 21485.096 104.44183 0 3685.2912 -1.274141 - 5200 21388.175 120.61165 0 3685.3074 -7.7953815 - 5250 20656.672 242.51472 0 3685.2934 -4.4067447 - 5300 20132.262 330.10916 0 3685.4862 -11.466755 - 5350 19080.054 505.63228 0 3685.6413 4.6356684 - 5400 21683.337 71.886529 0 3685.7761 -8.4520633 - 5450 20632.669 246.77173 0 3685.5499 5.5429152 - 5500 20896.92 202.76984 0 3685.5898 3.9762924 - 5550 21172.409 156.92085 0 3685.6557 2.6573146 - 5600 20695.91 236.255 0 3685.5733 -18.109158 - 5650 21741.679 61.956471 0 3685.5697 -3.7520994 - 5700 21164.94 157.60813 0 3685.098 2.4020734 - 5750 21075.393 172.84386 0 3685.4093 7.646915 - 5800 20638.831 245.82076 0 3685.6259 8.3009859 - 5850 20262.966 308.37489 0 3685.5359 7.5861941 - 5900 21730.418 63.97074 0 3685.7071 -6.2813552 - 5950 21820.659 48.990687 0 3685.7673 -5.6400713 - 6000 21027.051 181.2853 0 3685.7937 1.213872 - 6050 14422.66 1284.4174 0 3688.194 57.908667 - 6100 19852.685 377.0743 0 3685.8552 -5.1418207 - 6150 20678.783 239.10987 0 3685.5737 -11.982018 - 6200 19788.097 387.62127 0 3685.6375 -2.684571 - 6250 21611.523 83.575418 0 3685.496 1.7544019 - 6300 19214.109 482.45067 0 3684.8021 24.711965 - 6350 18800.074 553.07966 0 3686.4254 11.125791 - 6400 19771.53 390.40388 0 3685.659 -6.1254643 - 6450 20192.282 319.53713 0 3684.9175 13.959536 - 6500 20360.332 292.28682 0 3685.6755 4.4265274 - 6550 21778.739 56.056362 0 3685.8462 -4.6705452 - 6600 16612.689 917.96646 0 3686.748 -32.617733 - 6650 21068.368 174.38501 0 3685.7797 -0.84207954 - 6700 20749.675 227.41249 0 3685.6916 2.9235268 - 6750 20594.96 253.47665 0 3685.9699 -12.440843 - 6800 19974.133 357.05242 0 3686.0745 34.064247 - 6850 21802.523 52.05173 0 3685.8055 -1.4073818 - 6900 18644.747 577.97031 0 3685.4282 19.759245 - 6950 20463.441 274.90799 0 3685.4815 1.2230553 - 7000 20213.292 316.50714 0 3685.3892 23.9288 - 7050 21571.525 90.089593 0 3685.3437 -26.539261 - 7100 20480.036 271.77541 0 3685.1147 -0.13969301 - 7150 21064.842 174.4144 0 3685.2214 3.5451037 - 7200 21179.296 154.8514 0 3684.7341 -5.007319 - 7250 20714.182 232.84783 0 3685.2115 10.601943 - 7300 19341.561 461.91524 0 3685.5087 18.89547 - 7350 21011.016 183.55321 0 3685.3893 1.6481821 - 7400 21206.598 151.07364 0 3685.5066 1.5040526 - 7450 19999.404 352.83129 0 3686.0652 -18.58587 - 7500 21581.952 88.519362 0 3685.5114 -4.0009441 - 7550 21652.618 76.962392 0 3685.7321 -5.758242 - 7600 21207.411 150.86712 0 3685.4355 -0.023727123 - 7650 21756.168 59.804311 0 3685.8323 0.76768563 - 7700 21825.037 48.380795 0 3685.8869 -0.11098207 - 7750 21581.665 89.078228 0 3686.0223 -0.50220667 - 7800 21714.856 66.946216 0 3686.0889 4.637364 - 7850 21319.774 132.905 0 3686.2007 3.4663558 - 7900 21730.647 64.263898 0 3686.0384 1.0898763 - 7950 21597.663 86.255996 0 3685.8664 3.2847476 - 8000 21724.118 65.137632 0 3685.8239 3.7318614 - 8050 19672.702 406.56191 0 3685.3456 -0.37960768 - 8100 21696.026 69.71367 0 3685.7179 -6.2273451 - 8150 18869.648 540.09908 0 3685.0403 22.915669 - 8200 21717.002 66.01922 0 3685.5196 -4.8553801 - 8250 20292.502 303.3445 0 3685.4282 -13.203008 - 8300 21314.341 133.18215 0 3685.5724 -10.023288 - 8350 20992.272 186.87998 0 3685.592 -4.5538872 - 8400 21726.088 64.55825 0 3685.573 -5.1228188 - 8450 21188.98 153.93449 0 3685.4311 -6.8622554 - 8500 21113.87 166.54678 0 3685.5251 2.6009221 - 8550 20620.735 248.66776 0 3685.4569 -8.0047984 - 8600 19715.276 399.79648 0 3685.6758 -10.980391 - 8650 18898.94 535.95488 0 3685.7782 22.513752 - 8700 21692.841 70.067726 0 3685.5413 -3.3917479 - 8750 20242.909 311.87115 0 3685.6893 17.996012 - 8800 19253.702 476.69077 0 3685.6411 3.7170165 - 8850 17625.913 748.07802 0 3685.7302 11.095548 - 8900 21554.709 92.817998 0 3685.2696 0.30720376 - 8950 21585.337 87.685891 0 3685.2421 -0.22047593 - 9000 17454.847 776.14227 0 3685.2834 22.631913 - 9050 20023.106 347.35041 0 3684.5348 4.0008899 - 9100 21100.691 168.07199 0 3684.8539 2.9016681 - 9150 20307.206 299.45669 0 3683.991 2.1630277 - 9200 21747.579 60.245542 0 3684.8421 -15.419887 - 9250 21525.571 97.26157 0 3684.8567 -7.0449498 - 9300 15084.149 1170.5925 0 3684.6173 43.259279 - 9350 21198.648 151.70957 0 3684.8176 3.0716881 - 9400 17771.533 724.65805 0 3686.5802 -18.320033 - 9450 20029.819 346.23988 0 3684.543 -4.0976705 - 9500 19913.342 365.57743 0 3684.4677 2.4909741 - 9550 20594.619 252.35578 0 3684.7923 -4.4263632 - 9600 21013.668 182.33425 0 3684.6122 -1.9371919 - 9650 16915.052 865.78051 0 3684.9559 1.8697619 - 9700 18789.78 553.48818 0 3685.1181 15.642074 - 9750 21236.716 145.75801 0 3685.2107 -3.6730702 - 9800 20972.957 189.72849 0 3685.2214 0.85691231 - 9850 19658.721 408.29826 0 3684.7517 14.8446 - 9900 21624.401 81.484234 0 3685.5511 3.4507557 - 9950 21883.535 38.474607 0 3685.7304 0.3038348 - 10000 21355.31 126.72088 0 3685.9392 -5.5872974 -Loop time of 3.32742 on 4 procs for 10000 steps with 81 atoms - -Performance: 25966.084 tau/day, 3005.334 timesteps/s, 243.432 katom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0073125 | 0.031081 | 0.067049 | 13.5 | 0.93 -Neigh | 0.010912 | 0.030444 | 0.058202 | 10.8 | 0.91 -Comm | 0.084952 | 0.12347 | 0.18323 | 10.9 | 3.71 -Output | 0.0033463 | 0.0038996 | 0.0047508 | 0.9 | 0.12 -Modify | 2.8501 | 2.9361 | 3.0072 | 3.5 | 88.24 -Other | | 0.2024 | | | 6.08 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 33.5 ave 66 max 2 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 212.5 ave 850 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 850 -Ave neighs/atom = 10.493827 -Neighbor list builds = 1246 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.1 b/examples/rigid/log.25Mar24.rigid.poems2.g++.1 deleted file mode 100644 index 4a8cb1298a..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems2.g++.1 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173512 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50505 0 3904.2848 15.670464 - 300 19266.324 333.5788 0 3901.4165 7.2119173 - 350 20738.325 63.738945 0 3904.1694 -23.039989 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13818 0 3902.6059 0.42074126 - 500 20365.825 131.47231 0 3902.9213 0.69215475 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26028 0 3902.494 12.047308 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71155 0 3901.9116 3.471602 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.2723139 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717093 0 3902.5839 -34.817443 - 1250 20625.583 82.586395 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316033 - 1400 19753.56 244.81774 0 3902.8844 6.7138457 - 1450 15690.143 998.34271 0 3903.9248 48.124667 - 1500 20234.455 155.92517 0 3903.0465 13.172173 - 1550 20779.63 55.062895 0 3903.1426 -2.6390424 - 1600 20642.757 80.232879 0 3902.9657 -2.4687934 - 1650 18785.716 423.90031 0 3902.7365 -5.6468747 - 1700 20965.076 20.760295 0 3903.1818 -0.45382233 - 1750 18935.466 396.94949 0 3903.5173 25.912008 - 1800 20581.509 91.766145 0 3903.1567 3.8229018 - 1850 20616.968 85.18122 0 3903.1382 4.1907646 - 1900 16600.676 828.66496 0 3902.8643 -0.49197745 - 1950 20175.677 166.50513 0 3902.7416 5.6027746 - 2000 20268.078 149.2566 0 3902.6044 -1.1951453 - 2050 20155.388 170.16328 0 3902.6425 -0.79473147 - 2100 19715.497 250.63403 0 3901.652 3.6719022 - 2150 20677.205 73.792009 0 3902.9041 0.64246071 - 2200 20041.156 191.58407 0 3902.9093 7.4438342 - 2250 19924.453 213.0259 0 3902.7394 2.3652069 - 2300 20432.764 119.13103 0 3902.9763 -11.527566 - 2350 18265.828 520.75569 0 3903.3165 -8.9634198 - 2400 19574.981 277.7963 0 3902.7927 1.8085002 - 2450 20655.975 77.958119 0 3903.1387 3.4001031 - 2500 19783.143 239.3546 0 3902.8995 24.872182 - 2550 16660.113 818.36907 0 3903.5752 -11.766765 - 2600 19789.524 238.61817 0 3903.3448 3.3910931 - 2650 18532.96 471.8684 0 3903.898 -4.812577 - 2700 19081.457 369.81185 0 3903.4151 -0.49159968 - 2750 20370.042 131.6764 0 3903.9064 -3.3818893 - 2800 20727.087 65.499688 0 3903.8491 4.3537941 - 2850 18252.657 523.061 0 3903.1827 11.774986 - 2900 20780.391 55.586541 0 3903.8071 5.4415831 - 2950 20361.047 132.98647 0 3903.5508 -2.4847656 - 3000 19528.633 284.87405 0 3901.2876 14.23453 - 3050 20385.56 127.80448 0 3902.9081 -0.51079949 - 3100 19040.7 376.96613 0 3903.0216 -8.9425331 - 3150 20053.417 189.7312 0 3903.327 4.6695643 - 3200 20862.681 40.219985 0 3903.6795 1.2220199 - 3250 20692.32 71.660474 0 3903.5716 2.118694 - 3300 20560.104 95.905282 0 3903.332 5.9856809 - 3350 20693.236 71.35789 0 3903.4387 3.9315564 - 3400 19045.135 376.64379 0 3903.5206 3.9692419 - 3450 20354.826 134.28157 0 3903.6938 7.6208552 - 3500 20528.053 102.12643 0 3903.6178 7.2863414 - 3550 20525.13 103.01612 0 3903.9661 8.4807852 - 3600 19782.42 240.28031 0 3903.6914 1.0181878 - 3650 20519.52 104.05243 0 3903.9636 -2.36641 - 3700 20024.307 195.68587 0 3903.8908 -6.261818 - 3750 20239.643 155.72722 0 3903.8092 -20.781566 - 3800 20601.2 88.794605 0 3903.8317 -11.491217 - 3850 20973.346 19.675436 0 3903.6283 -9.0554155 - 3900 16212.846 902.10241 0 3904.4813 -19.773976 - 3950 19645.576 264.59477 0 3902.6643 16.065663 - 4000 17439.655 673.47397 0 3903.0398 -3.7357722 - 4050 19305.077 328.50056 0 3903.5148 10.43441 - 4100 18634.36 451.24343 0 3902.0508 3.4327844 - 4150 20249.11 153.64108 0 3903.4763 -2.5190604 - 4200 19177.928 351.81896 0 3903.2871 -5.5110274 - 4250 20754.898 60.189732 0 3903.6893 -3.3019026 - 4300 19693.307 256.31591 0 3903.2245 5.8795929 - 4350 18411.713 494.6957 0 3904.2722 4.2513782 - 4400 18499.707 474.35141 0 3900.2231 10.120914 - 4450 18620.543 449.98137 0 3898.2301 0.74648702 - 4500 18930.676 398.47668 0 3904.1573 -3.3953153 - 4550 18708.382 438.70363 0 3903.2188 8.478793 - 4600 19937.049 211.7655 0 3903.8117 4.8300368 - 4650 19919.169 214.98435 0 3903.7194 -1.0166319 - 4700 19345.329 321.18127 0 3903.6496 -23.032019 - 4750 18391.67 498.629 0 3904.4939 -15.40779 - 4800 18597.103 459.20983 0 3903.1179 9.3900723 - 4850 19857.892 226.27908 0 3903.6665 4.1998427 - 4900 20428.515 120.59483 0 3903.6532 -1.8636046 - 4950 18457.127 485.79992 0 3903.7864 -7.2380409 - 5000 20543.123 99.480661 0 3903.7627 -0.39555479 - 5050 18716.671 436.46735 0 3902.5175 29.395654 - 5100 20048.411 191.03727 0 3903.706 -0.91178091 - 5150 19647.675 265.24989 0 3903.7083 3.8658742 - 5200 20787.465 54.078505 0 3903.6091 -3.3582221 - 5250 20630.096 83.165593 0 3903.5538 -11.86045 - 5300 16598.926 830.02918 0 3903.9043 -1.8793568 - 5350 19114.667 363.424 0 3903.1772 11.894383 - 5400 19563.654 280.22257 0 3903.1215 8.8285523 - 5450 20012.628 197.27325 0 3903.3154 2.1981092 - 5500 17845.428 599.4114 0 3904.1202 20.091131 - 5550 20630.423 82.857857 0 3903.3065 0.93827014 - 5600 19675.125 259.89939 0 3903.4411 -2.4034875 - 5650 19932.349 212.22024 0 3903.3961 2.0064698 - 5700 20499.192 107.17918 0 3903.3259 2.5440649 - 5750 19522.335 287.94941 0 3903.1966 -0.7615272 - 5800 18010.242 568.31554 0 3903.5455 -6.3433889 - 5850 20177.497 166.64243 0 3903.2159 -0.95012013 - 5900 17919.358 584.40694 0 3902.8065 10.49282 - 5950 18390.453 498.29164 0 3903.9311 10.026285 - 6000 18040.232 562.71939 0 3903.5032 0.22172862 - 6050 19777.355 240.88597 0 3903.3592 -3.1899015 - 6100 19132.014 360.58765 0 3903.5531 1.6644736 - 6150 19780.214 240.31985 0 3903.3224 4.2403325 - 6200 18883.45 406.45503 0 3903.3902 -3.5422327 - 6250 19875.924 222.49729 0 3903.2239 3.0535292 - 6300 19882.454 221.4928 0 3903.4287 5.7371152 - 6350 19040.565 377.18193 0 3903.2124 -0.26454332 - 6400 19137.008 359.7025 0 3903.5929 9.5375531 - 6450 19655.205 263.59789 0 3903.4507 -1.8592763 - 6500 18385.045 499.5436 0 3904.1816 -7.8549266 - 6550 18823.423 417.69964 0 3903.5187 -2.8268518 - 6600 19414.118 308.11966 0 3903.3268 4.6627243 - 6650 20533.065 100.75047 0 3903.1698 3.3716972 - 6700 20206.283 161.18079 0 3903.085 5.6368472 - 6750 19517.622 288.72511 0 3903.0995 0.3337076 - 6800 18152.278 541.45525 0 3902.9883 -7.2734044 - 6850 18910.032 401.19322 0 3903.0511 6.2653128 - 6900 18580.612 462.26403 0 3903.1182 15.681586 - 6950 20459.012 114.44928 0 3903.1552 -0.82985388 - 7000 20866.868 38.822988 0 3903.0578 -6.2182429 - 7050 20460.074 114.11492 0 3903.0175 -2.1465384 - 7100 20553.533 96.636153 0 3902.846 -5.105486 - 7150 20447.915 116.30898 0 3902.9599 8.2035464 - 7200 20703.396 69.030336 0 3902.9926 9.1221166 - 7250 19652.215 263.63438 0 3902.9335 17.675447 - 7300 20691.205 71.094727 0 3902.7994 -1.7423404 - 7350 18845.785 412.74313 0 3902.7033 -2.0276584 - 7400 18462.131 483.73088 0 3902.6441 -0.22424322 - 7450 20458.641 113.96173 0 3902.599 -4.9286236 - 7500 17681.258 628.1576 0 3902.4647 -16.803813 - 7550 19149.34 356.35773 0 3902.5318 -5.3481685 - 7600 19723.907 249.45462 0 3902.03 7.2597963 - 7650 19317.18 325.01536 0 3902.271 -0.16642424 - 7700 19620.248 269.22043 0 3902.5996 -4.6771277 - 7750 17751.083 615.46827 0 3902.7058 7.3637076 - 7800 20724.904 64.633157 0 3902.5784 5.2079592 - 7850 19966.924 204.60327 0 3902.1817 6.4943932 - 7900 19730.339 248.88701 0 3902.6536 8.4392109 - 7950 19907.748 216.06587 0 3902.6859 -5.1989259 - 8000 18217.971 528.46486 0 3902.1632 -15.394144 - 8050 17868.898 592.98294 0 3902.0381 9.1139508 - 8100 19370.601 315.22753 0 3902.3759 7.9651368 - 8150 18199.01 532.43818 0 3902.6252 10.07163 - 8200 20646.337 79.222148 0 3902.6179 0.17396159 - 8250 20811.938 48.374613 0 3902.4372 -14.594973 - 8300 20906.571 30.626024 0 3902.2132 -12.34909 - 8350 19873.431 221.86861 0 3902.1335 7.1435615 - 8400 20374.979 127.96219 0 3901.1064 10.527044 - 8450 20701.502 68.073078 0 3901.6846 2.5071154 - 8500 20452.423 113.98399 0 3901.4698 4.2164058 - 8550 19695.059 253.87834 0 3901.1115 8.0656507 - 8600 19447.531 299.45597 0 3900.8505 -0.71982287 - 8650 17202.668 714.55842 0 3900.2378 -16.743518 - 8700 18579.153 459.20676 0 3899.7906 3.4494692 - 8750 20247.204 150.39086 0 3899.8731 -0.1022032 - 8800 18520.797 469.57224 0 3899.3494 5.7412252 - 8850 16011.411 934.80107 0 3899.8772 34.500452 - 8900 19045.914 372.92529 0 3899.9464 10.001612 - 8950 19798.369 233.70991 0 3900.0746 9.3270865 - 9000 17141.02 725.70858 0 3899.9716 -6.7470927 - 9050 17722.847 617.81927 0 3899.828 -10.909071 - 9100 20811.604 45.701413 0 3899.7021 -12.300065 - 9150 18066.034 554.62654 0 3900.1884 -5.7606837 - 9200 19259.884 332.49612 0 3899.1412 -40.231609 - 9250 19116.782 359.42396 0 3899.5689 0.68271469 - 9300 18785.022 421.1178 0 3899.8256 -20.433345 - 9350 19018.32 377.90289 0 3899.814 3.2963902 - 9400 17321.798 691.93839 0 3899.6788 24.552549 - 9450 18318.437 507.12661 0 3899.4297 6.1367468 - 9500 16431.681 857.32722 0 3900.2311 25.431389 - 9550 17920.939 581.45381 0 3900.1462 9.1734747 - 9600 16603.394 825.79291 0 3900.4954 -5.9643183 - 9650 17753.931 607.15019 0 3894.9151 2.2302338 - 9700 17452.305 668.30613 0 3900.2145 2.4635322 - 9750 15955.164 945.80159 0 3900.4617 20.290857 - 9800 17958.495 574.7055 0 3900.3526 12.218625 - 9850 18759.766 423.66965 0 3897.7005 -4.8999337 - 9900 19798.529 232.2507 0 3898.6449 0.10312101 - 9950 18260.87 517.50071 0 3899.1432 5.7261992 - 10000 19116.279 359.58291 0 3899.6345 3.2110764 -Loop time of 3.11933 on 1 procs for 10000 steps with 81 atoms - -Performance: 27698.233 tau/day, 3205.814 timesteps/s, 259.671 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.063297 | 0.063297 | 0.063297 | 0.0 | 2.03 -Neigh | 0.072119 | 0.072119 | 0.072119 | 0.0 | 2.31 -Comm | 0.012058 | 0.012058 | 0.012058 | 0.0 | 0.39 -Output | 0.0036722 | 0.0036722 | 0.0036722 | 0.0 | 0.12 -Modify | 2.953 | 2.953 | 2.953 | 0.0 | 94.67 -Other | | 0.01515 | | | 0.49 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 105 ave 105 max 105 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 498 ave 498 max 498 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 498 -Ave neighs/atom = 6.1481481 -Neighbor list builds = 1202 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.4 b/examples/rigid/log.25Mar24.rigid.poems2.g++.4 deleted file mode 100644 index bc26f32538..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems2.g++.4 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62032 0 3904.3981 -4.6173548 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.272315 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1906 0 3902.6833 21.194041 - 1150 19658.317 261.99809 0 3902.4272 -2.8744196 - 1200 20767.681 56.717093 0 3902.5839 -34.817444 - 1250 20625.583 82.586396 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316031 - 1400 19753.56 244.81777 0 3902.8844 6.713847 - 1450 15690.145 998.34279 0 3903.9252 48.124638 - 1500 20234.455 155.92476 0 3903.0461 13.17218 - 1550 20779.631 55.063072 0 3903.1428 -2.6390427 - 1600 20642.756 80.233303 0 3902.9659 -2.4688077 - 1650 18785.71 423.90132 0 3902.7365 -5.6468182 - 1700 20965.076 20.760481 0 3903.182 -0.45377448 - 1750 18935.45 396.95247 0 3903.5173 25.912353 - 1800 20581.523 91.763662 0 3903.1567 3.8225817 - 1850 20616.962 85.182351 0 3903.1382 4.1907744 - 1900 16601.061 828.59343 0 3902.8639 -0.49284971 - 1950 20175.618 166.51633 0 3902.7419 5.6031735 - 2000 20266.439 149.55931 0 3902.6036 -1.1956447 - 2050 20159.308 169.44017 0 3902.6453 -0.7983344 - 2100 19743.72 245.40822 0 3901.6527 3.5301052 - 2150 20674.556 74.284034 0 3902.9055 0.61532081 - 2200 19950.784 208.30189 0 3902.8915 7.6523945 - 2250 19817.161 232.7485 0 3902.5932 3.4492756 - 2300 20459.058 114.2307 0 3902.9451 -11.066393 - 2350 18359.21 503.25787 0 3903.1115 -9.0741539 - 2400 19952.914 207.84881 0 3902.8328 -0.53972874 - 2450 19661.352 259.78979 0 3900.781 7.8669927 - 2500 20917.293 29.699201 0 3903.2719 1.1433085 - 2550 20763.955 57.990256 0 3903.1671 -1.1088372 - 2600 20640.005 80.556339 0 3902.7795 9.6127007 - 2650 20823.227 47.292746 0 3903.446 2.2923503 - 2700 20401.43 125.53141 0 3903.5739 -8.0683618 - 2750 20689.918 72.242212 0 3903.7084 0.22078527 - 2800 20783.922 54.87309 0 3903.7476 2.0668249 - 2850 19258.563 336.84835 0 3903.2488 4.2704683 - 2900 20565.694 95.184831 0 3903.6468 -0.24799068 - 2950 20915.041 30.344751 0 3903.5004 -2.9900907 - 3000 19571.964 278.74004 0 3903.1778 12.195325 - 3050 20356.693 133.43974 0 3903.1976 0.11608195 - 3100 20047.888 190.69627 0 3903.268 -4.5895546 - 3150 19834.363 230.59072 0 3903.6209 -1.4352632 - 3200 20213.412 160.25129 0 3903.4757 3.7488266 - 3250 19286.774 332.04497 0 3903.6699 -5.0835358 - 3300 20952.226 23.774103 0 3903.816 0.10019546 - 3350 20407.952 124.62932 0 3903.8798 0.4403531 - 3400 19401.716 311.03567 0 3903.9461 1.8034568 - 3450 20880.78 37.20558 0 3904.0167 6.3948533 - 3500 19529.313 287.50301 0 3904.0425 12.311168 - 3550 20943.604 25.677677 0 3904.1228 5.1786098 - 3600 20272.725 149.91697 0 3904.1254 1.196909 - 3650 19781.047 240.95421 0 3904.1111 -8.5091671 - 3700 20613.433 86.53896 0 3903.8414 -9.1622102 - 3750 20567.605 95.294456 0 3904.1101 -0.11887825 - 3800 19891.98 220.32932 0 3904.0292 6.8801146 - 3850 20669.735 76.407858 0 3904.1365 -7.4310509 - 3900 20908.711 32.197181 0 3904.1807 -4.6573356 - 3950 20822.78 48.03134 0 3904.1018 0.086779759 - 4000 20199.055 163.66262 0 3904.2283 2.0027771 - 4050 20072.638 187.07041 0 3904.2256 4.4103784 - 4100 17724.651 619.7903 0 3902.1331 11.210006 - 4150 20760.201 60.001382 0 3904.4831 -3.8510009 - 4200 19159.102 356.30472 0 3904.2865 -2.3503308 - 4250 19403.974 311.3497 0 3904.6783 -1.2458384 - 4300 20858.687 42.000734 0 3904.7206 2.1750528 - 4350 20486.989 110.94383 0 3904.8306 5.017245 - 4400 20231.073 158.28825 0 3904.7832 7.4295979 - 4450 16369.689 873.39361 0 3904.8175 14.371454 - 4500 20745.196 63.11427 0 3904.8172 -7.855609 - 4550 18688.003 443.85636 0 3904.5977 9.8067426 - 4600 17755.672 616.68475 0 3904.7721 -3.9654703 - 4650 19843.131 230.34486 0 3904.9988 -0.13553926 - 4700 18873.202 409.99341 0 3905.0308 15.912724 - 4750 20605.355 89.223116 0 3905.0295 2.0847611 - 4800 20136.483 176.1278 0 3905.1062 -1.7091113 - 4850 19808.073 236.83278 0 3904.9945 5.0982271 - 4900 19142.083 359.55764 0 3904.3878 8.2072008 - 4950 20539.687 101.08198 0 3904.7277 8.0469319 - 5000 20840.809 45.759021 0 3905.168 4.771755 - 5050 20009.696 199.45528 0 3904.9546 6.1191423 - 5100 20882.034 38.247578 0 3905.2909 -6.3068822 - 5150 20329.869 140.47458 0 3905.2651 -21.720979 - 5200 17334.411 695.67098 0 3905.7471 -9.8243617 - 5250 19602.025 275.17282 0 3905.1775 -3.2371379 - 5300 20858.74 42.630642 0 3905.3603 0.38011789 - 5350 20828.619 48.188698 0 3905.3403 5.7187945 - 5400 20978.428 20.447148 0 3905.3413 6.1168011 - 5450 20115.374 179.9294 0 3904.9987 8.6440563 - 5500 20522.744 104.7733 0 3905.2815 -2.6561664 - 5550 20625.724 85.600795 0 3905.1792 -1.327206 - 5600 19559.638 282.68742 0 3904.8426 17.893028 - 5650 20552.224 98.978098 0 3904.9455 2.4489071 - 5700 19982.142 204.09989 0 3904.4966 9.9034011 - 5750 20408.825 125.30875 0 3904.7209 1.2515548 - 5800 19773.143 243.02134 0 3904.7144 -2.6729948 - 5850 20781.934 56.310486 0 3904.8168 -1.659054 - 5900 19807.668 236.54392 0 3904.6306 0.49776361 - 5950 20741.237 63.921667 0 3904.8916 4.2800039 - 6000 20322.7 140.98125 0 3904.4442 7.4978024 - 6050 20858.439 42.383629 0 3905.0575 -4.6872323 - 6100 20212.538 162.022 0 3905.0847 -7.0796165 - 6150 18513.957 476.7087 0 3905.2193 7.107138 - 6200 20802.734 52.621638 0 3904.9797 3.7242428 - 6250 20818.044 49.717458 0 3904.9109 -0.91041774 - 6300 19987.245 203.4635 0 3904.8052 -0.86714551 - 6350 20806.906 51.449749 0 3904.5806 -4.0699629 - 6400 20530.3 103.09809 0 3905.0055 1.660177 - 6450 20667.085 77.715553 0 3904.9535 0.99217521 - 6500 20515.816 105.81762 0 3905.0428 3.0994091 - 6550 20548.348 99.627131 0 3904.8769 -0.77417688 - 6600 19827.378 232.99889 0 3904.7355 3.295082 - 6650 19237.199 342.94808 0 3905.3923 -6.2226637 - 6700 19611.621 273.139 0 3904.9206 -3.5465535 - 6750 20874.805 39.1893 0 3904.8939 -0.051336814 - 6800 19433.717 305.99952 0 3904.8361 -19.858865 - 6850 20119.223 179.19987 0 3904.9818 4.6466283 - 6900 20467.389 114.77871 0 3905.0359 10.290214 - 6950 20334.202 139.43289 0 3905.0259 7.5448433 - 7000 20504.591 107.86929 0 3905.0158 -0.10092084 - 7050 17969.214 576.83722 0 3904.4694 10.852897 - 7100 19186.398 351.80467 0 3904.8414 0.24779979 - 7150 20261.23 152.54684 0 3904.6265 -7.0175844 - 7200 20696.821 71.985154 0 3904.7298 3.9649146 - 7250 18456.212 487.1819 0 3904.9989 5.8280225 - 7300 17705.1 625.95928 0 3904.6816 6.8298215 - 7350 17032.039 750.96958 0 3905.051 11.833303 - 7400 20557.431 97.599213 0 3904.5308 0.43747863 - 7450 20466.847 114.5693 0 3904.7261 1.9786538 - 7500 20416.862 123.31643 0 3904.2168 -2.9094738 - 7550 18433.95 487.50767 0 3901.2022 4.0921479 - 7600 19950.107 209.92208 0 3904.3863 3.9114888 - 7650 16037.844 934.94785 0 3904.9189 -1.2183461 - 7700 20145.239 173.99945 0 3904.5993 3.1185554 - 7750 18672.579 446.35236 0 3904.2373 4.1086445 - 7800 19740.616 249.10395 0 3904.7737 4.6048428 - 7850 20801.917 52.742096 0 3904.9489 1.5978265 - 7900 20305.348 144.57749 0 3904.8272 2.7348725 - 7950 20221.086 159.31958 0 3903.9652 7.1592496 - 8000 20826.907 47.953835 0 3904.7884 6.2728901 - 8050 18646.418 452.02126 0 3905.0617 5.9716218 - 8100 20653.653 80.183024 0 3904.9336 -1.8274783 - 8150 20843.275 45.172279 0 3905.0379 -6.9445524 - 8200 20364.78 133.45082 0 3904.7064 -12.094533 - 8250 18163.745 541.08818 0 3904.7447 -2.6103997 - 8300 20889.664 36.793018 0 3905.2494 -9.2650749 - 8350 20307.367 144.33088 0 3904.9543 -0.65999546 - 8400 20485.202 111.41317 0 3904.9691 -0.42802224 - 8450 20864.395 41.146879 0 3904.9238 7.7084978 - 8500 20901.899 34.291267 0 3905.0132 -5.2070823 - 8550 20211.78 162.02611 0 3904.9484 -5.8363409 - 8600 19639.538 268.05291 0 3905.0044 3.8180903 - 8650 19919.356 216.24885 0 3905.0185 0.17130921 - 8700 19499.449 293.97522 0 3904.9843 -4.897872 - 8750 20270.687 151.1571 0 3904.9879 0.28558082 - 8800 18804.137 422.61651 0 3904.864 15.351015 - 8850 20654.443 80.110976 0 3905.0078 4.1368065 - 8900 19953.725 209.81046 0 3904.9447 10.71743 - 8950 18195.013 536.67764 0 3906.1245 21.497802 - 9000 20478.531 112.78923 0 3905.1098 -13.053056 - 9050 20866.484 40.901611 0 3905.0653 -3.6134066 - 9100 20322.595 141.61419 0 3905.0577 15.459697 - 9150 20855.456 42.94311 0 3905.0646 4.9123213 - 9200 20208.201 162.79363 0 3905.0531 2.5454472 - 9250 18394.203 498.63686 0 3904.9707 0.041811692 - 9300 18776.997 427.7118 0 3904.9335 -7.652483 - 9350 18330.751 510.07857 0 3904.6621 8.3424059 - 9400 17538.366 657.08623 0 3904.9319 8.5478668 - 9450 20309.605 143.77142 0 3904.8093 6.6831447 - 9500 19982.331 203.81545 0 3904.2471 -7.6711411 - 9550 19410.612 310.1139 0 3904.6717 5.3983286 - 9600 19198.225 349.06634 0 3904.2932 -4.107658 - 9650 19388.043 314.31566 0 3904.6939 6.1198194 - 9700 18849.37 414.1045 0 3904.7286 5.4468861 - 9750 18263.312 523.38716 0 3905.4819 -0.56480349 - 9800 20421.858 122.53973 0 3904.3653 -15.641399 - 9850 17678.959 631.15683 0 3905.0381 -1.805446 - 9900 19421.046 306.67446 0 3903.1644 7.0287747 - 9950 18460.64 483.18902 0 3901.8261 3.658774 - 10000 19781.151 239.38136 0 3902.5575 6.3312911 -Loop time of 3.44431 on 4 procs for 10000 steps with 81 atoms - -Performance: 25084.833 tau/day, 2903.337 timesteps/s, 235.170 katom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.007256 | 0.017426 | 0.044845 | 12.0 | 0.51 -Neigh | 0.010951 | 0.023139 | 0.043878 | 8.2 | 0.67 -Comm | 0.070404 | 0.096764 | 0.1104 | 5.0 | 2.81 -Output | 0.0039809 | 0.0074043 | 0.010167 | 2.6 | 0.21 -Modify | 3.0537 | 3.0735 | 3.1272 | 1.8 | 89.23 -Other | | 0.226 | | | 6.56 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 38.25 ave 50 max 28 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -Neighs: 126.5 ave 213 max 0 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 506 -Ave neighs/atom = 6.2469136 -Neighbor list builds = 1207 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.1 b/examples/rigid/log.25Mar24.rigid.poems3.g++.1 deleted file mode 100644 index 2554c0f610..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems3.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.00096754004 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071213 0 5269.4974 11.918931 - 3300 16732.493 1.8663821 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475276 0 5269.4774 12.195939 - 3600 16728.659 3.059607 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974053 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.00022763101 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567427 0 5269.522 11.911005 - 9500 16738.495 -0.0036645346 0 5269.5224 11.910982 - 9550 16738.49 -0.001067391 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.00058544655 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244935 0 5269.5242 11.911015 -Loop time of 3.15773 on 1 procs for 10000 steps with 81 atoms - -Performance: 27361.390 tau/day, 3166.828 timesteps/s, 256.513 katom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0090105 | 0.0090105 | 0.0090105 | 0.0 | 0.29 -Neigh | 0.047552 | 0.047552 | 0.047552 | 0.0 | 1.51 -Comm | 0.012213 | 0.012213 | 0.012213 | 0.0 | 0.39 -Output | 0.0028666 | 0.0028666 | 0.0028666 | 0.0 | 0.09 -Modify | 3.0714 | 3.0714 | 3.0714 | 0.0 | 97.27 -Other | | 0.01471 | | | 0.47 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 66 ave 66 max 66 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 4 ave 4 max 4 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 1576 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.4 b/examples/rigid/log.25Mar24.rigid.poems3.g++.4 deleted file mode 100644 index 142b81ad80..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems3.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.00096754006 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071213 0 5269.4974 11.918931 - 3300 16732.493 1.866382 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475276 0 5269.4774 12.195939 - 3600 16728.659 3.059607 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136079 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.00022763102 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306434 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567424 0 5269.522 11.911005 - 9500 16738.495 -0.0036645342 0 5269.5224 11.910982 - 9550 16738.49 -0.0010673909 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.0005854466 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244937 0 5269.5242 11.911015 -Loop time of 3.27386 on 4 procs for 10000 steps with 81 atoms - -Performance: 26390.874 tau/day, 3054.499 timesteps/s, 247.414 katom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.003643 | 0.0042095 | 0.0048106 | 0.7 | 0.13 -Neigh | 0.015047 | 0.01644 | 0.018121 | 0.9 | 0.50 -Comm | 0.08923 | 0.091442 | 0.093047 | 0.5 | 2.79 -Output | 0.0033998 | 0.0040485 | 0.0051625 | 1.0 | 0.12 -Modify | 2.9783 | 2.9943 | 3.0343 | 1.3 | 91.46 -Other | | 0.1635 | | | 4.99 - -Nlocal: 20.25 ave 27 max 9 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 30.5 ave 50 max 14 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 1 ave 4 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 1576 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.1 b/examples/rigid/log.25Mar24.rigid.poems4.g++.1 deleted file mode 100644 index f754fba3b4..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems4.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384279 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184717 - 1150 20849.582 206.01695 0 3680.9472 -0.86699135 - 1200 21815.003 45.317412 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.06408 - 1300 20780.781 217.36509 0 3680.8286 6.0538614 - 1350 20558.971 254.36485 0 3680.8601 -3.6773923 - 1400 21485.029 99.812891 0 3680.6511 -16.185475 - 1450 21771.107 52.159624 0 3680.6775 -2.4756668 - 1500 21520.948 93.503905 0 3680.3286 2.1023577 - 1550 21351.418 121.68136 0 3680.2511 5.5159922 - 1600 20778.805 216.92182 0 3680.0559 15.089193 - 1650 21477.637 100.21853 0 3679.8247 -1.1045536 - 1700 18501.335 596.47986 0 3680.0357 -15.679729 - 1750 18563.64 587.34819 0 3681.2882 33.532254 - 1800 19110.181 494.82407 0 3679.8543 18.02406 - 1850 21364.186 119.23625 0 3679.9339 2.5290683 - 1900 20146.613 322.15086 0 3679.9197 5.7314718 - 1950 20692.671 231.25334 0 3680.0319 4.2977791 - 2000 20943.905 189.11211 0 3679.7629 -22.644575 - 2050 19667.965 401.84519 0 3679.8394 3.6247265 - 2100 20280.309 299.78396 0 3679.8355 7.4806221 - 2150 19181.565 483.57073 0 3680.4982 22.62593 - 2200 21300.569 130.63684 0 3680.7316 4.7090558 - 2250 20486.112 266.77753 0 3681.1296 -8.6505201 - 2300 18651.193 572.56862 0 3681.1008 -5.2604682 - 2350 21514.435 95.462414 0 3681.2016 -9.3718933 - 2400 21464.75 103.81741 0 3681.2757 -29.521964 - 2450 20103.185 331.7557 0 3682.2865 35.600257 - 2500 20767.309 221.18002 0 3682.3981 -12.41075 - 2550 20461.88 271.93545 0 3682.2488 -22.542329 - 2600 21463.807 104.97703 0 3682.2782 -10.118749 - 2650 20902.135 198.66716 0 3682.3564 5.0103958 - 2700 18582.384 585.6465 0 3682.7106 22.212808 - 2750 21079.961 168.86261 0 3682.1894 -8.8401109 - 2800 21425.876 111.18035 0 3682.1598 -6.7933883 - 2850 17414.605 780.0645 0 3682.4987 28.180022 - 2900 19978.961 352.1845 0 3682.0113 8.4280816 - 2950 21189.046 150.47808 0 3681.9858 2.8898793 - 3000 19271.367 469.54947 0 3681.4439 -7.1530396 - 3050 21470.889 103.45294 0 3681.9344 -1.4975516 - 3100 21574.513 85.87604 0 3681.6282 7.0301554 - 3150 21649.42 73.506656 0 3681.7434 1.6649326 - 3200 20857.44 205.3704 0 3681.6104 2.9318184 - 3250 18573.575 585.73328 0 3681.3292 5.9394399 - 3300 17938.353 691.67199 0 3681.3975 9.7205454 - 3350 18668.795 570.23722 0 3681.7031 3.6442733 - 3400 16834.721 876.36804 0 3682.1548 21.869594 - 3450 20148.848 323.06988 0 3681.2112 3.8120475 - 3500 21039.942 175.06064 0 3681.7177 1.4965105 - 3550 21439.472 108.66655 0 3681.9119 4.192594 - 3600 21457.784 105.54883 0 3681.8461 -2.932673 - 3650 21409.999 113.49591 0 3681.829 -15.09817 - 3700 21380.023 118.56895 0 3681.9061 -15.461367 - 3750 20422.085 277.28852 0 3680.9694 19.331799 - 3800 18275.038 635.75951 0 3681.5992 22.413362 - 3850 20906.341 197.06897 0 3681.4592 2.5691289 - 3900 20041.032 341.11847 0 3681.2905 1.8089245 - 3950 18917.084 528.44677 0 3681.2941 -10.656627 - 4000 20425.89 276.98688 0 3681.3018 7.5960674 - 4050 18289.157 633.13575 0 3681.3286 6.5695895 - 4100 19601.884 414.64621 0 3681.6269 8.6144847 - 4150 20790.308 216.9575 0 3682.0088 1.6300255 - 4200 21043.169 174.98738 0 3682.1822 3.8942459 - 4250 19073.45 503.63057 0 3682.5389 -10.975988 - 4300 21251.971 140.63454 0 3682.6298 -7.7937426 - 4350 20844.867 208.08653 0 3682.2311 -10.295096 - 4400 20869.781 203.57469 0 3681.8716 -8.7176985 - 4450 20384.41 284.19751 0 3681.5992 3.9044821 - 4500 20002.241 346.95848 0 3680.6654 12.100678 - 4550 21410.259 112.40994 0 3680.7864 -6.6653767 - 4600 18230.418 641.88921 0 3680.2922 22.502391 - 4650 21319.778 127.76737 0 3681.0638 -0.50309316 - 4700 19429.05 441.85455 0 3680.0296 20.851722 - 4750 20395.967 281.13332 0 3680.4611 12.635024 - 4800 19405.371 446.47714 0 3680.7056 -3.0340076 - 4850 19935.979 358.4478 0 3681.1109 -7.9390554 - 4900 18822.801 543.80607 0 3680.9396 -3.1086099 - 4950 20569.881 252.87963 0 3681.1932 11.807076 - 5000 20311.182 296.63458 0 3681.8315 -4.2409472 - 5050 20187.672 316.83663 0 3681.4486 1.8723981 - 5100 17439.679 775.35516 0 3681.9684 -5.7037267 - 5150 20394.4 282.56755 0 3681.6342 4.3399253 - 5200 20294.84 299.10095 0 3681.5742 -9.9868412 - 5250 20396.122 282.31614 0 3681.6698 -4.9932521 - 5300 20617.465 245.11679 0 3681.3609 0.97429493 - 5350 21651.191 72.878802 0 3681.4106 2.0913693 - 5400 19097.721 498.69617 0 3681.6496 21.808511 - 5450 21856.73 38.930299 0 3681.7186 -4.0225451 - 5500 20087.477 334.09405 0 3682.0069 5.7109498 - 5550 17734.477 726.10594 0 3681.8522 16.277738 - 5600 21183.231 151.714 0 3682.2525 -2.1080998 - 5650 20832.185 210.14251 0 3682.1733 -8.0602581 - 5700 18879.226 535.50935 0 3682.0471 -14.351666 - 5750 18931.81 529.67506 0 3684.9768 4.8675164 - 5800 21674.979 70.259619 0 3682.7561 -14.990544 - 5850 21395.905 116.47471 0 3682.4588 -0.94334402 - 5900 18532.955 593.27143 0 3682.0973 26.072477 - 5950 20767.534 220.78554 0 3682.0413 -1.6468662 - 6000 21546.127 91.167146 0 3682.1882 -5.4664857 - 6050 20085.534 334.40872 0 3681.9977 -0.34825498 - 6100 21218.156 145.88926 0 3682.2486 2.2871905 - 6150 20902.857 198.59424 0 3682.4038 6.0082154 - 6200 21726.547 61.195607 0 3682.2868 -2.2981656 - 6250 17507.589 764.20763 0 3682.1392 9.4977327 - 6300 21687.283 67.283821 0 3681.831 -8.694756 - 6350 19806.474 380.24632 0 3681.3254 -0.94067379 - 6400 21128.461 160.65399 0 3682.0641 -4.8435757 - 6450 19747.214 390.89694 0 3682.0992 1.9108969 - 6500 20460.408 272.79545 0 3682.8634 -4.1094877 - 6550 16740.095 892.11547 0 3682.1313 13.20551 - 6600 18326.164 628.80415 0 3683.1648 -19.884336 - 6650 18469.284 605.36384 0 3683.5778 10.345658 - 6700 21086.876 168.61821 0 3683.0976 -0.036118094 - 6750 19924.801 361.46485 0 3682.2649 -2.1144953 - 6800 19812.028 380.5919 0 3682.5966 11.119936 - 6850 19118.501 496.38857 0 3682.8054 0.53906703 - 6900 19221.04 478.31879 0 3681.8255 11.13851 - 6950 20482.79 269.03445 0 3682.8328 2.6705981 - 7000 16350.403 957.96283 0 3683.03 -2.9783385 - 7050 20789.906 218.36242 0 3683.3467 4.2465754 - 7100 17718.126 730.09011 0 3683.111 15.271811 - 7150 19020.414 513.34591 0 3683.4149 -8.3035633 - 7200 21165.007 156.24494 0 3683.7461 -7.3085107 - 7250 20520.422 264.35574 0 3684.4261 -6.7803072 - 7300 19078.795 505.10953 0 3684.9087 -11.147107 - 7350 20529.173 263.85389 0 3685.3827 0.59881989 - 7400 20548.068 261.27337 0 3685.9513 -5.0067382 - 7450 20849.172 211.46852 0 3686.3306 -0.80175538 - 7500 20869.894 207.95335 0 3686.2689 0.44541197 - 7550 18490.583 605.63557 0 3687.3993 -11.744631 - 7600 19185.381 488.52218 0 3686.0857 3.0881652 - 7650 20520.848 265.65037 0 3685.7917 -0.28165722 - 7700 20599.631 251.69265 0 3684.9645 0.19835423 - 7750 18428.55 614.11446 0 3685.5395 5.8092563 - 7800 19660.337 408.61674 0 3685.3396 4.9902979 - 7850 19409.663 450.30454 0 3685.2483 8.8641567 - 7900 21307.628 133.95865 0 3685.23 -1.8297128 - 7950 17828.245 713.05722 0 3684.4314 5.9673166 - 8000 15894.788 1036.4896 0 3685.621 57.567209 - 8050 18588.022 587.45738 0 3685.4611 1.5643233 - 8100 20664.194 241.59965 0 3685.632 -4.9298687 - 8150 17745.538 728.43249 0 3686.0221 6.121885 - 8200 18433.239 612.84747 0 3685.0539 17.078623 - 8250 19162.628 492.52511 0 3686.2965 12.204945 - 8300 18507.768 602.21188 0 3686.8399 -14.003487 - 8350 21010.715 184.80032 0 3686.5861 -0.93351338 - 8400 20888.233 205.24214 0 3686.6143 -5.3433619 - 8450 20920.621 199.6941 0 3686.4643 -30.437742 - 8500 17085.22 840.80474 0 3688.3414 3.9123878 - 8550 20900.377 203.87077 0 3687.267 -6.7525851 - 8600 19771.517 392.67499 0 3687.9278 13.762684 - 8650 19541.099 431.09497 0 3687.9448 2.0785077 - 8700 21056.327 178.88314 0 3688.2709 -13.663758 - 8750 20109.075 336.93228 0 3688.4447 -1.0445182 - 8800 21821.77 51.337654 0 3688.2993 -10.263971 - 8850 17653.401 740.45074 0 3682.6842 49.147758 - 8900 20311.01 302.92663 0 3688.095 -8.1910583 - 8950 19745.488 396.38557 0 3687.3003 -16.948557 - 9000 20248.989 311.52221 0 3686.3537 -2.4158415 - 9050 17850.649 710.17969 0 3685.2878 25.692377 - 9100 19370.284 456.73812 0 3685.1187 -21.201413 - 9150 20452.896 276.95741 0 3685.7735 2.0316457 - 9200 19174.266 488.9925 0 3684.7035 10.317202 - 9250 20174.171 323.4614 0 3685.8232 -2.1072552 - 9300 21442.761 111.68542 0 3685.479 -12.303658 - 9350 19697.287 402.21503 0 3685.0963 8.4697153 - 9400 21553.763 93.03581 0 3685.3297 -6.7286485 - 9450 18946.935 527.04498 0 3684.8674 -6.6174191 - 9500 21162.915 158.64321 0 3685.7957 -3.2085936 - 9550 20704.844 235.41227 0 3686.2196 10.847095 - 9600 20664.074 242.09733 0 3686.1096 3.7301969 - 9650 20829.655 214.20146 0 3685.8107 7.2197609 - 9700 17336.625 797.22781 0 3686.6654 14.775351 - 9750 19978.15 356.51126 0 3686.2029 -1.1978838 - 9800 21150.487 162.1616 0 3687.2427 -15.596643 - 9850 20849.962 213.10316 0 3688.0968 -5.5443282 - 9900 18407.158 620.93592 0 3688.7956 10.177471 - 9950 20459.637 278.24203 0 3688.1815 0.0020687238 - 10000 21667.112 78.10938 0 3689.2948 -12.660594 -Loop time of 3.40889 on 1 procs for 10000 steps with 81 atoms - -Performance: 25345.463 tau/day, 2933.503 timesteps/s, 237.614 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.12904 | 0.12904 | 0.12904 | 0.0 | 3.79 -Neigh | 0.10613 | 0.10613 | 0.10613 | 0.0 | 3.11 -Comm | 0.011135 | 0.011135 | 0.011135 | 0.0 | 0.33 -Output | 0.0042137 | 0.0042137 | 0.0042137 | 0.0 | 0.12 -Modify | 3.142 | 3.142 | 3.142 | 0.0 | 92.17 -Other | | 0.01636 | | | 0.48 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 115 ave 115 max 115 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 808 ave 808 max 808 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 808 -Ave neighs/atom = 9.9753086 -Neighbor list builds = 1162 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.4 b/examples/rigid/log.25Mar24.rigid.poems4.g++.4 deleted file mode 100644 index e78a2e0f05..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems4.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384277 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184718 - 1150 20849.582 206.01695 0 3680.9472 -0.86699156 - 1200 21815.003 45.317416 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064076 - 1300 20780.781 217.36505 0 3680.8286 6.0538619 - 1350 20558.972 254.36481 0 3680.8601 -3.6773978 - 1400 21485.029 99.812941 0 3680.6511 -16.185471 - 1450 21771.108 52.159596 0 3680.6775 -2.4756679 - 1500 21520.948 93.503942 0 3680.3286 2.1023578 - 1550 21351.418 121.6814 0 3680.2511 5.5159969 - 1600 20778.805 216.92173 0 3680.0559 15.089183 - 1650 21477.639 100.21825 0 3679.8247 -1.1045878 - 1700 18501.342 596.47873 0 3680.0357 -15.679646 - 1750 18563.643 587.34777 0 3681.2882 33.532181 - 1800 19110.189 494.82286 0 3679.8543 18.024038 - 1850 21364.195 119.2348 0 3679.9339 2.5291365 - 1900 20146.638 322.1467 0 3679.9197 5.7312008 - 1950 20692.67 231.25355 0 3680.0319 4.297766 - 2000 20943.904 189.1122 0 3679.7629 -22.645478 - 2050 19668.123 401.81885 0 3679.8394 3.6254541 - 2100 20280.531 299.74669 0 3679.8352 7.4808896 - 2150 19182.034 483.49332 0 3680.4991 22.616956 - 2200 21299.885 130.75166 0 3680.7326 4.7110487 - 2250 20487.525 266.54254 0 3681.1301 -8.6422018 - 2300 18654.522 572.01515 0 3681.1021 -5.2661499 - 2350 21512.897 95.719565 0 3681.2024 -9.3553511 - 2400 21467.306 103.39279 0 3681.2771 -29.588234 - 2450 20097.914 332.63812 0 3682.2904 35.845886 - 2500 20762.362 222.00787 0 3682.4016 -12.509872 - 2550 20417.692 279.31982 0 3682.2685 -22.320693 - 2600 21468.738 104.15905 0 3682.2821 -10.050868 - 2650 20742.305 225.31121 0 3682.362 5.2887043 - 2700 18575.367 586.68141 0 3682.5759 21.990986 - 2750 20577.766 252.52411 0 3682.1518 -5.8697894 - 2800 20683.69 234.89244 0 3682.1741 -6.7464964 - 2850 16088.831 1001.1454 0 3682.6172 27.686908 - 2900 20715.565 229.46407 0 3682.0583 6.5207552 - 2950 19969.143 353.98595 0 3682.1765 5.3891903 - 3000 20429.639 277.11063 0 3682.0505 -10.302229 - 3050 19840.965 375.78339 0 3682.611 -6.1970263 - 3100 19149.859 490.69976 0 3682.3429 22.372557 - 3150 20421.772 278.3256 0 3681.9543 8.7381033 - 3200 19492.899 433.22833 0 3682.0448 4.3431162 - 3250 20231.034 310.12852 0 3681.9675 -3.2734265 - 3300 19420.155 445.8855 0 3682.578 14.157316 - 3350 21386.445 117.85565 0 3682.2631 1.9590216 - 3400 20372.28 286.91596 0 3682.296 8.2472357 - 3450 20870.351 203.91619 0 3682.308 7.9601676 - 3500 21469.401 104.14434 0 3682.3778 2.5067348 - 3550 21630.799 77.317219 0 3682.4504 -6.5148709 - 3600 21291.513 133.97558 0 3682.5611 -8.8761801 - 3650 19138.211 493.09199 0 3682.7937 25.075733 - 3700 21282.953 135.36631 0 3682.5252 -8.1163312 - 3750 20660.876 239.15863 0 3682.638 -24.806983 - 3800 20161.169 322.26065 0 3682.4555 13.204808 - 3850 19477.477 435.56421 0 3681.8105 31.065794 - 3900 21108.425 164.35492 0 3682.4258 0.37839399 - 3950 21195.124 150.68497 0 3683.2056 -10.098889 - 4000 21477.025 103.95273 0 3683.4568 -4.139886 - 4050 20603.58 249.35497 0 3683.2849 1.3114756 - 4100 19724.656 396.37166 0 3683.8144 -6.6159163 - 4150 20768.839 221.21034 0 3682.6835 -3.4649381 - 4200 19675.942 404.01538 0 3683.339 17.586922 - 4250 21022.927 179.12036 0 3682.9415 0.59436606 - 4300 20511.134 264.68208 0 3683.2044 8.8380269 - 4350 21038.204 177.05256 0 3683.42 -1.3698914 - 4400 18866.857 539.5082 0 3683.9844 10.461602 - 4450 21607.322 83.184316 0 3684.4046 -1.5071605 - 4500 20895.628 201.9445 0 3684.5492 5.7578991 - 4550 20210.744 316.5044 0 3684.9617 5.6678493 - 4600 20416.269 282.24539 0 3684.9569 -3.0067543 - 4650 18811.283 549.46791 0 3684.6817 7.5182454 - 4700 20899.462 201.92249 0 3685.1661 2.6998262 - 4750 20771.285 223.44307 0 3685.3239 12.165622 - 4800 21834.653 46.231798 0 3685.3407 2.021615 - 4850 21282.348 138.2858 0 3685.3437 4.2174481 - 4900 21892.433 36.607993 0 3685.3468 -10.208769 - 4950 21731.003 63.442124 0 3685.2759 -26.918841 - 5000 21476.967 105.69026 0 3685.1848 -10.007088 - 5050 20485.84 270.81814 0 3685.1248 0.65119013 - 5100 21485.763 104.28837 0 3685.2488 -5.3826149 - 5150 21485.096 104.44183 0 3685.2912 -1.274141 - 5200 21388.175 120.61165 0 3685.3074 -7.7953815 - 5250 20656.672 242.51472 0 3685.2934 -4.4067447 - 5300 20132.262 330.10916 0 3685.4862 -11.466755 - 5350 19080.054 505.63228 0 3685.6413 4.6356684 - 5400 21683.337 71.886529 0 3685.7761 -8.4520633 - 5450 20632.669 246.77173 0 3685.5499 5.5429152 - 5500 20896.92 202.76984 0 3685.5898 3.9762924 - 5550 21172.409 156.92085 0 3685.6557 2.6573146 - 5600 20695.91 236.255 0 3685.5733 -18.109158 - 5650 21741.679 61.956471 0 3685.5697 -3.7520994 - 5700 21164.94 157.60813 0 3685.098 2.4020734 - 5750 21075.393 172.84386 0 3685.4093 7.646915 - 5800 20638.831 245.82076 0 3685.6259 8.3009859 - 5850 20262.966 308.37489 0 3685.5359 7.5861941 - 5900 21730.418 63.97074 0 3685.7071 -6.2813552 - 5950 21820.659 48.990687 0 3685.7673 -5.6400713 - 6000 21027.051 181.2853 0 3685.7937 1.213872 - 6050 14422.66 1284.4174 0 3688.194 57.908667 - 6100 19852.685 377.0743 0 3685.8552 -5.1418207 - 6150 20678.783 239.10987 0 3685.5737 -11.982018 - 6200 19788.097 387.62127 0 3685.6375 -2.684571 - 6250 21611.523 83.575418 0 3685.496 1.7544019 - 6300 19214.109 482.45067 0 3684.8021 24.711965 - 6350 18800.074 553.07966 0 3686.4254 11.125791 - 6400 19771.53 390.40388 0 3685.659 -6.1254643 - 6450 20192.282 319.53713 0 3684.9175 13.959536 - 6500 20360.332 292.28682 0 3685.6755 4.4265274 - 6550 21778.739 56.056362 0 3685.8462 -4.6705452 - 6600 16612.689 917.96646 0 3686.748 -32.617733 - 6650 21068.368 174.38501 0 3685.7797 -0.84207954 - 6700 20749.675 227.41249 0 3685.6916 2.9235268 - 6750 20594.96 253.47665 0 3685.9699 -12.440843 - 6800 19974.133 357.05242 0 3686.0745 34.064247 - 6850 21802.523 52.05173 0 3685.8055 -1.4073818 - 6900 18644.747 577.97031 0 3685.4282 19.759245 - 6950 20463.441 274.90799 0 3685.4815 1.2230553 - 7000 20213.292 316.50714 0 3685.3892 23.9288 - 7050 21571.525 90.089593 0 3685.3437 -26.539261 - 7100 20480.036 271.77541 0 3685.1147 -0.13969301 - 7150 21064.842 174.4144 0 3685.2214 3.5451037 - 7200 21179.296 154.8514 0 3684.7341 -5.007319 - 7250 20714.182 232.84783 0 3685.2115 10.601943 - 7300 19341.561 461.91524 0 3685.5087 18.89547 - 7350 21011.016 183.55321 0 3685.3893 1.6481821 - 7400 21206.598 151.07364 0 3685.5066 1.5040526 - 7450 19999.404 352.83129 0 3686.0652 -18.58587 - 7500 21581.952 88.519362 0 3685.5114 -4.0009441 - 7550 21652.618 76.962392 0 3685.7321 -5.758242 - 7600 21207.411 150.86712 0 3685.4355 -0.023727123 - 7650 21756.168 59.804311 0 3685.8323 0.76768563 - 7700 21825.037 48.380795 0 3685.8869 -0.11098207 - 7750 21581.665 89.078228 0 3686.0223 -0.50220667 - 7800 21714.856 66.946216 0 3686.0889 4.637364 - 7850 21319.774 132.905 0 3686.2007 3.4663558 - 7900 21730.647 64.263898 0 3686.0384 1.0898763 - 7950 21597.663 86.255996 0 3685.8664 3.2847476 - 8000 21724.118 65.137632 0 3685.8239 3.7318614 - 8050 19672.702 406.56191 0 3685.3456 -0.37960768 - 8100 21696.026 69.71367 0 3685.7179 -6.2273451 - 8150 18869.648 540.09908 0 3685.0403 22.915669 - 8200 21717.002 66.01922 0 3685.5196 -4.8553801 - 8250 20292.502 303.3445 0 3685.4282 -13.203008 - 8300 21314.341 133.18215 0 3685.5724 -10.023288 - 8350 20992.272 186.87998 0 3685.592 -4.5538872 - 8400 21726.088 64.55825 0 3685.573 -5.1228188 - 8450 21188.98 153.93449 0 3685.4311 -6.8622554 - 8500 21113.87 166.54678 0 3685.5251 2.6009221 - 8550 20620.735 248.66776 0 3685.4569 -8.0047984 - 8600 19715.276 399.79648 0 3685.6758 -10.980391 - 8650 18898.94 535.95488 0 3685.7782 22.513752 - 8700 21692.841 70.067726 0 3685.5413 -3.3917479 - 8750 20242.909 311.87115 0 3685.6893 17.996012 - 8800 19253.702 476.69077 0 3685.6411 3.7170165 - 8850 17625.913 748.07802 0 3685.7302 11.095548 - 8900 21554.709 92.817998 0 3685.2696 0.30720376 - 8950 21585.337 87.685891 0 3685.2421 -0.22047593 - 9000 17454.847 776.14227 0 3685.2834 22.631913 - 9050 20023.106 347.35041 0 3684.5348 4.0008899 - 9100 21100.691 168.07199 0 3684.8539 2.9016681 - 9150 20307.206 299.45669 0 3683.991 2.1630277 - 9200 21747.579 60.245542 0 3684.8421 -15.419887 - 9250 21525.571 97.26157 0 3684.8567 -7.0449498 - 9300 15084.149 1170.5925 0 3684.6173 43.259279 - 9350 21198.648 151.70957 0 3684.8176 3.0716881 - 9400 17771.533 724.65805 0 3686.5802 -18.320033 - 9450 20029.819 346.23988 0 3684.543 -4.0976705 - 9500 19913.342 365.57743 0 3684.4677 2.4909741 - 9550 20594.619 252.35578 0 3684.7923 -4.4263632 - 9600 21013.668 182.33425 0 3684.6122 -1.9371919 - 9650 16915.052 865.78051 0 3684.9559 1.8697619 - 9700 18789.78 553.48818 0 3685.1181 15.642074 - 9750 21236.716 145.75801 0 3685.2107 -3.6730702 - 9800 20972.957 189.72849 0 3685.2214 0.85691231 - 9850 19658.721 408.29826 0 3684.7517 14.8446 - 9900 21624.401 81.484234 0 3685.5511 3.4507557 - 9950 21883.535 38.474607 0 3685.7304 0.3038348 - 10000 21355.31 126.72088 0 3685.9392 -5.5872974 -Loop time of 3.23589 on 4 procs for 10000 steps with 81 atoms - -Performance: 26700.576 tau/day, 3090.344 timesteps/s, 250.318 katom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0072165 | 0.030554 | 0.065382 | 13.2 | 0.94 -Neigh | 0.010707 | 0.029677 | 0.056594 | 10.6 | 0.92 -Comm | 0.083225 | 0.12075 | 0.17828 | 10.6 | 3.73 -Output | 0.0034779 | 0.0040163 | 0.0050814 | 1.0 | 0.12 -Modify | 2.8247 | 2.8749 | 2.9245 | 2.6 | 88.85 -Other | | 0.176 | | | 5.44 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 33.5 ave 66 max 2 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 212.5 ave 850 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 850 -Ave neighs/atom = 10.493827 -Neighbor list builds = 1246 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.1 b/examples/rigid/log.25Mar24.rigid.poems5.g++.1 deleted file mode 100644 index 03ca091c13..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems5.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173512 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50505 0 3904.2848 15.670464 - 300 19266.324 333.5788 0 3901.4165 7.2119173 - 350 20738.325 63.738945 0 3904.1694 -23.039989 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13818 0 3902.6059 0.42074126 - 500 20365.825 131.47231 0 3902.9213 0.69215475 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26028 0 3902.494 12.047308 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71155 0 3901.9116 3.471602 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.2723139 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717093 0 3902.5839 -34.817443 - 1250 20625.583 82.586395 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316033 - 1400 19753.56 244.81774 0 3902.8844 6.7138457 - 1450 15690.143 998.34271 0 3903.9248 48.124667 - 1500 20234.455 155.92517 0 3903.0465 13.172173 - 1550 20779.63 55.062895 0 3903.1426 -2.6390424 - 1600 20642.757 80.232879 0 3902.9657 -2.4687934 - 1650 18785.716 423.90031 0 3902.7365 -5.6468747 - 1700 20965.076 20.760295 0 3903.1818 -0.45382233 - 1750 18935.466 396.94949 0 3903.5173 25.912008 - 1800 20581.509 91.766145 0 3903.1567 3.8229018 - 1850 20616.968 85.18122 0 3903.1382 4.1907646 - 1900 16600.676 828.66496 0 3902.8643 -0.49197745 - 1950 20175.677 166.50513 0 3902.7416 5.6027746 - 2000 20268.078 149.2566 0 3902.6044 -1.1951453 - 2050 20155.388 170.16328 0 3902.6425 -0.79473147 - 2100 19715.497 250.63403 0 3901.652 3.6719022 - 2150 20677.205 73.792009 0 3902.9041 0.64246071 - 2200 20041.156 191.58407 0 3902.9093 7.4438342 - 2250 19924.453 213.0259 0 3902.7394 2.3652069 - 2300 20432.764 119.13103 0 3902.9763 -11.527566 - 2350 18265.828 520.75569 0 3903.3165 -8.9634198 - 2400 19574.981 277.7963 0 3902.7927 1.8085002 - 2450 20655.975 77.958119 0 3903.1387 3.4001031 - 2500 19783.143 239.3546 0 3902.8995 24.872182 - 2550 16660.113 818.36907 0 3903.5752 -11.766765 - 2600 19789.524 238.61817 0 3903.3448 3.3910931 - 2650 18532.96 471.8684 0 3903.898 -4.812577 - 2700 19081.457 369.81185 0 3903.4151 -0.49159968 - 2750 20370.042 131.6764 0 3903.9064 -3.3818893 - 2800 20727.087 65.499688 0 3903.8491 4.3537941 - 2850 18252.657 523.061 0 3903.1827 11.774986 - 2900 20780.391 55.586541 0 3903.8071 5.4415831 - 2950 20361.047 132.98647 0 3903.5508 -2.4847656 - 3000 19528.633 284.87405 0 3901.2876 14.23453 - 3050 20385.56 127.80448 0 3902.9081 -0.51079949 - 3100 19040.7 376.96613 0 3903.0216 -8.9425331 - 3150 20053.417 189.7312 0 3903.327 4.6695643 - 3200 20862.681 40.219985 0 3903.6795 1.2220199 - 3250 20692.32 71.660474 0 3903.5716 2.118694 - 3300 20560.104 95.905282 0 3903.332 5.9856809 - 3350 20693.236 71.35789 0 3903.4387 3.9315564 - 3400 19045.135 376.64379 0 3903.5206 3.9692419 - 3450 20354.826 134.28157 0 3903.6938 7.6208552 - 3500 20528.053 102.12643 0 3903.6178 7.2863414 - 3550 20525.13 103.01612 0 3903.9661 8.4807852 - 3600 19782.42 240.28031 0 3903.6914 1.0181878 - 3650 20519.52 104.05243 0 3903.9636 -2.36641 - 3700 20024.307 195.68587 0 3903.8908 -6.261818 - 3750 20239.643 155.72722 0 3903.8092 -20.781566 - 3800 20601.2 88.794605 0 3903.8317 -11.491217 - 3850 20973.346 19.675436 0 3903.6283 -9.0554155 - 3900 16212.846 902.10241 0 3904.4813 -19.773976 - 3950 19645.576 264.59477 0 3902.6643 16.065663 - 4000 17439.655 673.47397 0 3903.0398 -3.7357722 - 4050 19305.077 328.50056 0 3903.5148 10.43441 - 4100 18634.36 451.24343 0 3902.0508 3.4327844 - 4150 20249.11 153.64108 0 3903.4763 -2.5190604 - 4200 19177.928 351.81896 0 3903.2871 -5.5110274 - 4250 20754.898 60.189732 0 3903.6893 -3.3019026 - 4300 19693.307 256.31591 0 3903.2245 5.8795929 - 4350 18411.713 494.6957 0 3904.2722 4.2513782 - 4400 18499.707 474.35141 0 3900.2231 10.120914 - 4450 18620.543 449.98137 0 3898.2301 0.74648702 - 4500 18930.676 398.47668 0 3904.1573 -3.3953153 - 4550 18708.382 438.70363 0 3903.2188 8.478793 - 4600 19937.049 211.7655 0 3903.8117 4.8300368 - 4650 19919.169 214.98435 0 3903.7194 -1.0166319 - 4700 19345.329 321.18127 0 3903.6496 -23.032019 - 4750 18391.67 498.629 0 3904.4939 -15.40779 - 4800 18597.103 459.20983 0 3903.1179 9.3900723 - 4850 19857.892 226.27908 0 3903.6665 4.1998427 - 4900 20428.515 120.59483 0 3903.6532 -1.8636046 - 4950 18457.127 485.79992 0 3903.7864 -7.2380409 - 5000 20543.123 99.480661 0 3903.7627 -0.39555479 - 5050 18716.671 436.46735 0 3902.5175 29.395654 - 5100 20048.411 191.03727 0 3903.706 -0.91178091 - 5150 19647.675 265.24989 0 3903.7083 3.8658742 - 5200 20787.465 54.078505 0 3903.6091 -3.3582221 - 5250 20630.096 83.165593 0 3903.5538 -11.86045 - 5300 16598.926 830.02918 0 3903.9043 -1.8793568 - 5350 19114.667 363.424 0 3903.1772 11.894383 - 5400 19563.654 280.22257 0 3903.1215 8.8285523 - 5450 20012.628 197.27325 0 3903.3154 2.1981092 - 5500 17845.428 599.4114 0 3904.1202 20.091131 - 5550 20630.423 82.857857 0 3903.3065 0.93827014 - 5600 19675.125 259.89939 0 3903.4411 -2.4034875 - 5650 19932.349 212.22024 0 3903.3961 2.0064698 - 5700 20499.192 107.17918 0 3903.3259 2.5440649 - 5750 19522.335 287.94941 0 3903.1966 -0.7615272 - 5800 18010.242 568.31554 0 3903.5455 -6.3433889 - 5850 20177.497 166.64243 0 3903.2159 -0.95012013 - 5900 17919.358 584.40694 0 3902.8065 10.49282 - 5950 18390.453 498.29164 0 3903.9311 10.026285 - 6000 18040.232 562.71939 0 3903.5032 0.22172862 - 6050 19777.355 240.88597 0 3903.3592 -3.1899015 - 6100 19132.014 360.58765 0 3903.5531 1.6644736 - 6150 19780.214 240.31985 0 3903.3224 4.2403325 - 6200 18883.45 406.45503 0 3903.3902 -3.5422327 - 6250 19875.924 222.49729 0 3903.2239 3.0535292 - 6300 19882.454 221.4928 0 3903.4287 5.7371152 - 6350 19040.565 377.18193 0 3903.2124 -0.26454332 - 6400 19137.008 359.7025 0 3903.5929 9.5375531 - 6450 19655.205 263.59789 0 3903.4507 -1.8592763 - 6500 18385.045 499.5436 0 3904.1816 -7.8549266 - 6550 18823.423 417.69964 0 3903.5187 -2.8268518 - 6600 19414.118 308.11966 0 3903.3268 4.6627243 - 6650 20533.065 100.75047 0 3903.1698 3.3716972 - 6700 20206.283 161.18079 0 3903.085 5.6368472 - 6750 19517.622 288.72511 0 3903.0995 0.3337076 - 6800 18152.278 541.45525 0 3902.9883 -7.2734044 - 6850 18910.032 401.19322 0 3903.0511 6.2653128 - 6900 18580.612 462.26403 0 3903.1182 15.681586 - 6950 20459.012 114.44928 0 3903.1552 -0.82985388 - 7000 20866.868 38.822988 0 3903.0578 -6.2182429 - 7050 20460.074 114.11492 0 3903.0175 -2.1465384 - 7100 20553.533 96.636153 0 3902.846 -5.105486 - 7150 20447.915 116.30898 0 3902.9599 8.2035464 - 7200 20703.396 69.030336 0 3902.9926 9.1221166 - 7250 19652.215 263.63438 0 3902.9335 17.675447 - 7300 20691.205 71.094727 0 3902.7994 -1.7423404 - 7350 18845.785 412.74313 0 3902.7033 -2.0276584 - 7400 18462.131 483.73088 0 3902.6441 -0.22424322 - 7450 20458.641 113.96173 0 3902.599 -4.9286236 - 7500 17681.258 628.1576 0 3902.4647 -16.803813 - 7550 19149.34 356.35773 0 3902.5318 -5.3481685 - 7600 19723.907 249.45462 0 3902.03 7.2597963 - 7650 19317.18 325.01536 0 3902.271 -0.16642424 - 7700 19620.248 269.22043 0 3902.5996 -4.6771277 - 7750 17751.083 615.46827 0 3902.7058 7.3637076 - 7800 20724.904 64.633157 0 3902.5784 5.2079592 - 7850 19966.924 204.60327 0 3902.1817 6.4943932 - 7900 19730.339 248.88701 0 3902.6536 8.4392109 - 7950 19907.748 216.06587 0 3902.6859 -5.1989259 - 8000 18217.971 528.46486 0 3902.1632 -15.394144 - 8050 17868.898 592.98294 0 3902.0381 9.1139508 - 8100 19370.601 315.22753 0 3902.3759 7.9651368 - 8150 18199.01 532.43818 0 3902.6252 10.07163 - 8200 20646.337 79.222148 0 3902.6179 0.17396159 - 8250 20811.938 48.374613 0 3902.4372 -14.594973 - 8300 20906.571 30.626024 0 3902.2132 -12.34909 - 8350 19873.431 221.86861 0 3902.1335 7.1435615 - 8400 20374.979 127.96219 0 3901.1064 10.527044 - 8450 20701.502 68.073078 0 3901.6846 2.5071154 - 8500 20452.423 113.98399 0 3901.4698 4.2164058 - 8550 19695.059 253.87834 0 3901.1115 8.0656507 - 8600 19447.531 299.45597 0 3900.8505 -0.71982287 - 8650 17202.668 714.55842 0 3900.2378 -16.743518 - 8700 18579.153 459.20676 0 3899.7906 3.4494692 - 8750 20247.204 150.39086 0 3899.8731 -0.1022032 - 8800 18520.797 469.57224 0 3899.3494 5.7412252 - 8850 16011.411 934.80107 0 3899.8772 34.500452 - 8900 19045.914 372.92529 0 3899.9464 10.001612 - 8950 19798.369 233.70991 0 3900.0746 9.3270865 - 9000 17141.02 725.70858 0 3899.9716 -6.7470927 - 9050 17722.847 617.81927 0 3899.828 -10.909071 - 9100 20811.604 45.701413 0 3899.7021 -12.300065 - 9150 18066.034 554.62654 0 3900.1884 -5.7606837 - 9200 19259.884 332.49612 0 3899.1412 -40.231609 - 9250 19116.782 359.42396 0 3899.5689 0.68271469 - 9300 18785.022 421.1178 0 3899.8256 -20.433345 - 9350 19018.32 377.90289 0 3899.814 3.2963902 - 9400 17321.798 691.93839 0 3899.6788 24.552549 - 9450 18318.437 507.12661 0 3899.4297 6.1367468 - 9500 16431.681 857.32722 0 3900.2311 25.431389 - 9550 17920.939 581.45381 0 3900.1462 9.1734747 - 9600 16603.394 825.79291 0 3900.4954 -5.9643183 - 9650 17753.931 607.15019 0 3894.9151 2.2302338 - 9700 17452.305 668.30613 0 3900.2145 2.4635322 - 9750 15955.164 945.80159 0 3900.4617 20.290857 - 9800 17958.495 574.7055 0 3900.3526 12.218625 - 9850 18759.766 423.66965 0 3897.7005 -4.8999337 - 9900 19798.529 232.2507 0 3898.6449 0.10312101 - 9950 18260.87 517.50071 0 3899.1432 5.7261992 - 10000 19116.279 359.58291 0 3899.6345 3.2110764 -Loop time of 3.40298 on 1 procs for 10000 steps with 81 atoms - -Performance: 25389.516 tau/day, 2938.601 timesteps/s, 238.027 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068835 | 0.068835 | 0.068835 | 0.0 | 2.02 -Neigh | 0.078603 | 0.078603 | 0.078603 | 0.0 | 2.31 -Comm | 0.013957 | 0.013957 | 0.013957 | 0.0 | 0.41 -Output | 0.0034786 | 0.0034786 | 0.0034786 | 0.0 | 0.10 -Modify | 3.2212 | 3.2212 | 3.2212 | 0.0 | 94.66 -Other | | 0.01692 | | | 0.50 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 105 ave 105 max 105 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 498 ave 498 max 498 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 498 -Ave neighs/atom = 6.1481481 -Neighbor list builds = 1202 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.4 b/examples/rigid/log.25Mar24.rigid.poems5.g++.4 deleted file mode 100644 index 78f4d4417b..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems5.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62032 0 3904.3981 -4.6173548 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.272315 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1906 0 3902.6833 21.194041 - 1150 19658.317 261.99809 0 3902.4272 -2.8744196 - 1200 20767.681 56.717093 0 3902.5839 -34.817444 - 1250 20625.583 82.586396 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316031 - 1400 19753.56 244.81777 0 3902.8844 6.713847 - 1450 15690.145 998.34279 0 3903.9252 48.124638 - 1500 20234.455 155.92476 0 3903.0461 13.17218 - 1550 20779.631 55.063072 0 3903.1428 -2.6390427 - 1600 20642.756 80.233303 0 3902.9659 -2.4688077 - 1650 18785.71 423.90132 0 3902.7365 -5.6468182 - 1700 20965.076 20.760481 0 3903.182 -0.45377448 - 1750 18935.45 396.95247 0 3903.5173 25.912353 - 1800 20581.523 91.763662 0 3903.1567 3.8225817 - 1850 20616.962 85.182351 0 3903.1382 4.1907744 - 1900 16601.061 828.59343 0 3902.8639 -0.49284971 - 1950 20175.618 166.51633 0 3902.7419 5.6031735 - 2000 20266.439 149.55931 0 3902.6036 -1.1956447 - 2050 20159.308 169.44017 0 3902.6453 -0.7983344 - 2100 19743.72 245.40822 0 3901.6527 3.5301052 - 2150 20674.556 74.284034 0 3902.9055 0.61532081 - 2200 19950.784 208.30189 0 3902.8915 7.6523945 - 2250 19817.161 232.7485 0 3902.5932 3.4492756 - 2300 20459.058 114.2307 0 3902.9451 -11.066393 - 2350 18359.21 503.25787 0 3903.1115 -9.0741539 - 2400 19952.914 207.84881 0 3902.8328 -0.53972874 - 2450 19661.352 259.78979 0 3900.781 7.8669927 - 2500 20917.293 29.699201 0 3903.2719 1.1433085 - 2550 20763.955 57.990256 0 3903.1671 -1.1088372 - 2600 20640.005 80.556339 0 3902.7795 9.6127007 - 2650 20823.227 47.292746 0 3903.446 2.2923503 - 2700 20401.43 125.53141 0 3903.5739 -8.0683618 - 2750 20689.918 72.242212 0 3903.7084 0.22078527 - 2800 20783.922 54.87309 0 3903.7476 2.0668249 - 2850 19258.563 336.84835 0 3903.2488 4.2704683 - 2900 20565.694 95.184831 0 3903.6468 -0.24799068 - 2950 20915.041 30.344751 0 3903.5004 -2.9900907 - 3000 19571.964 278.74004 0 3903.1778 12.195325 - 3050 20356.693 133.43974 0 3903.1976 0.11608195 - 3100 20047.888 190.69627 0 3903.268 -4.5895546 - 3150 19834.363 230.59072 0 3903.6209 -1.4352632 - 3200 20213.412 160.25129 0 3903.4757 3.7488266 - 3250 19286.774 332.04497 0 3903.6699 -5.0835358 - 3300 20952.226 23.774103 0 3903.816 0.10019546 - 3350 20407.952 124.62932 0 3903.8798 0.4403531 - 3400 19401.716 311.03567 0 3903.9461 1.8034568 - 3450 20880.78 37.20558 0 3904.0167 6.3948533 - 3500 19529.313 287.50301 0 3904.0425 12.311168 - 3550 20943.604 25.677677 0 3904.1228 5.1786098 - 3600 20272.725 149.91697 0 3904.1254 1.196909 - 3650 19781.047 240.95421 0 3904.1111 -8.5091671 - 3700 20613.433 86.53896 0 3903.8414 -9.1622102 - 3750 20567.605 95.294456 0 3904.1101 -0.11887825 - 3800 19891.98 220.32932 0 3904.0292 6.8801146 - 3850 20669.735 76.407858 0 3904.1365 -7.4310509 - 3900 20908.711 32.197181 0 3904.1807 -4.6573356 - 3950 20822.78 48.03134 0 3904.1018 0.086779759 - 4000 20199.055 163.66262 0 3904.2283 2.0027771 - 4050 20072.638 187.07041 0 3904.2256 4.4103784 - 4100 17724.651 619.7903 0 3902.1331 11.210006 - 4150 20760.201 60.001382 0 3904.4831 -3.8510009 - 4200 19159.102 356.30472 0 3904.2865 -2.3503308 - 4250 19403.974 311.3497 0 3904.6783 -1.2458384 - 4300 20858.687 42.000734 0 3904.7206 2.1750528 - 4350 20486.989 110.94383 0 3904.8306 5.017245 - 4400 20231.073 158.28825 0 3904.7832 7.4295979 - 4450 16369.689 873.39361 0 3904.8175 14.371454 - 4500 20745.196 63.11427 0 3904.8172 -7.855609 - 4550 18688.003 443.85636 0 3904.5977 9.8067426 - 4600 17755.672 616.68475 0 3904.7721 -3.9654703 - 4650 19843.131 230.34486 0 3904.9988 -0.13553926 - 4700 18873.202 409.99341 0 3905.0308 15.912724 - 4750 20605.355 89.223116 0 3905.0295 2.0847611 - 4800 20136.483 176.1278 0 3905.1062 -1.7091113 - 4850 19808.073 236.83278 0 3904.9945 5.0982271 - 4900 19142.083 359.55764 0 3904.3878 8.2072008 - 4950 20539.687 101.08198 0 3904.7277 8.0469319 - 5000 20840.809 45.759021 0 3905.168 4.771755 - 5050 20009.696 199.45528 0 3904.9546 6.1191423 - 5100 20882.034 38.247578 0 3905.2909 -6.3068822 - 5150 20329.869 140.47458 0 3905.2651 -21.720979 - 5200 17334.411 695.67098 0 3905.7471 -9.8243617 - 5250 19602.025 275.17282 0 3905.1775 -3.2371379 - 5300 20858.74 42.630642 0 3905.3603 0.38011789 - 5350 20828.619 48.188698 0 3905.3403 5.7187945 - 5400 20978.428 20.447148 0 3905.3413 6.1168011 - 5450 20115.374 179.9294 0 3904.9987 8.6440563 - 5500 20522.744 104.7733 0 3905.2815 -2.6561664 - 5550 20625.724 85.600795 0 3905.1792 -1.327206 - 5600 19559.638 282.68742 0 3904.8426 17.893028 - 5650 20552.224 98.978098 0 3904.9455 2.4489071 - 5700 19982.142 204.09989 0 3904.4966 9.9034011 - 5750 20408.825 125.30875 0 3904.7209 1.2515548 - 5800 19773.143 243.02134 0 3904.7144 -2.6729948 - 5850 20781.934 56.310486 0 3904.8168 -1.659054 - 5900 19807.668 236.54392 0 3904.6306 0.49776361 - 5950 20741.237 63.921667 0 3904.8916 4.2800039 - 6000 20322.7 140.98125 0 3904.4442 7.4978024 - 6050 20858.439 42.383629 0 3905.0575 -4.6872323 - 6100 20212.538 162.022 0 3905.0847 -7.0796165 - 6150 18513.957 476.7087 0 3905.2193 7.107138 - 6200 20802.734 52.621638 0 3904.9797 3.7242428 - 6250 20818.044 49.717458 0 3904.9109 -0.91041774 - 6300 19987.245 203.4635 0 3904.8052 -0.86714551 - 6350 20806.906 51.449749 0 3904.5806 -4.0699629 - 6400 20530.3 103.09809 0 3905.0055 1.660177 - 6450 20667.085 77.715553 0 3904.9535 0.99217521 - 6500 20515.816 105.81762 0 3905.0428 3.0994091 - 6550 20548.348 99.627131 0 3904.8769 -0.77417688 - 6600 19827.378 232.99889 0 3904.7355 3.295082 - 6650 19237.199 342.94808 0 3905.3923 -6.2226637 - 6700 19611.621 273.139 0 3904.9206 -3.5465535 - 6750 20874.805 39.1893 0 3904.8939 -0.051336814 - 6800 19433.717 305.99952 0 3904.8361 -19.858865 - 6850 20119.223 179.19987 0 3904.9818 4.6466283 - 6900 20467.389 114.77871 0 3905.0359 10.290214 - 6950 20334.202 139.43289 0 3905.0259 7.5448433 - 7000 20504.591 107.86929 0 3905.0158 -0.10092084 - 7050 17969.214 576.83722 0 3904.4694 10.852897 - 7100 19186.398 351.80467 0 3904.8414 0.24779979 - 7150 20261.23 152.54684 0 3904.6265 -7.0175844 - 7200 20696.821 71.985154 0 3904.7298 3.9649146 - 7250 18456.212 487.1819 0 3904.9989 5.8280225 - 7300 17705.1 625.95928 0 3904.6816 6.8298215 - 7350 17032.039 750.96958 0 3905.051 11.833303 - 7400 20557.431 97.599213 0 3904.5308 0.43747863 - 7450 20466.847 114.5693 0 3904.7261 1.9786538 - 7500 20416.862 123.31643 0 3904.2168 -2.9094738 - 7550 18433.95 487.50767 0 3901.2022 4.0921479 - 7600 19950.107 209.92208 0 3904.3863 3.9114888 - 7650 16037.844 934.94785 0 3904.9189 -1.2183461 - 7700 20145.239 173.99945 0 3904.5993 3.1185554 - 7750 18672.579 446.35236 0 3904.2373 4.1086445 - 7800 19740.616 249.10395 0 3904.7737 4.6048428 - 7850 20801.917 52.742096 0 3904.9489 1.5978265 - 7900 20305.348 144.57749 0 3904.8272 2.7348725 - 7950 20221.086 159.31958 0 3903.9652 7.1592496 - 8000 20826.907 47.953835 0 3904.7884 6.2728901 - 8050 18646.418 452.02126 0 3905.0617 5.9716218 - 8100 20653.653 80.183024 0 3904.9336 -1.8274783 - 8150 20843.275 45.172279 0 3905.0379 -6.9445524 - 8200 20364.78 133.45082 0 3904.7064 -12.094533 - 8250 18163.745 541.08818 0 3904.7447 -2.6103997 - 8300 20889.664 36.793018 0 3905.2494 -9.2650749 - 8350 20307.367 144.33088 0 3904.9543 -0.65999546 - 8400 20485.202 111.41317 0 3904.9691 -0.42802224 - 8450 20864.395 41.146879 0 3904.9238 7.7084978 - 8500 20901.899 34.291267 0 3905.0132 -5.2070823 - 8550 20211.78 162.02611 0 3904.9484 -5.8363409 - 8600 19639.538 268.05291 0 3905.0044 3.8180903 - 8650 19919.356 216.24885 0 3905.0185 0.17130921 - 8700 19499.449 293.97522 0 3904.9843 -4.897872 - 8750 20270.687 151.1571 0 3904.9879 0.28558082 - 8800 18804.137 422.61651 0 3904.864 15.351015 - 8850 20654.443 80.110976 0 3905.0078 4.1368065 - 8900 19953.725 209.81046 0 3904.9447 10.71743 - 8950 18195.013 536.67764 0 3906.1245 21.497802 - 9000 20478.531 112.78923 0 3905.1098 -13.053056 - 9050 20866.484 40.901611 0 3905.0653 -3.6134066 - 9100 20322.595 141.61419 0 3905.0577 15.459697 - 9150 20855.456 42.94311 0 3905.0646 4.9123213 - 9200 20208.201 162.79363 0 3905.0531 2.5454472 - 9250 18394.203 498.63686 0 3904.9707 0.041811692 - 9300 18776.997 427.7118 0 3904.9335 -7.652483 - 9350 18330.751 510.07857 0 3904.6621 8.3424059 - 9400 17538.366 657.08623 0 3904.9319 8.5478668 - 9450 20309.605 143.77142 0 3904.8093 6.6831447 - 9500 19982.331 203.81545 0 3904.2471 -7.6711411 - 9550 19410.612 310.1139 0 3904.6717 5.3983286 - 9600 19198.225 349.06634 0 3904.2932 -4.107658 - 9650 19388.043 314.31566 0 3904.6939 6.1198194 - 9700 18849.37 414.1045 0 3904.7286 5.4468861 - 9750 18263.312 523.38716 0 3905.4819 -0.56480349 - 9800 20421.858 122.53973 0 3904.3653 -15.641399 - 9850 17678.959 631.15683 0 3905.0381 -1.805446 - 9900 19421.046 306.67446 0 3903.1644 7.0287747 - 9950 18460.64 483.18902 0 3901.8261 3.658774 - 10000 19781.151 239.38136 0 3902.5575 6.3312911 -Loop time of 3.21586 on 4 procs for 10000 steps with 81 atoms - -Performance: 26866.868 tau/day, 3109.591 timesteps/s, 251.877 katom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0068055 | 0.017185 | 0.043838 | 11.8 | 0.53 -Neigh | 0.010594 | 0.021601 | 0.042532 | 8.5 | 0.67 -Comm | 0.068664 | 0.091849 | 0.10748 | 4.8 | 2.86 -Output | 0.0038351 | 0.0044469 | 0.0057465 | 1.1 | 0.14 -Modify | 2.8494 | 2.9033 | 2.9663 | 2.5 | 90.28 -Other | | 0.1775 | | | 5.52 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 38.25 ave 50 max 28 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -Neighs: 126.5 ave 213 max 0 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 506 -Ave neighs/atom = 6.2469136 -Neighbor list builds = 1207 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.1 b/examples/rigid/log.25Mar24.rigid.property.g++.1 deleted file mode 100644 index 0a3d0da63a..0000000000 --- a/examples/rigid/log.25Mar24.rigid.property.g++.1 +++ /dev/null @@ -1,343 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Clumps -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.42 | 4.42 | 4.42 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.13897 on 1 procs for 10000 steps with 81 atoms - -Performance: 621716.264 tau/day, 71957.901 timesteps/s, 5.829 Matom-step/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0095014 | 0.0095014 | 0.0095014 | 0.0 | 6.84 -Neigh | 0.050174 | 0.050174 | 0.050174 | 0.0 | 36.10 -Comm | 0.0091698 | 0.0091698 | 0.0091698 | 0.0 | 6.60 -Output | 0.0016255 | 0.0016255 | 0.0016255 | 0.0 | 1.17 -Modify | 0.060968 | 0.060968 | 0.060968 | 0.0 | 43.87 -Other | | 0.007531 | | | 5.42 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.4 b/examples/rigid/log.25Mar24.rigid.property.g++.4 deleted file mode 100644 index 5195cd4eb6..0000000000 --- a/examples/rigid/log.25Mar24.rigid.property.g++.4 +++ /dev/null @@ -1,343 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Clumps -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.268 | 4.3 | 4.394 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.145717 on 4 procs for 10000 steps with 81 atoms - -Performance: 592928.932 tau/day, 68626.034 timesteps/s, 5.559 Matom-step/s -98.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0017512 | 0.002579 | 0.0032423 | 1.1 | 1.77 -Neigh | 0.01337 | 0.01442 | 0.016488 | 1.0 | 9.90 -Comm | 0.066749 | 0.068666 | 0.070799 | 0.7 | 47.12 -Output | 0.0018563 | 0.0020346 | 0.0025278 | 0.6 | 1.40 -Modify | 0.040991 | 0.042542 | 0.044042 | 0.6 | 29.19 -Other | | 0.01548 | | | 10.62 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.1 b/examples/rigid/log.25Mar24.rigid.small.g++.1 deleted file mode 100644 index 7c1c88364b..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.g++.1 +++ /dev/null @@ -1,321 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722853e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652431 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814366 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589875 0 5269.4979 12.062708 - 9750 16738.013 0.13550135 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270544 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.159025 on 1 procs for 10000 steps with 81 atoms - -Performance: 543312.198 tau/day, 62883.356 timesteps/s, 5.094 Matom-step/s -98.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0094515 | 0.0094515 | 0.0094515 | 0.0 | 5.94 -Bond | 0.00045015 | 0.00045015 | 0.00045015 | 0.0 | 0.28 -Neigh | 0.066186 | 0.066186 | 0.066186 | 0.0 | 41.62 -Comm | 0.0097819 | 0.0097819 | 0.0097819 | 0.0 | 6.15 -Output | 0.0021947 | 0.0021947 | 0.0021947 | 0.0 | 1.38 -Modify | 0.062923 | 0.062923 | 0.062923 | 0.0 | 39.57 -Other | | 0.008038 | | | 5.05 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.4 b/examples/rigid/log.25Mar24.rigid.small.g++.4 deleted file mode 100644 index 1b0d54f7b3..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.g++.4 +++ /dev/null @@ -1,321 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722842e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554428 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934367 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532814 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765244 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589896 0 5269.4979 12.062708 - 9750 16738.013 0.13550091 0 5269.5101 11.407245 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984566 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.200426 on 4 procs for 10000 steps with 81 atoms - -Performance: 431082.236 tau/day, 49893.777 timesteps/s, 4.041 Matom-step/s -97.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.001863 | 0.0024669 | 0.0029246 | 0.8 | 1.23 -Bond | 0.00033475 | 0.00034422 | 0.00035273 | 0.0 | 0.17 -Neigh | 0.016097 | 0.017035 | 0.018935 | 0.9 | 8.50 -Comm | 0.066051 | 0.06822 | 0.070253 | 0.7 | 34.04 -Output | 0.0020466 | 0.0021927 | 0.0026005 | 0.5 | 1.09 -Modify | 0.094972 | 0.096687 | 0.098173 | 0.4 | 48.24 -Other | | 0.01348 | | | 6.73 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 deleted file mode 100644 index 8c441d5d00..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 - 9600 16738.549 -0.026814367 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589876 0 5269.4979 12.062708 - 9750 16738.013 0.13550105 0 5269.5101 11.407245 - 9800 16738.512 -0.011620331 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270584 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984576 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395074 -Loop time of 0.154542 on 1 procs for 10000 steps with 81 atoms - -Performance: 559072.380 tau/day, 64707.451 timesteps/s, 5.241 Matom-step/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0094322 | 0.0094322 | 0.0094322 | 0.0 | 6.10 -Bond | 0.00037544 | 0.00037544 | 0.00037544 | 0.0 | 0.24 -Neigh | 0.062048 | 0.062048 | 0.062048 | 0.0 | 40.15 -Comm | 0.0095533 | 0.0095533 | 0.0095533 | 0.0 | 6.18 -Output | 0.0022247 | 0.0022247 | 0.0022247 | 0.0 | 1.44 -Modify | 0.06281 | 0.06281 | 0.06281 | 0.0 | 40.64 -Other | | 0.008098 | | | 5.24 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 deleted file mode 100644 index e4c45a4523..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722864e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 - 9600 16738.549 -0.026814366 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589874 0 5269.4979 12.062708 - 9750 16738.013 0.1355012 0 5269.5101 11.407245 - 9800 16738.512 -0.011620331 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270574 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.194899 on 4 procs for 10000 steps with 81 atoms - -Performance: 443306.036 tau/day, 51308.569 timesteps/s, 4.156 Matom-step/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0017487 | 0.0024215 | 0.0028965 | 0.9 | 1.24 -Bond | 0.00032501 | 0.00033082 | 0.0003413 | 0.0 | 0.17 -Neigh | 0.015692 | 0.016603 | 0.018578 | 0.9 | 8.52 -Comm | 0.063465 | 0.066081 | 0.068061 | 0.8 | 33.91 -Output | 0.0019654 | 0.0021191 | 0.0025315 | 0.5 | 1.09 -Modify | 0.092199 | 0.094298 | 0.096149 | 0.5 | 48.38 -Other | | 0.01305 | | | 6.69 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.1 b/examples/rigid/log.25Mar24.rigid.tnr.g++.1 deleted file mode 100644 index be58bf94b9..0000000000 --- a/examples/rigid/log.25Mar24.rigid.tnr.g++.1 +++ /dev/null @@ -1,475 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr -Reading data file ... - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.027 seconds - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule - 800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.017 | 8.017 | 8.017 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 - 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 - 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 - 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 - 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 - 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 - 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 - 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 - 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 - 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 - 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 - 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 - 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 - 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 - 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 - 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 - 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 - 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 - 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 - 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 - 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 - 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 - 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 - 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 - 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 - 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 - 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 - 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 - 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 - 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 - 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 - 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 - 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 - 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 - 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 - 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 - 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 - 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 - 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 - 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 - 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 - 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 - 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 - 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 - 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 - 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 - 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 - 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 - 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 - 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 -Loop time of 5.54157 on 1 procs for 5000 steps with 5600 atoms - -Performance: 389781.415 tau/day, 902.272 timesteps/s, 5.053 Matom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.40156 | 0.40156 | 0.40156 | 0.0 | 7.25 -Bond | 0.172 | 0.172 | 0.172 | 0.0 | 3.10 -Neigh | 1.6573 | 1.6573 | 1.6573 | 0.0 | 29.91 -Comm | 0.10679 | 0.10679 | 0.10679 | 0.0 | 1.93 -Output | 0.0033706 | 0.0033706 | 0.0033706 | 0.0 | 0.06 -Modify | 3.0948 | 3.0948 | 3.0948 | 0.0 | 55.85 -Other | | 0.1058 | | | 1.91 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1351 ave 1351 max 1351 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5254 ave 5254 max 5254 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5254 -Ave neighs/atom = 0.93821429 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 766 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule - 800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 - 5100 1.439608 5.9052128 7.0359478 0.0060989876 7.2985886 62.244 62.244 62.244 0.0087364154 0.0040228411 0.0055377063 - 5200 1.4120671 5.9102569 7.01936 0.0064301456 7.2962615 62.244 62.244 62.244 0.0082738088 0.0038925707 0.0071240574 - 5300 1.4452434 5.8842166 7.0193778 0.0081724166 7.3713067 62.244 62.244 62.244 0.0077715644 0.0068924374 0.0098532479 - 5400 1.4170243 5.887522 7.0005186 0.00086566653 7.0377968 62.244 62.244 62.244 -9.179779e-05 -0.0020237494 0.0047125468 - 5500 1.4209084 5.875892 6.9919394 0.009363414 7.3951563 62.244 62.244 62.244 0.0088769611 0.0087092372 0.010504044 - 5600 1.4132978 5.8798939 6.9899636 0.0014877902 7.0540323 62.244 62.244 62.244 -0.0023427699 0.0045593956 0.0022467449 - 5700 1.4065055 5.8875412 6.9922759 0.002808316 7.1132105 62.244 62.244 62.244 0.0025187553 0.00051088905 0.0053953037 - 5800 1.4079049 5.8940749 6.9999087 0.0015946903 7.0685809 62.244 62.244 62.244 0.0037830352 0.00021762631 0.00078340928 - 5900 1.4076048 5.8941588 6.9997569 0.0051902121 7.2232631 62.244 62.244 62.244 -0.00093181434 0.0096405899 0.0068618607 - 6000 1.4322812 5.8903503 7.0153305 0.00029722379 7.0281298 62.244 62.244 62.244 0.0019139164 -0.00073870179 -0.00028354325 -Loop time of 1.21399 on 1 procs for 1000 steps with 5600 atoms - -Performance: 355850.342 tau/day, 823.728 timesteps/s, 4.613 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.12141 | 0.12141 | 0.12141 | 0.0 | 10.00 -Bond | 0.038739 | 0.038739 | 0.038739 | 0.0 | 3.19 -Neigh | 0.39335 | 0.39335 | 0.39335 | 0.0 | 32.40 -Comm | 0.023806 | 0.023806 | 0.023806 | 0.0 | 1.96 -Output | 0.00074295 | 0.00074295 | 0.00074295 | 0.0 | 0.06 -Modify | 0.61212 | 0.61212 | 0.61212 | 0.0 | 50.42 -Other | | 0.02383 | | | 1.96 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1347 ave 1347 max 1347 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5399 ave 5399 max 5399 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5399 -Ave neighs/atom = 0.96410714 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 153 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 - 800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.4322812 5.8903503 7.0153305 0.012984296 7.5744734 62.244 62.244 62.244 0.058323772 0.007366828 -0.026737713 - 6100 1.4199781 5.8764024 6.9917192 0.0054080227 7.2246049 62.244 62.244 62.244 0.0092282159 0.0019631398 0.0050327123 - 6200 1.3976803 5.8924474 6.9902504 0.00044474719 7.0094026 62.244 62.244 62.244 -0.0022979183 -0.0004943354 0.0041264952 - 6300 1.4076912 5.8847607 6.9904268 0.0066261457 7.2757686 62.244 62.244 62.244 0.0057923777 0.0091772934 0.0049087658 - 6400 1.3749242 5.8816641 6.9615934 0.0075045379 7.2847615 62.244 62.244 62.244 0.012318395 0.003979389 0.0062158299 - 6500 1.3467602 5.888001 6.945809 -6.1011018e-05 6.9431817 62.244 62.244 62.244 0.0031945051 -0.0013048764 -0.0020726618 - 6600 1.3638321 5.8744775 6.9456945 0.005780579 7.1946237 62.244 62.244 62.244 0.0060765968 0.0058486743 0.0054164658 - 6700 1.3933343 5.8833797 6.9777691 0.0026007197 7.089764 62.244 62.244 62.244 0.0029828101 0.0019631585 0.0028561905 - 6800 1.4025439 5.901019 7.0026421 0.0033759718 7.1480216 62.244 62.244 62.244 0.0059683617 0.0016890885 0.002470465 - 6900 1.4165405 5.8901618 7.0027785 0.0048537306 7.2117948 62.244 62.244 62.244 0.0031937581 0.0089194691 0.0024479647 - 7000 1.4256345 5.8979889 7.0177485 0.0076603683 7.347627 62.244 62.244 62.244 0.0064499957 0.0096400261 0.0068910831 -Loop time of 1.16587 on 1 procs for 1000 steps with 5600 atoms - -Performance: 370540.281 tau/day, 857.732 timesteps/s, 4.803 Matom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11675 | 0.11675 | 0.11675 | 0.0 | 10.01 -Bond | 0.03628 | 0.03628 | 0.03628 | 0.0 | 3.11 -Neigh | 0.36879 | 0.36879 | 0.36879 | 0.0 | 31.63 -Comm | 0.022201 | 0.022201 | 0.022201 | 0.0 | 1.90 -Output | 0.00070791 | 0.00070791 | 0.00070791 | 0.0 | 0.06 -Modify | 0.59859 | 0.59859 | 0.59859 | 0.0 | 51.34 -Other | | 0.02255 | | | 1.93 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1284 ave 1284 max 1284 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5691 ave 5691 max 5691 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5691 -Ave neighs/atom = 1.01625 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 151 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.4256345 5.8979889 7.0177485 0.030670312 8.3385046 62.244 62.244 62.244 0.019152979 0.028037341 0.044820616 - 7100 1.4830481 5.8740667 7.0389215 0.021216954 7.7436467 57.083193 57.083193 57.083193 0.015785563 0.020078182 0.027787115 - 7200 1.5225973 5.8364439 7.0323626 0.015560962 7.3866118 50.329217 50.329217 50.329217 0.017379604 0.02205435 0.0072489313 - 7300 1.5589134 5.7874972 7.0119402 0.020613279 7.3515942 45.188285 45.188285 45.188285 0.019963793 0.02165546 0.020220585 - 7400 1.5629259 5.7523794 6.9799739 0.035363756 7.4299227 41.456971 41.456971 41.456971 0.030810521 0.041559103 0.033721646 - 7500 1.5735285 5.706087 6.9420093 0.033186427 7.2889675 38.830074 38.830074 38.830074 0.030605548 0.018770943 0.050182791 - 7600 1.5546074 5.6815832 6.902644 0.027297758 7.1446412 36.752801 36.752801 36.752801 0.027154479 0.030653039 0.024085757 - 7700 1.5396727 5.6293114 6.8386418 0.030528746 7.0744265 35.101973 35.101973 35.101973 0.022542269 0.025802901 0.043241069 - 7800 1.5249769 5.5826711 6.7804588 0.067321436 7.2458344 33.82824 33.82824 33.82824 0.063820368 0.072156874 0.065987065 - 7900 1.5017937 5.5660576 6.7456361 0.04770857 7.0497596 32.926623 32.926623 32.926623 0.035259576 0.06869573 0.039170404 - 8000 1.5105319 5.5459012 6.7323431 0.053301062 7.0487429 32.153588 32.153588 32.153588 0.076450314 0.07417732 0.0092755526 -Loop time of 2.49405 on 1 procs for 1000 steps with 5600 atoms - -Performance: 173212.568 tau/day, 400.955 timesteps/s, 2.245 Matom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.29712 | 0.29712 | 0.29712 | 0.0 | 11.91 -Bond | 0.044611 | 0.044611 | 0.044611 | 0.0 | 1.79 -Neigh | 1.2735 | 1.2735 | 1.2735 | 0.0 | 51.06 -Comm | 0.048469 | 0.048469 | 0.048469 | 0.0 | 1.94 -Output | 0.0007418 | 0.0007418 | 0.0007418 | 0.0 | 0.03 -Modify | 0.7991 | 0.7991 | 0.7991 | 0.0 | 32.04 -Other | | 0.03048 | | | 1.22 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2993 ave 2993 max 2993 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 25312 ave 25312 max 25312 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 25312 -Ave neighs/atom = 4.52 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 335 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.033 | 8.033 | 8.033 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.5105319 5.5459012 6.7323431 -0.15611622 5.8056235 32.153588 32.153588 32.153588 -0.25823552 0.036861264 -0.24697441 - 8100 1.4816536 5.5214096 6.6851691 0.051659716 6.9889314 31.85012 32.153588 32.153588 0.042525917 0.079045459 0.033407772 - 8200 1.4364335 5.5026881 6.6309297 0.030961663 6.8100555 31.337401 32.153588 32.153588 0.062969827 0.0077436471 0.022171514 - 8300 1.4159126 5.504273 6.6163965 0.050231597 6.9027629 30.879771 32.153588 32.153588 0.047512875 0.071477224 0.031704693 - 8400 1.4479331 5.4732237 6.6104975 0.037171033 6.8195306 30.460678 32.153588 32.153588 0.016306171 0.072770628 0.022436301 - 8500 1.4126922 5.4616331 6.5712271 0.069137703 6.9521816 29.846079 32.153588 32.153588 0.075972518 0.063305384 0.068135208 - 8600 1.4129562 5.4397649 6.5495663 0.068287674 6.9190398 29.306917 32.153588 32.153588 0.077820831 0.076960087 0.050082105 - 8700 1.4199417 5.408767 6.5240551 0.046952367 6.7741118 28.847632 32.153588 32.153588 0.078496327 0.013710756 0.048650018 - 8800 1.415092 5.4082456 6.5197246 0.017068201 6.6091852 28.39051 32.153588 32.153588 0.01803734 0.0086202553 0.024547008 - 8900 1.4080943 5.3806524 6.486635 0.006282149 6.5189723 27.882074 32.153588 32.153588 0.023331732 0.01130818 -0.015793465 - 9000 1.4188356 5.3687142 6.4831335 0.078333785 6.8770321 27.237322 32.153588 32.153588 0.092873218 0.033643462 0.10848468 -Loop time of 2.35076 on 1 procs for 1000 steps with 5600 atoms - -Performance: 183770.370 tau/day, 425.394 timesteps/s, 2.382 Matom-step/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.45082 | 0.45082 | 0.45082 | 0.0 | 19.18 -Bond | 0.045157 | 0.045157 | 0.045157 | 0.0 | 1.92 -Neigh | 0.98655 | 0.98655 | 0.98655 | 0.0 | 41.97 -Comm | 0.039968 | 0.039968 | 0.039968 | 0.0 | 1.70 -Output | 0.00072296 | 0.00072296 | 0.00072296 | 0.0 | 0.03 -Modify | 0.80394 | 0.80394 | 0.80394 | 0.0 | 34.20 -Other | | 0.0236 | | | 1.00 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3422 ave 3422 max 3422 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 31084 ave 31084 max 31084 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 31084 -Ave neighs/atom = 5.5507143 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 167 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.036 | 8.036 | 8.036 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.4188356 5.3687142 6.4831335 0.066940268 6.8197402 27.237322 32.153588 32.153588 0.020750172 0.14461869 0.035451941 - 9100 1.418441 5.3523211 6.4664305 0.016522511 6.5489637 27.17712 32.08252 32.08252 0.01137531 0.0028933886 0.035298833 - 9200 1.4433401 5.3458252 6.4794915 0.038961106 6.6708176 27.023003 31.900585 31.900585 0.012667867 0.094480325 0.0097351253 - 9300 1.4806575 5.309105 6.4720822 0.11806636 7.0379478 26.804952 31.643176 31.643176 0.063001935 0.11667303 0.17452413 - 9400 1.4835179 5.3103383 6.4755622 0.098990545 6.9362503 26.543432 31.334452 31.334452 0.13023767 0.084360197 0.08237377 - 9500 1.4855723 5.2906327 6.4574702 -0.0012789282 6.4516456 26.352845 31.109465 31.109465 0.053813822 -0.016098782 -0.041551825 - 9600 1.4959395 5.2553176 6.4302979 0.036958035 6.5952607 26.176506 30.901298 30.901298 0.077457004 -0.035314705 0.068731807 - 9700 1.4470266 5.289874 6.4264359 0.065648447 6.7177609 26.125849 30.841497 30.841497 0.064764383 0.041383889 0.090797069 - 9800 1.4525327 5.2808561 6.4217428 0.0076421133 6.4554682 26.077575 30.78451 30.78451 -0.01978363 0.013568065 0.029141905 - 9900 1.4603761 5.269343 6.4163902 0.079488558 6.7651749 26.027767 30.725712 30.725712 0.06210239 0.062690336 0.11367295 - 10000 1.4437445 5.2626116 6.3965955 0.0024175103 6.4072252 26.045744 30.746933 30.746933 0.0020903338 0.023283622 -0.018121425 -Loop time of 2.42718 on 1 procs for 1000 steps with 5600 atoms - -Performance: 177984.690 tau/day, 412.002 timesteps/s, 2.307 Matom-step/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52411 | 0.52411 | 0.52411 | 0.0 | 21.59 -Bond | 0.04594 | 0.04594 | 0.04594 | 0.0 | 1.89 -Neigh | 1.0079 | 1.0079 | 1.0079 | 0.0 | 41.53 -Comm | 0.040182 | 0.040182 | 0.040182 | 0.0 | 1.66 -Output | 0.00070663 | 0.00070663 | 0.00070663 | 0.0 | 0.03 -Modify | 0.78582 | 0.78582 | 0.78582 | 0.0 | 32.38 -Other | | 0.02253 | | | 0.93 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3638 ave 3638 max 3638 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 35778 ave 35778 max 35778 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 35778 -Ave neighs/atom = 6.3889286 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 161 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.041 | 8.041 | 8.041 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.4437445 5.2626116 6.3965955 0.043852305 6.5894123 26.045744 30.746933 30.746933 -0.10594451 -0.016019605 0.25352103 - 10100 1.4544517 5.2536075 6.3960014 0.040252547 6.5723133 25.995896 30.688087 30.746933 0.036481947 0.058195014 0.026080679 - 10200 1.4465796 5.2533056 6.3895164 0.043103918 6.5797343 26.093233 30.802994 30.746933 0.047509548 0.023387048 0.058415158 - 10300 1.4703558 5.2311222 6.3860079 0.02952279 6.5179005 26.253791 30.992532 30.746933 0.067825843 -1.1742127e-05 0.020754268 - 10400 1.4264151 5.2426153 6.362988 0.043320767 6.5561801 26.230542 30.965087 30.746933 0.036437179 0.069318063 0.02420706 - 10500 1.4718495 5.213542 6.3696009 0.028876649 6.4965877 26.047535 30.749047 30.746933 0.044470994 0.03304953 0.0091094235 - 10600 1.4550996 5.2087392 6.3516419 0.049130073 6.5647387 25.868744 30.537985 30.746933 0.056613289 0.028555571 0.062221359 - 10700 1.4755834 5.1912236 6.3502153 0.0027128909 6.3617831 25.648895 30.278455 30.746933 0.035708882 0.02165412 -0.04922433 - 10800 1.4801906 5.1863989 6.3490092 0.030220134 6.4763468 25.497097 30.099256 30.746933 0.035963119 0.021549561 0.033147721 - 10900 1.4318851 5.1785312 6.3032002 0.095502071 6.7019424 25.380506 29.961622 30.746933 0.1040397 0.10708089 0.075385625 - 11000 1.4500789 5.1660716 6.3050309 0.072030914 6.6026703 25.249123 29.806525 30.746933 0.073199983 0.0091150749 0.13377768 -Loop time of 2.55647 on 1 procs for 1000 steps with 5600 atoms - -Performance: 168982.932 tau/day, 391.164 timesteps/s, 2.191 Matom-step/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.5683 | 0.5683 | 0.5683 | 0.0 | 22.23 -Bond | 0.044877 | 0.044877 | 0.044877 | 0.0 | 1.76 -Neigh | 1.0732 | 1.0732 | 1.0732 | 0.0 | 41.98 -Comm | 0.041328 | 0.041328 | 0.041328 | 0.0 | 1.62 -Output | 0.00078717 | 0.00078717 | 0.00078717 | 0.0 | 0.03 -Modify | 0.80433 | 0.80433 | 0.80433 | 0.0 | 31.46 -Other | | 0.02363 | | | 0.92 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3699 ave 3699 max 3699 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 39523 ave 39523 max 39523 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 39523 -Ave neighs/atom = 7.0576786 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 163 -Dangerous builds = 0 - -Total wall time: 0:00:17 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.4 b/examples/rigid/log.25Mar24.rigid.tnr.g++.4 deleted file mode 100644 index 6d98088472..0000000000 --- a/examples/rigid/log.25Mar24.rigid.tnr.g++.4 +++ /dev/null @@ -1,475 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr -Reading data file ... - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.017 seconds - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule - 800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.552 | 7.555 | 7.559 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 - 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 - 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 - 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 - 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 - 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 - 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 - 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 - 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 - 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 - 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 - 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 - 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 - 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 - 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 - 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 - 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 - 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 - 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 - 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 - 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 - 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 - 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 - 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 - 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414204 0.0039571831 0.0048428538 - 2600 1.3876469 5.9249124 7.0148347 -0.0017777225 6.9382806 62.244 62.244 62.244 -0.00047616393 -0.0025484918 -0.0023085117 - 2700 1.4099941 5.916763 7.0242378 0.0070716262 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812866 0.0032048359 - 2800 1.4444643 5.9283432 7.0628925 0.0019400023 7.1464349 62.244 62.244 62.244 0.0014895078 0.0046367397 -0.00030624049 - 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403268 -0.0046971891 - 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093025 0.010147657 - 3100 1.3569137 5.9171753 6.9829583 -0.0028266769 6.8612331 62.244 62.244 62.244 -0.0069507251 0.0010084401 -0.0025377458 - 3200 1.4004275 5.905939 7.0058998 0.0054394667 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594139 0.00020680257 - 3300 1.3641217 5.9145275 6.985972 -0.0027212813 6.8687854 62.244 62.244 62.244 -0.00065933696 -0.005771301 -0.001733206 - 3400 1.3868722 5.9059546 6.9952684 0.0092591263 7.3939943 62.244 62.244 62.244 0.010690877 0.01075252 0.0063339817 - 3500 1.3939169 5.8992292 6.9940762 0.0074340014 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252538 0.0077394438 - 3600 1.3982507 5.9219461 7.0201971 0.0056794512 7.2647714 62.244 62.244 62.244 0.0023367131 0.0080592141 0.0066424266 - 3700 1.4019908 5.9059957 7.0071844 0.0065915518 7.2910365 62.244 62.244 62.244 0.0049554052 0.010827013 0.0039922376 - 3800 1.3960736 5.902079 6.9986201 0.0027763672 7.1181788 62.244 62.244 62.244 -0.0015907142 0.0025862031 0.0073336126 - 3900 1.4352825 5.8986216 7.0259591 0.003498295 7.1766062 62.244 62.244 62.244 0.0030417173 0.0027739456 0.0046792221 - 4000 1.4121845 5.9079028 7.0170981 0.0050462581 7.2344052 62.244 62.244 62.244 0.0045543085 0.0064113637 0.0041731022 - 4100 1.3989579 5.9082397 7.0070461 0.00042870391 7.0255074 62.244 62.244 62.244 0.0025733986 0.0025181076 -0.0038053944 - 4200 1.399883 5.8998147 6.9993477 0.0042777423 7.1835602 62.244 62.244 62.244 0.0013744675 0.0064699404 0.0049888191 - 4300 1.4076025 5.9044509 7.0100472 0.0066788698 7.2976595 62.244 62.244 62.244 0.007361029 0.0048139331 0.0078616474 - 4400 1.4161078 5.9064334 7.0187102 -0.0011844913 6.9677025 62.244 62.244 62.244 -0.001908963 -0.0037556847 0.0021111739 - 4500 1.429225 5.8980089 7.0205885 0.0018498822 7.10025 62.244 62.244 62.244 0.0041143046 0.0010156504 0.00041969169 - 4600 1.3958783 5.894313 6.9907006 0.0041483111 7.1693394 62.244 62.244 62.244 0.0033996217 0.0041616835 0.004883628 - 4700 1.3856609 5.8886843 6.9770467 0.0013148711 7.033669 62.244 62.244 62.244 -0.00051706505 0.0030872136 0.0013744648 - 4800 1.4016792 5.902351 7.0032949 0.0025050908 7.1111717 62.244 62.244 62.244 0.0016540384 -0.00018095286 0.0060421869 - 4900 1.4466248 5.9050606 7.0413069 -0.0026620212 6.9266722 62.244 62.244 62.244 -0.00069094879 -0.0073956145 0.00010049979 - 5000 1.4387209 5.9077482 7.0377864 0.0049404333 7.2505363 62.244 62.244 62.244 0.0042769255 0.0046681652 0.0058762093 -Loop time of 2.72962 on 4 procs for 5000 steps with 5600 atoms - -Performance: 791319.942 tau/day, 1831.759 timesteps/s, 10.258 Matom-step/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.06605 | 0.10369 | 0.14557 | 11.7 | 3.80 -Bond | 0.03005 | 0.045571 | 0.06035 | 6.5 | 1.67 -Neigh | 0.61326 | 0.61489 | 0.61678 | 0.2 | 22.53 -Comm | 0.14416 | 0.19908 | 0.25001 | 11.1 | 7.29 -Output | 0.0017405 | 0.0025188 | 0.0028143 | 0.9 | 0.09 -Modify | 1.522 | 1.6149 | 1.699 | 6.3 | 59.16 -Other | | 0.1489 | | | 5.46 - -Nlocal: 1400 ave 1868 max 905 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Nghost: 648.25 ave 688 max 598 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Neighs: 1202.5 ave 1821 max 698 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 4810 -Ave neighs/atom = 0.85892857 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 759 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule - 800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4387209 5.9077482 7.0377864 0.0036839327 7.1964276 62.244 62.244 62.244 0.025677952 -0.016670649 0.002044495 - 5100 1.4449629 5.8876265 7.0225675 0.0023125815 7.1221542 62.244 62.244 62.244 0.0045991271 0.0036872425 -0.0013486251 - 5200 1.4271279 5.9160281 7.0369606 0.0020315691 7.1244461 62.244 62.244 62.244 -0.0022476411 0.0039290288 0.0044133197 - 5300 1.4143266 5.9052803 7.0161581 0.0064093985 7.2921661 62.244 62.244 62.244 0.0090986577 0.0026397649 0.0074897729 - 5400 1.4426551 5.9087477 7.041876 0.0020419183 7.1298072 62.244 62.244 62.244 0.0043078454 1.5623413e-05 0.001802286 - 5500 1.4280605 5.9038941 7.0255591 0.00057730336 7.0504195 62.244 62.244 62.244 0.0058938228 0.00065558729 -0.0048175 - 5600 1.4315004 5.902394 7.0267609 0.0096531882 7.4424563 62.244 62.244 62.244 0.0054225258 0.011780272 0.011756766 - 5700 1.4074659 5.9076093 7.0130984 0.0052032455 7.2371658 62.244 62.244 62.244 0.0029612305 0.003678953 0.008969553 - 5800 1.4216898 5.9047983 7.0214595 0.0015109698 7.0865264 62.244 62.244 62.244 -6.4662019e-05 0.0023994389 0.0021981326 - 5900 1.4052133 5.8920187 6.9957385 0.0065755622 7.278902 62.244 62.244 62.244 0.0062703932 0.011367786 0.002088507 - 6000 1.3958734 5.9025061 6.9988899 0.0071783223 7.3080101 62.244 62.244 62.244 0.0088905564 0.0025533521 0.010091058 -Loop time of 0.646284 on 4 procs for 1000 steps with 5600 atoms - -Performance: 668436.315 tau/day, 1547.306 timesteps/s, 8.665 Matom-step/s -99.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01802 | 0.028926 | 0.041262 | 6.4 | 4.48 -Bond | 0.0066363 | 0.0098826 | 0.012811 | 2.9 | 1.53 -Neigh | 0.14233 | 0.14273 | 0.14311 | 0.1 | 22.08 -Comm | 0.029365 | 0.044453 | 0.057955 | 6.3 | 6.88 -Output | 0.00034317 | 0.00049475 | 0.00055796 | 0.0 | 0.08 -Modify | 0.35817 | 0.37856 | 0.40064 | 2.8 | 58.57 -Other | | 0.04124 | | | 6.38 - -Nlocal: 1400 ave 1850 max 932 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 642.25 ave 730 max 550 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Neighs: 1267.25 ave 1805 max 729 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 5069 -Ave neighs/atom = 0.90517857 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 154 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 - 800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.3958734 5.9025061 6.9988899 0.0021028569 7.0894453 62.244 62.244 62.244 0.013626393 0.019990521 -0.027308344 - 6100 1.403297 5.9008111 7.0030257 0.0034667159 7.152313 62.244 62.244 62.244 0.00094173119 0.0074633638 0.0019950526 - 6200 1.4025256 5.8966477 6.9982564 -0.00020483779 6.9894355 62.244 62.244 62.244 -0.0064238043 0.0010245391 0.0047847518 - 6300 1.4394011 5.9052004 7.0357728 0.0054604133 7.2709147 62.244 62.244 62.244 0.0096132747 0.002164465 0.0046035003 - 6400 1.408769 5.8824709 6.9889834 0.005608612 7.2305072 62.244 62.244 62.244 0.0042736813 0.0053311794 0.0072209755 - 6500 1.3956548 5.8831208 6.9793329 0.0085962528 7.3495135 62.244 62.244 62.244 0.0082055979 0.011231962 0.0063511989 - 6600 1.3758562 5.8829365 6.9635978 0.0065047826 7.2437134 62.244 62.244 62.244 0.005468046 0.0069917695 0.0070545323 - 6700 1.3804704 5.8923062 6.9765917 0.0057976076 7.2262542 62.244 62.244 62.244 0.0052851407 0.011935403 0.00017227886 - 6800 1.396967 5.8774293 6.974672 0.0018361999 7.0537443 62.244 62.244 62.244 1.5181397e-05 0.0031700121 0.0023234062 - 6900 1.3966118 5.8872183 6.9841821 0.0029553371 7.1114478 62.244 62.244 62.244 -0.0022750426 0.0055197498 0.005621304 - 7000 1.3992657 5.8918087 6.990857 0.0033614376 7.1356106 62.244 62.244 62.244 0.0019626838 -0.0019054573 0.010027086 -Loop time of 0.627583 on 4 procs for 1000 steps with 5600 atoms - -Performance: 688355.013 tau/day, 1593.414 timesteps/s, 8.923 Matom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.017522 | 0.028358 | 0.041297 | 6.2 | 4.52 -Bond | 0.0060681 | 0.0092563 | 0.012417 | 2.9 | 1.47 -Neigh | 0.13625 | 0.13667 | 0.13709 | 0.1 | 21.78 -Comm | 0.027966 | 0.043787 | 0.057522 | 6.2 | 6.98 -Output | 0.00035478 | 0.00049121 | 0.00055892 | 0.0 | 0.08 -Modify | 0.35811 | 0.37631 | 0.39333 | 2.6 | 59.96 -Other | | 0.03272 | | | 5.21 - -Nlocal: 1400 ave 1883 max 958 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 665 ave 803 max 565 min -Histogram: 1 1 0 0 0 1 0 0 0 1 -Neighs: 1272.25 ave 1895 max 762 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 5089 -Ave neighs/atom = 0.90875 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 150 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.3992657 5.8918087 6.990857 0.016459779 7.6996647 62.244 62.244 62.244 0.056781831 -0.019577361 0.012174866 - 7100 1.5086944 5.8706667 7.0556653 0.011656301 7.4412826 57.006966 57.006966 57.006966 0.015012728 0.015151838 0.0048043378 - 7200 1.5444857 5.8347072 7.047818 0.025893976 7.6357076 50.283831 50.283831 50.283831 0.021166084 0.027070838 0.029445006 - 7300 1.5460527 5.7950177 7.0093593 0.02162991 7.3688559 45.318555 45.318555 45.318555 0.014747735 0.037527921 0.012614075 - 7400 1.5613693 5.7516603 6.9780323 0.034798817 7.4279201 41.678228 41.678228 41.678228 0.041296806 0.025288632 0.037811012 - 7500 1.5582169 5.7359749 6.9598708 0.029878761 7.2757008 38.972622 38.972622 38.972622 0.031657651 0.020061922 0.037916711 - 7600 1.5578367 5.6988812 6.9224785 0.045695884 7.3351888 36.981577 36.981577 36.981577 0.040243029 0.039644927 0.057199697 - 7700 1.5148812 5.6528692 6.8427272 0.022439627 7.0209705 35.43196 35.43196 35.43196 0.010631952 0.017769669 0.03891726 - 7800 1.529109 5.6051059 6.8061392 0.054079172 7.1911354 34.161596 34.161596 34.161596 0.034939239 0.071325426 0.05597285 - 7900 1.5182819 5.5708546 6.7633838 0.066345571 7.1933547 33.108416 33.108416 33.108416 0.060359678 0.07068182 0.067995216 - 8000 1.4677372 5.5540248 6.7068537 0.033729921 6.90804 32.205032 32.205032 32.205032 0.049412183 0.016101823 0.035675755 -Loop time of 1.1282 on 4 procs for 1000 steps with 5600 atoms - -Performance: 382910.795 tau/day, 886.368 timesteps/s, 4.964 Matom-step/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.047245 | 0.075421 | 0.11065 | 10.1 | 6.69 -Bond | 0.0077964 | 0.011056 | 0.014794 | 2.9 | 0.98 -Neigh | 0.47306 | 0.4737 | 0.47434 | 0.1 | 41.99 -Comm | 0.047565 | 0.086613 | 0.11788 | 10.3 | 7.68 -Output | 0.00031206 | 0.00038703 | 0.00060877 | 0.0 | 0.03 -Modify | 0.43174 | 0.44726 | 0.46676 | 2.3 | 39.64 -Other | | 0.03376 | | | 2.99 - -Nlocal: 1400 ave 1845 max 1051 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 1558.25 ave 1732 max 1431 min -Histogram: 1 0 1 0 1 0 0 0 0 1 -Neighs: 6210.75 ave 9543 max 3698 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 24843 -Ave neighs/atom = 4.43625 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 335 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.567 | 7.579 | 7.596 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.4677372 5.5540248 6.7068537 -0.017850632 6.6003814 32.205032 32.205032 32.205032 -0.10278017 -0.1824093 0.23163757 - 8100 1.4540331 5.5388671 6.6809322 0.022562574 6.8139144 31.823315 32.205032 32.205032 0.028408548 0.028883436 0.010395737 - 8200 1.4702497 5.4971666 6.6519689 0.031541665 6.8340274 31.164985 32.205032 32.205032 0.05198967 0.017790558 0.024844767 - 8300 1.4895576 5.4752966 6.6452643 0.049612462 6.9245663 30.396516 32.205032 32.205032 0.050583662 0.041684528 0.056569197 - 8400 1.4546023 5.4627064 6.6052185 0.014637455 6.6862795 29.901065 32.205032 32.205032 0.022874978 -0.0061332581 0.027170646 - 8500 1.4485789 5.4330137 6.5707949 0.06887386 6.9450276 29.337823 32.205032 32.205032 0.082103679 0.041682043 0.082835857 - 8600 1.4443937 5.4261726 6.5606664 0.02551672 6.6959898 28.63444 32.205032 32.205032 0.028149026 0.066325162 -0.017924027 - 8700 1.4329121 5.409813 6.5352887 0.028828984 6.6848753 28.015854 32.205032 32.205032 0.015384578 0.050827744 0.02027463 - 8800 1.4015747 5.4009279 6.5017898 0.046423411 6.7374794 27.41221 32.205032 32.205032 0.099149897 0.019633915 0.020486421 - 8900 1.411353 5.3728016 6.4813438 0.046095308 6.711069 26.908695 32.205032 32.205032 0.04716092 0.029778906 0.061346098 - 9000 1.3987178 5.3528351 6.451453 0.029891295 6.5977498 26.425959 32.205032 32.205032 0.033096258 0.039059663 0.017517965 -Loop time of 1.05732 on 4 procs for 1000 steps with 5600 atoms - -Performance: 408581.873 tau/day, 945.791 timesteps/s, 5.296 Matom-step/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.084017 | 0.12178 | 0.1674 | 10.7 | 11.52 -Bond | 0.0087866 | 0.011339 | 0.014172 | 2.1 | 1.07 -Neigh | 0.35177 | 0.35194 | 0.35221 | 0.0 | 33.29 -Comm | 0.046529 | 0.094466 | 0.13331 | 12.7 | 8.93 -Output | 0.00031081 | 0.00038714 | 0.00061511 | 0.0 | 0.04 -Modify | 0.43779 | 0.45007 | 0.46334 | 1.8 | 42.57 -Other | | 0.02734 | | | 2.59 - -Nlocal: 1400 ave 1718 max 1133 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 1700.75 ave 1793 max 1533 min -Histogram: 1 0 0 0 0 0 1 0 0 2 -Neighs: 7936.75 ave 10967 max 5250 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 31747 -Ave neighs/atom = 5.6691071 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 169 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.568 | 7.58 | 7.597 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.3987178 5.3528351 6.451453 0.26585248 7.7526137 26.425959 32.205032 32.205032 0.02018168 0.47782722 0.29954855 - 9100 1.4351747 5.3304458 6.4576986 0.051746697 6.707501 26.305023 32.057649 32.057649 0.073064096 0.037508173 0.044667823 - 9200 1.442609 5.3185643 6.4516564 0.026933669 6.5768423 25.974904 31.655336 31.655336 0.0097800385 0.035425194 0.035595776 - 9300 1.4528107 5.2812305 6.4223354 0.074634951 6.7601945 25.747306 31.377965 31.377965 0.12937272 0.031196451 0.063335685 - 9400 1.4778194 5.2625966 6.4233445 0.0179548 6.5034822 25.626311 31.23051 31.23051 0.042627054 -0.047901197 0.059138542 - 9500 1.4406019 5.2661826 6.3976982 0.048963663 6.6143417 25.551982 31.139926 31.139926 0.097226703 -0.0051171725 0.054781458 - 9600 1.4463517 5.2420508 6.3780826 0.033338493 6.5253103 25.535743 31.120136 31.120136 0.013953126 0.066958907 0.019103444 - 9700 1.4040075 5.264089 6.3668617 0.075486855 6.6986983 25.496763 31.072631 31.072631 0.051974464 0.097239496 0.077246606 - 9800 1.4369291 5.25259 6.3812208 0.062882837 6.6532231 25.359898 30.905835 30.905835 0.088614069 0.087884794 0.012149647 - 9900 1.4426697 5.2270989 6.3602387 0.070910381 6.6603048 25.175015 30.68052 30.68052 0.081294501 0.056618911 0.07481773 - 10000 1.4714476 5.2051468 6.3608901 0.038441228 6.5234989 25.171919 30.676748 30.676748 0.021691591 0.0086967032 0.084935388 -Loop time of 1.07529 on 4 procs for 1000 steps with 5600 atoms - -Performance: 401751.573 tau/day, 929.980 timesteps/s, 5.208 Matom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.10178 | 0.14349 | 0.18701 | 10.0 | 13.34 -Bond | 0.0094369 | 0.011359 | 0.01342 | 1.5 | 1.06 -Neigh | 0.35737 | 0.35764 | 0.35787 | 0.0 | 33.26 -Comm | 0.048562 | 0.093503 | 0.13651 | 12.7 | 8.70 -Output | 0.00029714 | 0.00035903 | 0.0005404 | 0.0 | 0.03 -Modify | 0.43477 | 0.44365 | 0.45263 | 1.3 | 41.26 -Other | | 0.0253 | | | 2.35 - -Nlocal: 1400 ave 1650 max 1148 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Nghost: 1770.5 ave 1864 max 1640 min -Histogram: 1 0 0 0 0 1 0 0 1 1 -Neighs: 9370.75 ave 12213 max 6410 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 37483 -Ave neighs/atom = 6.6933929 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 162 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.569 | 7.58 | 7.597 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.4714476 5.2051468 6.3608901 -0.096738415 5.9516804 25.171919 30.676748 30.676748 -0.07465944 0.069571401 -0.28512721 - 10100 1.4336012 5.2129069 6.3389239 0.069305782 6.6336186 25.237381 30.756525 30.676748 0.1042358 0.062982076 0.040699467 - 10200 1.3850266 5.2255115 6.3133757 -0.026502584 6.1990129 25.423835 30.983755 30.676748 -0.018638813 -0.01225392 -0.048615018 - 10300 1.4059572 5.2273228 6.3316268 0.026841528 6.4477936 25.461278 31.029386 30.676748 0.0032748153 0.054971756 0.022278013 - 10400 1.4085811 5.2218002 6.3281652 0.087028058 6.7005137 25.315588 30.851835 30.676748 0.095488962 0.059423478 0.10617173 - 10500 1.4323046 5.1961285 6.321127 0.011963636 6.3715428 25.124329 30.61875 30.676748 0.047765438 -0.013073535 0.0011990069 - 10600 1.4401614 5.1744178 6.3055874 0.065577091 6.5770196 24.899891 30.345229 30.676748 0.05130409 0.11923748 0.026189709 - 10700 1.45262 5.1656069 6.3065622 0.019979844 6.3873914 24.616776 30.0002 30.676748 0.062077837 0.01564587 -0.017784176 - 10800 1.436593 5.1491998 6.2775666 0.06467682 6.5343926 24.388662 29.722201 30.676748 0.055509186 0.081686998 0.056834275 - 10900 1.4221057 5.1580272 6.2750151 0.10779715 6.6964287 24.198783 29.490797 30.676748 0.11821126 0.13388181 0.071298392 - 11000 1.4318097 5.1652839 6.2898937 0.12207839 6.7635101 24.106649 29.378514 30.676748 0.13281999 0.095712525 0.13770264 -Loop time of 1.05977 on 4 procs for 1000 steps with 5600 atoms - -Performance: 407635.235 tau/day, 943.600 timesteps/s, 5.284 Matom-step/s -99.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11531 | 0.15482 | 0.18642 | 8.0 | 14.61 -Bond | 0.0095915 | 0.011316 | 0.012716 | 1.2 | 1.07 -Neigh | 0.34708 | 0.34732 | 0.34748 | 0.0 | 32.77 -Comm | 0.050629 | 0.082561 | 0.12326 | 11.1 | 7.79 -Output | 0.00029841 | 0.00036751 | 0.00057311 | 0.0 | 0.03 -Modify | 0.43421 | 0.44242 | 0.45027 | 0.9 | 41.75 -Other | | 0.02097 | | | 1.98 - -Nlocal: 1400 ave 1551 max 1205 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Nghost: 1831.5 ave 1910 max 1688 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Neighs: 10203.8 ave 12647 max 7619 min -Histogram: 1 0 1 0 0 0 0 1 0 1 - -Total # of neighbors = 40815 -Ave neighs/atom = 7.2883929 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 161 -Dangerous builds = 0 - -Total wall time: 0:00:08 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 new file mode 100644 index 0000000000..e3e539eada --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.109 | 4.109 | 4.109 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.153749 on 1 procs for 10000 steps with 81 atoms + +Performance: 561955.786 tau/day, 65041.179 timesteps/s +98.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0098538 | 0.0098538 | 0.0098538 | 0.0 | 6.41 +Neigh | 0.040308 | 0.040308 | 0.040308 | 0.0 | 26.22 +Comm | 0.013034 | 0.013034 | 0.013034 | 0.0 | 8.48 +Output | 0.0017202 | 0.0017202 | 0.0017202 | 0.0 | 1.12 +Modify | 0.083709 | 0.083709 | 0.083709 | 0.0 | 54.45 +Other | | 0.005123 | | | 3.33 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 new file mode 100644 index 0000000000..1e28766101 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.174 | 4.455 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.202963 on 4 procs for 10000 steps with 81 atoms + +Performance: 425693.239 tau/day, 49270.051 timesteps/s +89.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0025978 | 0.0033882 | 0.0042055 | 1.0 | 1.67 +Neigh | 0.012025 | 0.013416 | 0.01623 | 1.4 | 6.61 +Comm | 0.080375 | 0.087468 | 0.090782 | 1.4 | 43.10 +Output | 0.0031407 | 0.0039954 | 0.0065427 | 2.3 | 1.97 +Modify | 0.086613 | 0.087285 | 0.087619 | 0.1 | 43.01 +Other | | 0.00741 | | | 3.65 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 new file mode 100644 index 0000000000..58834ebf3d --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.984 | 3.984 | 3.984 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.15622 on 1 procs for 10000 steps with 81 atoms + +Performance: 553065.489 tau/day, 64012.209 timesteps/s +95.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0098181 | 0.0098181 | 0.0098181 | 0.0 | 6.28 +Neigh | 0.040912 | 0.040912 | 0.040912 | 0.0 | 26.19 +Comm | 0.013111 | 0.013111 | 0.013111 | 0.0 | 8.39 +Output | 0.0016305 | 0.0016305 | 0.0016305 | 0.0 | 1.04 +Modify | 0.085361 | 0.085361 | 0.085361 | 0.0 | 54.64 +Other | | 0.005387 | | | 3.45 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 new file mode 100644 index 0000000000..42b8a52768 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.955 | 4.049 | 4.33 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.199799 on 4 procs for 10000 steps with 81 atoms + +Performance: 432434.078 tau/day, 50050.241 timesteps/s +91.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.002665 | 0.0034567 | 0.0040557 | 0.9 | 1.73 +Neigh | 0.012185 | 0.013168 | 0.014083 | 0.8 | 6.59 +Comm | 0.079331 | 0.082804 | 0.084927 | 0.7 | 41.44 +Output | 0.0031595 | 0.0039212 | 0.0061827 | 2.1 | 1.96 +Modify | 0.088465 | 0.090202 | 0.091938 | 0.4 | 45.15 +Other | | 0.006247 | | | 3.13 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.1 b/examples/rigid/log.27Nov18.rigid.early.g++.1 new file mode 100644 index 0000000000..3c8022423f --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.early.g++.1 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.152593 on 1 procs for 10000 steps with 81 atoms + +Performance: 566210.692 tau/day, 65533.645 timesteps/s +96.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0098324 | 0.0098324 | 0.0098324 | 0.0 | 6.44 +Neigh | 0.040376 | 0.040376 | 0.040376 | 0.0 | 26.46 +Comm | 0.012246 | 0.012246 | 0.012246 | 0.0 | 8.03 +Output | 0.0016036 | 0.0016036 | 0.0016036 | 0.0 | 1.05 +Modify | 0.083605 | 0.083605 | 0.083605 | 0.0 | 54.79 +Other | | 0.00493 | | | 3.23 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.4 b/examples/rigid/log.27Nov18.rigid.early.g++.4 new file mode 100644 index 0000000000..91f091b799 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.early.g++.4 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.198859 on 4 procs for 10000 steps with 81 atoms + +Performance: 434479.274 tau/day, 50286.953 timesteps/s +91.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.002526 | 0.0034331 | 0.0041001 | 1.0 | 1.73 +Neigh | 0.012097 | 0.013092 | 0.013992 | 0.8 | 6.58 +Comm | 0.075266 | 0.07972 | 0.084679 | 1.2 | 40.09 +Output | 0.0030892 | 0.0043746 | 0.0081537 | 3.3 | 2.20 +Modify | 0.088037 | 0.091924 | 0.095021 | 0.9 | 46.23 +Other | | 0.006316 | | | 3.18 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.1 b/examples/rigid/log.27Nov18.rigid.g++.1 new file mode 100644 index 0000000000..9dff202069 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.g++.1 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.152143 on 1 procs for 10000 steps with 81 atoms + +Performance: 567885.005 tau/day, 65727.431 timesteps/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0097773 | 0.0097773 | 0.0097773 | 0.0 | 6.43 +Neigh | 0.040602 | 0.040602 | 0.040602 | 0.0 | 26.69 +Comm | 0.012049 | 0.012049 | 0.012049 | 0.0 | 7.92 +Output | 0.0016172 | 0.0016172 | 0.0016172 | 0.0 | 1.06 +Modify | 0.083104 | 0.083104 | 0.083104 | 0.0 | 54.62 +Other | | 0.004994 | | | 3.28 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.4 b/examples/rigid/log.27Nov18.rigid.g++.4 new file mode 100644 index 0000000000..36e602f1f1 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.g++.4 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.201762 on 4 procs for 10000 steps with 81 atoms + +Performance: 428226.262 tau/day, 49563.225 timesteps/s +89.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0025356 | 0.0033935 | 0.0042305 | 1.0 | 1.68 +Neigh | 0.012009 | 0.012959 | 0.015092 | 1.1 | 6.42 +Comm | 0.07666 | 0.086213 | 0.092506 | 2.0 | 42.73 +Output | 0.0032623 | 0.0052034 | 0.011 | 4.6 | 2.58 +Modify | 0.084815 | 0.087869 | 0.089999 | 0.6 | 43.55 +Other | | 0.006125 | | | 3.04 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 new file mode 100644 index 0000000000..1e426d397e --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.04852143 0 5269.4761 12.385777 + 4800 16735.057 1.0347216 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908974 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 + 5350 16738.479 -0.020383841 0 5269.5007 13.089897 + 5400 16735.845 0.7988947 0 5269.4909 13.136244 + 5450 16735.558 0.87620022 0 5269.4778 12.324482 + 5500 16711.494 8.4724178 0 5269.4984 12.656579 + 5550 16454.525 89.074815 0 5269.2031 16.996503 + 5600 16713.084 7.9801418 0 5269.5065 13.774979 + 5650 16738.676 -0.079987748 0 5269.5033 13.168297 + 5700 16446.281 91.866085 0 5269.399 23.764663 + 5750 16738.549 -0.039869084 0 5269.5034 13.378122 + 5800 16738.487 -0.014994478 0 5269.5086 13.378399 + 5850 16738.466 -0.0051267616 0 5269.512 13.37856 + 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 + 5950 16738.528 -0.032727415 0 5269.5039 13.378197 + 6000 16702.774 10.969438 0 5269.2502 13.788852 + 6050 16682.271 17.483137 0 5269.3092 13.353101 + 6100 16738.508 -0.028838222 0 5269.5016 12.521084 + 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 + 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 + 6250 16738.455 0 0 5269.5135 12.52141 + 6300 16738.523 0 0 5269.5352 12.52158 + 6350 16738.503 0 0 5269.5287 12.521531 + 6400 16738.427 0 0 5269.5047 12.521344 + 6450 16738.399 0 0 5269.496 12.521274 + 6500 16738.425 0 0 5269.5042 12.521337 + 6550 16738.441 0 0 5269.5093 12.521378 + 6600 16738.42 0 0 5269.5025 12.521326 + 6650 16738.398 0 0 5269.4957 12.521272 + 6700 16738.435 0 0 5269.5074 12.521362 + 6750 16738.505 0 0 5269.5293 12.521534 + 6800 16738.508 0 0 5269.5303 12.521543 + 6850 16738.446 0 0 5269.5108 12.521391 + 6900 16738.414 0 0 5269.5009 12.521312 + 6950 16738.432 0 0 5269.5063 12.521354 + 7000 16738.444 0 0 5269.5102 12.521385 + 7050 16738.421 0 0 5269.5029 12.521329 + 7100 16738.393 0 0 5269.4941 12.521259 + 7150 16738.419 0 0 5269.5022 12.521322 + 7200 16738.489 0 0 5269.5244 12.521495 + 7250 16738.505 0 0 5269.5293 12.521535 + 7300 16738.443 0 0 5269.5098 12.521383 + 7350 16738.404 0 0 5269.4976 12.521287 + 7400 16738.43 0 0 5269.5058 12.52135 + 7450 16738.461 0 0 5269.5156 12.521427 + 7500 16738.447 0 0 5269.5109 12.521392 + 7550 16738.407 0 0 5269.4986 12.521295 + 7600 16738.412 0 0 5269.5002 12.521306 + 7650 16738.478 0 0 5269.5208 12.521467 + 7700 16738.51 0 0 5269.5309 12.521547 + 7750 16738.454 0 0 5269.5135 12.521412 + 7800 16738.398 0 0 5269.4958 12.521273 + 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 + 7900 16738.441 -0.00021679711 0 5269.509 12.521373 + 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 + 8000 16738.423 0 0 5269.5035 12.521333 + 8050 16738.423 0 0 5269.5034 12.521332 + 8100 16738.478 -0.00069622994 0 5269.52 12.521454 + 8150 16738.523 -0.0040058408 0 5269.531 12.521501 + 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 + 8250 16738.458 -0.023189671 0 5269.4914 12.521014 + 8300 16738.513 -0.045845677 0 5269.4861 12.520779 + 8350 16723.745 4.5690412 0 5269.4516 12.849325 + 8400 16738.466 -0.020158442 0 5269.497 12.835773 + 8450 16738.437 -0.012822892 0 5269.4952 12.829936 + 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 + 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 + 8600 16738.669 -0.050578079 0 5269.5304 12.829934 + 8650 15917.563 250.28318 0 5261.3678 24.54572 + 8700 16738.445 0.0012168759 0 5269.5117 10.589499 + 8750 16738.473 -0.010164589 0 5269.509 10.588414 + 8800 16738.468 0 0 5269.5177 10.588633 + 8850 16738.508 0 0 5269.5304 10.588733 + 8900 16738.509 0 0 5269.5307 10.588736 + 8950 16738.496 0 0 5269.5266 10.588705 + 9000 16738.477 0 0 5269.5204 10.588656 + 9050 16738.455 0 0 5269.5135 10.588602 + 9100 16738.477 0 0 5269.5206 10.588656 + 9150 16738.512 0 0 5269.5316 10.588743 + 9200 16738.502 0 0 5269.5285 10.58872 + 9250 16738.493 0 0 5269.5255 10.588696 + 9300 16738.482 0 0 5269.522 10.588669 + 9350 16738.46 0 0 5269.5151 10.588615 + 9400 16738.481 0 0 5269.5217 10.588665 + 9450 16738.509 0 0 5269.5307 10.588736 + 9500 16738.491 0 0 5269.5248 10.58869 + 9550 16738.484 0 0 5269.5227 10.588674 + 9600 16738.483 0 0 5269.5223 10.588671 + 9650 16738.464 0 0 5269.5166 10.588626 + 9700 16738.484 0 0 5269.5229 10.588674 + 9750 16738.507 0 0 5269.5301 10.588731 + 9800 16738.482 0 0 5269.5221 10.588669 + 9850 16738.478 0 0 5269.5208 10.588659 + 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 + 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 + 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 +Loop time of 0.168577 on 1 procs for 10000 steps with 81 atoms + +Performance: 512524.843 tau/day, 59320.005 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.010812 | 0.010812 | 0.010812 | 0.0 | 6.41 +Neigh | 0.04144 | 0.04144 | 0.04144 | 0.0 | 24.58 +Comm | 0.012082 | 0.012082 | 0.012082 | 0.0 | 7.17 +Output | 0.0016394 | 0.0016394 | 0.0016394 | 0.0 | 0.97 +Modify | 0.097466 | 0.097466 | 0.097466 | 0.0 | 57.82 +Other | | 0.005139 | | | 3.05 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 49 ave 49 max 49 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 new file mode 100644 index 0000000000..5b775d969a --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.048521428 0 5269.4761 12.385777 + 4800 16735.057 1.0347217 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908973 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 + 5350 16738.479 -0.020383842 0 5269.5007 13.089897 + 5400 16735.845 0.79889474 0 5269.4909 13.136244 + 5450 16735.558 0.87619992 0 5269.4778 12.324482 + 5500 16711.494 8.4724208 0 5269.4984 12.656579 + 5550 16454.525 89.074816 0 5269.2031 16.996503 + 5600 16713.084 7.9801334 0 5269.5065 13.774977 + 5650 16738.676 -0.079987764 0 5269.5033 13.168295 + 5700 16446.281 91.866085 0 5269.399 23.764662 + 5750 16738.549 -0.039869084 0 5269.5034 13.378121 + 5800 16738.487 -0.014994475 0 5269.5086 13.378397 + 5850 16738.466 -0.0051267556 0 5269.512 13.378559 + 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 + 5950 16738.528 -0.03272741 0 5269.5039 13.378195 + 6000 16702.774 10.969434 0 5269.2502 13.788851 + 6050 16682.271 17.483158 0 5269.3092 13.3531 + 6100 16738.508 -0.028838239 0 5269.5016 12.521082 + 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 + 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 + 6250 16738.455 0 0 5269.5135 12.521408 + 6300 16738.523 0 0 5269.5352 12.521578 + 6350 16738.503 0 0 5269.5287 12.52153 + 6400 16738.427 0 0 5269.5047 12.521342 + 6450 16738.399 0 0 5269.496 12.521273 + 6500 16738.425 0 0 5269.5042 12.521336 + 6550 16738.441 0 0 5269.5093 12.521377 + 6600 16738.42 0 0 5269.5025 12.521324 + 6650 16738.398 0 0 5269.4957 12.52127 + 6700 16738.435 0 0 5269.5074 12.52136 + 6750 16738.505 0 0 5269.5293 12.521532 + 6800 16738.508 0 0 5269.5303 12.521541 + 6850 16738.446 0 0 5269.5108 12.521389 + 6900 16738.414 0 0 5269.5009 12.521311 + 6950 16738.432 0 0 5269.5063 12.521353 + 7000 16738.444 0 0 5269.5102 12.521383 + 7050 16738.421 0 0 5269.5029 12.521327 + 7100 16738.393 0 0 5269.4941 12.521258 + 7150 16738.419 0 0 5269.5022 12.52132 + 7200 16738.489 0 0 5269.5244 12.521494 + 7250 16738.505 0 0 5269.5293 12.521533 + 7300 16738.443 0 0 5269.5098 12.521381 + 7350 16738.404 0 0 5269.4976 12.521285 + 7400 16738.43 0 0 5269.5058 12.521348 + 7450 16738.461 0 0 5269.5156 12.521425 + 7500 16738.447 0 0 5269.5109 12.52139 + 7550 16738.407 0 0 5269.4986 12.521293 + 7600 16738.412 0 0 5269.5002 12.521305 + 7650 16738.478 0 0 5269.5208 12.521465 + 7700 16738.51 0 0 5269.5309 12.521546 + 7750 16738.454 0 0 5269.5135 12.52141 + 7800 16738.398 0 0 5269.4958 12.521272 + 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 + 7900 16738.441 -0.0002167964 0 5269.509 12.521371 + 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 + 8000 16738.423 0 0 5269.5035 12.521331 + 8050 16738.423 0 0 5269.5034 12.52133 + 8100 16738.478 -0.00069623408 0 5269.52 12.521452 + 8150 16738.523 -0.0040058355 0 5269.531 12.521499 + 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 + 8250 16738.458 -0.023189665 0 5269.4914 12.521012 + 8300 16738.513 -0.045846242 0 5269.4861 12.520778 + 8350 16723.742 4.5698786 0 5269.4516 12.849386 + 8400 16738.466 -0.02016972 0 5269.497 12.835784 + 8450 16738.437 -0.012822703 0 5269.4952 12.829948 + 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 + 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 + 8600 16738.669 -0.050578946 0 5269.5304 12.829946 + 8650 15917.707 250.24016 0 5261.3702 24.544744 + 8700 16738.445 0.0010615265 0 5269.5117 10.589987 + 8750 16738.473 -0.010158834 0 5269.509 10.588904 + 8800 16738.468 0 0 5269.5176 10.589124 + 8850 16738.508 0 0 5269.5304 10.589223 + 8900 16738.509 0 0 5269.5306 10.589226 + 8950 16738.496 0 0 5269.5266 10.589195 + 9000 16738.477 0 0 5269.5204 10.589147 + 9050 16738.455 0 0 5269.5135 10.589092 + 9100 16738.477 0 0 5269.5206 10.589146 + 9150 16738.512 0 0 5269.5316 10.589233 + 9200 16738.502 0 0 5269.5285 10.58921 + 9250 16738.493 0 0 5269.5255 10.589186 + 9300 16738.482 0 0 5269.522 10.589159 + 9350 16738.46 0 0 5269.5151 10.589105 + 9400 16738.481 0 0 5269.5217 10.589155 + 9450 16738.509 0 0 5269.5307 10.589226 + 9500 16738.491 0 0 5269.5248 10.589181 + 9550 16738.484 0 0 5269.5227 10.589164 + 9600 16738.483 0 0 5269.5223 10.589161 + 9650 16738.464 0 0 5269.5166 10.589116 + 9700 16738.484 0 0 5269.5228 10.589164 + 9750 16738.507 0 0 5269.5301 10.589221 + 9800 16738.482 0 0 5269.5221 10.589159 + 9850 16738.478 0 0 5269.5208 10.589149 + 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 + 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 + 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 +Loop time of 0.213152 on 4 procs for 10000 steps with 81 atoms + +Performance: 405345.239 tau/day, 46914.958 timesteps/s +91.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0029514 | 0.0038354 | 0.005348 | 1.5 | 1.80 +Neigh | 0.01178 | 0.013139 | 0.0167 | 1.8 | 6.16 +Comm | 0.073879 | 0.078553 | 0.081131 | 1.0 | 36.85 +Output | 0.0031943 | 0.0037987 | 0.0055451 | 1.6 | 1.78 +Modify | 0.10553 | 0.10763 | 0.1096 | 0.4 | 50.49 +Other | | 0.0062 | | | 2.91 + +Nlocal: 20.25 ave 34 max 9 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 38.5 ave 43 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.75 ave 2 max 0 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.g++.1 new file mode 100644 index 0000000000..c3805dc42e --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.g++.1 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.04852143 0 5269.4761 12.385777 + 4800 16735.057 1.0347216 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908974 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 + 5350 16738.479 -0.020383841 0 5269.5007 13.089897 + 5400 16735.845 0.7988947 0 5269.4909 13.136244 + 5450 16735.558 0.87620022 0 5269.4778 12.324482 + 5500 16711.494 8.4724178 0 5269.4984 12.656579 + 5550 16454.525 89.074815 0 5269.2031 16.996503 + 5600 16713.084 7.9801418 0 5269.5065 13.774979 + 5650 16738.676 -0.079987748 0 5269.5033 13.168297 + 5700 16446.281 91.866085 0 5269.399 23.764663 + 5750 16738.549 -0.039869084 0 5269.5034 13.378122 + 5800 16738.487 -0.014994478 0 5269.5086 13.378399 + 5850 16738.466 -0.0051267616 0 5269.512 13.37856 + 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 + 5950 16738.528 -0.032727415 0 5269.5039 13.378197 + 6000 16702.774 10.969438 0 5269.2502 13.788852 + 6050 16682.271 17.483137 0 5269.3092 13.353101 + 6100 16738.508 -0.028838222 0 5269.5016 12.521084 + 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 + 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 + 6250 16738.455 0 0 5269.5135 12.52141 + 6300 16738.523 0 0 5269.5352 12.52158 + 6350 16738.503 0 0 5269.5287 12.521531 + 6400 16738.427 0 0 5269.5047 12.521344 + 6450 16738.399 0 0 5269.496 12.521274 + 6500 16738.425 0 0 5269.5042 12.521337 + 6550 16738.441 0 0 5269.5093 12.521378 + 6600 16738.42 0 0 5269.5025 12.521326 + 6650 16738.398 0 0 5269.4957 12.521272 + 6700 16738.435 0 0 5269.5074 12.521362 + 6750 16738.505 0 0 5269.5293 12.521534 + 6800 16738.508 0 0 5269.5303 12.521543 + 6850 16738.446 0 0 5269.5108 12.521391 + 6900 16738.414 0 0 5269.5009 12.521312 + 6950 16738.432 0 0 5269.5063 12.521354 + 7000 16738.444 0 0 5269.5102 12.521385 + 7050 16738.421 0 0 5269.5029 12.521329 + 7100 16738.393 0 0 5269.4941 12.521259 + 7150 16738.419 0 0 5269.5022 12.521322 + 7200 16738.489 0 0 5269.5244 12.521495 + 7250 16738.505 0 0 5269.5293 12.521535 + 7300 16738.443 0 0 5269.5098 12.521383 + 7350 16738.404 0 0 5269.4976 12.521287 + 7400 16738.43 0 0 5269.5058 12.52135 + 7450 16738.461 0 0 5269.5156 12.521427 + 7500 16738.447 0 0 5269.5109 12.521392 + 7550 16738.407 0 0 5269.4986 12.521295 + 7600 16738.412 0 0 5269.5002 12.521306 + 7650 16738.478 0 0 5269.5208 12.521467 + 7700 16738.51 0 0 5269.5309 12.521547 + 7750 16738.454 0 0 5269.5135 12.521412 + 7800 16738.398 0 0 5269.4958 12.521273 + 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 + 7900 16738.441 -0.00021679711 0 5269.509 12.521373 + 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 + 8000 16738.423 0 0 5269.5035 12.521333 + 8050 16738.423 0 0 5269.5034 12.521332 + 8100 16738.478 -0.00069622994 0 5269.52 12.521454 + 8150 16738.523 -0.0040058408 0 5269.531 12.521501 + 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 + 8250 16738.458 -0.023189671 0 5269.4914 12.521014 + 8300 16738.513 -0.045845677 0 5269.4861 12.520779 + 8350 16723.745 4.5690412 0 5269.4516 12.849325 + 8400 16738.466 -0.020158442 0 5269.497 12.835773 + 8450 16738.437 -0.012822892 0 5269.4952 12.829936 + 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 + 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 + 8600 16738.669 -0.050578079 0 5269.5304 12.829934 + 8650 15917.563 250.28318 0 5261.3678 24.54572 + 8700 16738.445 0.0012168759 0 5269.5117 10.589499 + 8750 16738.473 -0.010164589 0 5269.509 10.588414 + 8800 16738.468 0 0 5269.5177 10.588633 + 8850 16738.508 0 0 5269.5304 10.588733 + 8900 16738.509 0 0 5269.5307 10.588736 + 8950 16738.496 0 0 5269.5266 10.588705 + 9000 16738.477 0 0 5269.5204 10.588656 + 9050 16738.455 0 0 5269.5135 10.588602 + 9100 16738.477 0 0 5269.5206 10.588656 + 9150 16738.512 0 0 5269.5316 10.588743 + 9200 16738.502 0 0 5269.5285 10.58872 + 9250 16738.493 0 0 5269.5255 10.588696 + 9300 16738.482 0 0 5269.522 10.588669 + 9350 16738.46 0 0 5269.5151 10.588615 + 9400 16738.481 0 0 5269.5217 10.588665 + 9450 16738.509 0 0 5269.5307 10.588736 + 9500 16738.491 0 0 5269.5248 10.58869 + 9550 16738.484 0 0 5269.5227 10.588674 + 9600 16738.483 0 0 5269.5223 10.588671 + 9650 16738.464 0 0 5269.5166 10.588626 + 9700 16738.484 0 0 5269.5229 10.588674 + 9750 16738.507 0 0 5269.5301 10.588731 + 9800 16738.482 0 0 5269.5221 10.588669 + 9850 16738.478 0 0 5269.5208 10.588659 + 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 + 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 + 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 +Loop time of 0.171181 on 1 procs for 10000 steps with 81 atoms + +Performance: 504728.317 tau/day, 58417.629 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.011004 | 0.011004 | 0.011004 | 0.0 | 6.43 +Neigh | 0.041984 | 0.041984 | 0.041984 | 0.0 | 24.53 +Comm | 0.012262 | 0.012262 | 0.012262 | 0.0 | 7.16 +Output | 0.0017002 | 0.0017002 | 0.0017002 | 0.0 | 0.99 +Modify | 0.098894 | 0.098894 | 0.098894 | 0.0 | 57.77 +Other | | 0.005337 | | | 3.12 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 49 ave 49 max 49 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.g++.4 new file mode 100644 index 0000000000..bc79d9730f --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.g++.4 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.048521428 0 5269.4761 12.385777 + 4800 16735.057 1.0347217 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908973 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 + 5350 16738.479 -0.020383842 0 5269.5007 13.089897 + 5400 16735.845 0.79889474 0 5269.4909 13.136244 + 5450 16735.558 0.87619992 0 5269.4778 12.324482 + 5500 16711.494 8.4724208 0 5269.4984 12.656579 + 5550 16454.525 89.074816 0 5269.2031 16.996503 + 5600 16713.084 7.9801334 0 5269.5065 13.774977 + 5650 16738.676 -0.079987764 0 5269.5033 13.168295 + 5700 16446.281 91.866085 0 5269.399 23.764662 + 5750 16738.549 -0.039869084 0 5269.5034 13.378121 + 5800 16738.487 -0.014994475 0 5269.5086 13.378397 + 5850 16738.466 -0.0051267556 0 5269.512 13.378559 + 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 + 5950 16738.528 -0.03272741 0 5269.5039 13.378195 + 6000 16702.774 10.969434 0 5269.2502 13.788851 + 6050 16682.271 17.483158 0 5269.3092 13.3531 + 6100 16738.508 -0.028838239 0 5269.5016 12.521082 + 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 + 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 + 6250 16738.455 0 0 5269.5135 12.521408 + 6300 16738.523 0 0 5269.5352 12.521578 + 6350 16738.503 0 0 5269.5287 12.52153 + 6400 16738.427 0 0 5269.5047 12.521342 + 6450 16738.399 0 0 5269.496 12.521273 + 6500 16738.425 0 0 5269.5042 12.521336 + 6550 16738.441 0 0 5269.5093 12.521377 + 6600 16738.42 0 0 5269.5025 12.521324 + 6650 16738.398 0 0 5269.4957 12.52127 + 6700 16738.435 0 0 5269.5074 12.52136 + 6750 16738.505 0 0 5269.5293 12.521532 + 6800 16738.508 0 0 5269.5303 12.521541 + 6850 16738.446 0 0 5269.5108 12.521389 + 6900 16738.414 0 0 5269.5009 12.521311 + 6950 16738.432 0 0 5269.5063 12.521353 + 7000 16738.444 0 0 5269.5102 12.521383 + 7050 16738.421 0 0 5269.5029 12.521327 + 7100 16738.393 0 0 5269.4941 12.521258 + 7150 16738.419 0 0 5269.5022 12.52132 + 7200 16738.489 0 0 5269.5244 12.521494 + 7250 16738.505 0 0 5269.5293 12.521533 + 7300 16738.443 0 0 5269.5098 12.521381 + 7350 16738.404 0 0 5269.4976 12.521285 + 7400 16738.43 0 0 5269.5058 12.521348 + 7450 16738.461 0 0 5269.5156 12.521425 + 7500 16738.447 0 0 5269.5109 12.52139 + 7550 16738.407 0 0 5269.4986 12.521293 + 7600 16738.412 0 0 5269.5002 12.521305 + 7650 16738.478 0 0 5269.5208 12.521465 + 7700 16738.51 0 0 5269.5309 12.521546 + 7750 16738.454 0 0 5269.5135 12.52141 + 7800 16738.398 0 0 5269.4958 12.521272 + 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 + 7900 16738.441 -0.0002167964 0 5269.509 12.521371 + 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 + 8000 16738.423 0 0 5269.5035 12.521331 + 8050 16738.423 0 0 5269.5034 12.52133 + 8100 16738.478 -0.00069623408 0 5269.52 12.521452 + 8150 16738.523 -0.0040058355 0 5269.531 12.521499 + 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 + 8250 16738.458 -0.023189665 0 5269.4914 12.521012 + 8300 16738.513 -0.045846242 0 5269.4861 12.520778 + 8350 16723.742 4.5698786 0 5269.4516 12.849386 + 8400 16738.466 -0.02016972 0 5269.497 12.835784 + 8450 16738.437 -0.012822703 0 5269.4952 12.829948 + 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 + 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 + 8600 16738.669 -0.050578946 0 5269.5304 12.829946 + 8650 15917.707 250.24016 0 5261.3702 24.544744 + 8700 16738.445 0.0010615265 0 5269.5117 10.589987 + 8750 16738.473 -0.010158834 0 5269.509 10.588904 + 8800 16738.468 0 0 5269.5176 10.589124 + 8850 16738.508 0 0 5269.5304 10.589223 + 8900 16738.509 0 0 5269.5306 10.589226 + 8950 16738.496 0 0 5269.5266 10.589195 + 9000 16738.477 0 0 5269.5204 10.589147 + 9050 16738.455 0 0 5269.5135 10.589092 + 9100 16738.477 0 0 5269.5206 10.589146 + 9150 16738.512 0 0 5269.5316 10.589233 + 9200 16738.502 0 0 5269.5285 10.58921 + 9250 16738.493 0 0 5269.5255 10.589186 + 9300 16738.482 0 0 5269.522 10.589159 + 9350 16738.46 0 0 5269.5151 10.589105 + 9400 16738.481 0 0 5269.5217 10.589155 + 9450 16738.509 0 0 5269.5307 10.589226 + 9500 16738.491 0 0 5269.5248 10.589181 + 9550 16738.484 0 0 5269.5227 10.589164 + 9600 16738.483 0 0 5269.5223 10.589161 + 9650 16738.464 0 0 5269.5166 10.589116 + 9700 16738.484 0 0 5269.5228 10.589164 + 9750 16738.507 0 0 5269.5301 10.589221 + 9800 16738.482 0 0 5269.5221 10.589159 + 9850 16738.478 0 0 5269.5208 10.589149 + 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 + 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 + 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 +Loop time of 0.212511 on 4 procs for 10000 steps with 81 atoms + +Performance: 406566.385 tau/day, 47056.295 timesteps/s +91.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0032909 | 0.0039915 | 0.0048544 | 0.9 | 1.88 +Neigh | 0.011434 | 0.01325 | 0.016991 | 1.9 | 6.24 +Comm | 0.076038 | 0.082493 | 0.088069 | 1.5 | 38.82 +Output | 0.0031183 | 0.0045295 | 0.0086036 | 3.5 | 2.13 +Modify | 0.099662 | 0.10206 | 0.10679 | 0.9 | 48.02 +Other | | 0.00619 | | | 2.91 + +Nlocal: 20.25 ave 34 max 9 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 38.5 ave 43 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.75 ave 2 max 0 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.1 b/examples/rigid/log.27Nov18.rigid.property.g++.1 new file mode 100644 index 0000000000..e6ab4ed102 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.property.g++.1 @@ -0,0 +1,340 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Bodies + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.046 | 4.046 | 4.046 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.156049 on 1 procs for 10000 steps with 81 atoms + +Performance: 553673.043 tau/day, 64082.528 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.010187 | 0.010187 | 0.010187 | 0.0 | 6.53 +Neigh | 0.040601 | 0.040601 | 0.040601 | 0.0 | 26.02 +Comm | 0.013221 | 0.013221 | 0.013221 | 0.0 | 8.47 +Output | 0.0016611 | 0.0016611 | 0.0016611 | 0.0 | 1.06 +Modify | 0.085107 | 0.085107 | 0.085107 | 0.0 | 54.54 +Other | | 0.005271 | | | 3.38 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.4 b/examples/rigid/log.27Nov18.rigid.property.g++.4 new file mode 100644 index 0000000000..f63e34bc4b --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.property.g++.4 @@ -0,0 +1,340 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Bodies + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.017 | 4.111 | 4.392 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.198069 on 4 procs for 10000 steps with 81 atoms + +Performance: 436211.675 tau/day, 50487.462 timesteps/s +91.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0026007 | 0.0034987 | 0.0043218 | 1.0 | 1.77 +Neigh | 0.012213 | 0.013261 | 0.014237 | 0.8 | 6.70 +Comm | 0.073581 | 0.082048 | 0.087982 | 2.1 | 41.42 +Output | 0.0047908 | 0.0058783 | 0.009093 | 2.4 | 2.97 +Modify | 0.081998 | 0.086993 | 0.09176 | 1.4 | 43.92 +Other | | 0.00639 | | | 3.23 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.1 b/examples/rigid/log.27Nov18.rigid.tnr.g++.1 new file mode 100644 index 0000000000..bf29e0b94b --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.tnr.g++.1 @@ -0,0 +1,458 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule +800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.769 | 7.769 | 7.769 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 + 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 + 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 + 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 + 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 + 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 + 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 + 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 + 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 + 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 + 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 + 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 + 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 + 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 + 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 + 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 + 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 + 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 + 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 + 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 + 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 + 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 + 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 + 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 + 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 + 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 + 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 + 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 + 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 + 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 + 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 + 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 + 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 + 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 + 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 + 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 + 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 + 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 + 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 + 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 + 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 + 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 + 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 + 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 + 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 + 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 + 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 + 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 + 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 + 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 +Loop time of 6.84203 on 1 procs for 5000 steps with 5600 atoms + +Performance: 315695.745 tau/day, 730.777 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.53182 | 0.53182 | 0.53182 | 0.0 | 7.77 +Bond | 0.18231 | 0.18231 | 0.18231 | 0.0 | 2.66 +Neigh | 1.8709 | 1.8709 | 1.8709 | 0.0 | 27.34 +Comm | 0.18452 | 0.18452 | 0.18452 | 0.0 | 2.70 +Output | 0.0043087 | 0.0043087 | 0.0043087 | 0.0 | 0.06 +Modify | 3.8809 | 3.8809 | 3.8809 | 0.0 | 56.72 +Other | | 0.1873 | | | 2.74 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1351 ave 1351 max 1351 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5254 ave 5254 max 5254 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5254 +Ave neighs/atom = 0.938214 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 766 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule +800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 + 5100 1.439608 5.9052128 7.0359478 0.0060989863 7.2985885 62.244 62.244 62.244 0.0087364157 0.004022839 0.0055377041 + 5200 1.4120672 5.9102569 7.01936 0.0064301432 7.2962614 62.244 62.244 62.244 0.0082738077 0.0038925667 0.0071240551 + 5300 1.4452434 5.8842166 7.0193778 0.008172419 7.3713068 62.244 62.244 62.244 0.0077715647 0.0068924406 0.0098532518 + 5400 1.4170243 5.887522 7.0005186 0.0008656658 7.0377968 62.244 62.244 62.244 -9.1800583e-05 -0.0020237513 0.0047125493 + 5500 1.4209082 5.8758921 6.9919394 0.0093634084 7.395156 62.244 62.244 62.244 0.0088769348 0.0087092521 0.010504038 + 5600 1.4132978 5.8798939 6.9899636 0.0014877766 7.0540317 62.244 62.244 62.244 -0.0023427923 0.004559371 0.002246751 + 5700 1.4065053 5.887541 6.9922756 0.0028083452 7.1132114 62.244 62.244 62.244 0.0025188632 0.000510969 0.0053952035 + 5800 1.4079051 5.8940739 6.999908 0.0015946158 7.0685769 62.244 62.244 62.244 0.0037830287 0.00021751956 0.00078329927 + 5900 1.4076047 5.8941577 6.9997558 0.005189853 7.2232465 62.244 62.244 62.244 -0.00093244616 0.0096403542 0.0068616509 + 6000 1.4322772 5.8903539 7.0153309 0.00029752476 7.0281432 62.244 62.244 62.244 0.001913333 -0.00073790796 -0.00028285075 +Loop time of 1.40593 on 1 procs for 1000 steps with 5600 atoms + +Performance: 307270.224 tau/day, 711.274 timesteps/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14844 | 0.14844 | 0.14844 | 0.0 | 10.56 +Bond | 0.036852 | 0.036852 | 0.036852 | 0.0 | 2.62 +Neigh | 0.40537 | 0.40537 | 0.40537 | 0.0 | 28.83 +Comm | 0.036592 | 0.036592 | 0.036592 | 0.0 | 2.60 +Output | 0.00085831 | 0.00085831 | 0.00085831 | 0.0 | 0.06 +Modify | 0.74053 | 0.74053 | 0.74053 | 0.0 | 52.67 +Other | | 0.03729 | | | 2.65 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1347 ave 1347 max 1347 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5399 ave 5399 max 5399 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5399 +Ave neighs/atom = 0.964107 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 153 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 +800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.4322772 5.8903539 7.0153309 0.012980585 7.574314 62.244 62.244 62.244 0.058317363 0.0073619377 -0.026737547 + 6100 1.4199699 5.8764035 6.9917138 0.0054065561 7.2245364 62.244 62.244 62.244 0.009227645 0.0019623802 0.0050296432 + 6200 1.3976825 5.8924426 6.9902474 0.00043900876 7.0091524 62.244 62.244 62.244 -0.0023073124 -0.00049925318 0.0041235918 + 6300 1.4077283 5.8847362 6.9904313 0.0066398301 7.2763625 62.244 62.244 62.244 0.0058018934 0.0091933877 0.0049242093 + 6400 1.3749203 5.8817073 6.9616336 0.0074967162 7.2844648 62.244 62.244 62.244 0.012281887 0.0039781589 0.0062301027 + 6500 1.3467096 5.8881264 6.9458946 -0.00011926349 6.9407588 62.244 62.244 62.244 0.0030721967 -0.0013265863 -0.0021034009 + 6600 1.3646558 5.8739857 6.9458497 0.0056064043 7.1872784 62.244 62.244 62.244 0.0059660337 0.0057680048 0.0050851745 + 6700 1.3927251 5.883612 6.9775229 0.0025583824 7.0876946 62.244 62.244 62.244 0.0030974706 0.0018499606 0.002727716 + 6800 1.4016999 5.9015886 7.0025488 0.0039070678 7.1707989 62.244 62.244 62.244 0.0068320586 0.0020056859 0.002883459 + 6900 1.4136745 5.8914714 7.001837 0.0051755091 7.22471 62.244 62.244 62.244 0.0028467792 0.0094052519 0.0032744962 + 7000 1.4286639 5.893567 7.0157059 0.0062957476 7.2868198 62.244 62.244 62.244 0.0047242086 0.0093408867 0.0048221474 +Loop time of 1.41045 on 1 procs for 1000 steps with 5600 atoms + +Performance: 306284.404 tau/day, 708.992 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.1497 | 0.1497 | 0.1497 | 0.0 | 10.61 +Bond | 0.036719 | 0.036719 | 0.036719 | 0.0 | 2.60 +Neigh | 0.40272 | 0.40272 | 0.40272 | 0.0 | 28.55 +Comm | 0.036315 | 0.036315 | 0.036315 | 0.0 | 2.57 +Output | 0.00085187 | 0.00085187 | 0.00085187 | 0.0 | 0.06 +Modify | 0.747 | 0.747 | 0.747 | 0.0 | 52.96 +Other | | 0.03715 | | | 2.63 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1284 ave 1284 max 1284 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5677 ave 5677 max 5677 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5677 +Ave neighs/atom = 1.01375 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 151 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.4286639 5.893567 7.0157059 0.032101512 8.3980939 62.244 62.244 62.244 0.0040045405 0.040447803 0.051852194 + 7100 1.4709161 5.8870949 7.0424207 0.019697134 7.6953761 57.045689 57.045689 57.045689 0.012929484 0.020492532 0.025669387 + 7200 1.5163078 5.8421187 7.0330973 0.018916867 7.46241 50.277171 50.277171 50.277171 0.017823354 0.026688031 0.012239218 + 7300 1.5675309 5.7752739 7.0064855 0.022899743 7.3829781 45.154874 45.154874 45.154874 0.019324617 0.024318577 0.025056034 + 7400 1.5432228 5.7513096 6.9634284 0.024381819 7.272744 41.416613 41.416613 41.416613 0.032026791 0.022254425 0.018864241 + 7500 1.5511419 5.7072564 6.9255953 0.030632381 7.2405167 38.613262 38.613262 38.613262 0.041572196 0.012539031 0.037785916 + 7600 1.5437461 5.6656571 6.8781869 0.031293788 7.1486082 36.440994 36.440994 36.440994 0.036220762 0.02125772 0.036402883 + 7700 1.5873874 5.6134986 6.8603063 0.04807003 7.221002 34.765744 34.765744 34.765744 0.031608235 0.053442472 0.059159381 + 7800 1.5079648 5.601961 6.7863866 0.031128515 6.9971673 33.59594 33.59594 33.59594 0.032932226 0.015950578 0.044502741 + 7900 1.4737447 5.5644198 6.7219673 0.099246661 7.3415696 32.698542 32.698542 32.698542 0.071386679 0.10758014 0.11877317 + 8000 1.4727947 5.5161158 6.6729171 0.072190554 7.0973199 32.050043 32.050043 32.050043 0.072806068 0.06277287 0.080992723 +Loop time of 3.15299 on 1 procs for 1000 steps with 5600 atoms + +Performance: 137012.841 tau/day, 317.159 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.37069 | 0.37069 | 0.37069 | 0.0 | 11.76 +Bond | 0.05046 | 0.05046 | 0.05046 | 0.0 | 1.60 +Neigh | 1.4844 | 1.4844 | 1.4844 | 0.0 | 47.08 +Comm | 0.081178 | 0.081178 | 0.081178 | 0.0 | 2.57 +Output | 0.00083494 | 0.00083494 | 0.00083494 | 0.0 | 0.03 +Modify | 1.1163 | 1.1163 | 1.1163 | 0.0 | 35.41 +Other | | 0.0491 | | | 1.56 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2954 ave 2954 max 2954 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 25585 ave 25585 max 25585 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 25585 +Ave neighs/atom = 4.56875 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 334 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.785 | 7.785 | 7.785 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.4727947 5.5161158 6.6729171 0.13628586 7.4741313 32.050043 32.050043 32.050043 -0.030897367 0.27196335 0.1677916 + 8100 1.4522497 5.5136331 6.6542974 0.057107124 6.9895036 32.000184 32.050043 32.050043 0.049932793 0.056130194 0.065258384 + 8200 1.4407937 5.5014539 6.6331202 0.024119241 6.7733276 31.691157 32.050043 32.050043 0.041526366 0.022503949 0.0083274089 + 8300 1.4542258 5.496977 6.6391934 0.043395674 6.887667 31.215092 32.050043 32.050043 0.025407647 0.075227689 0.029551686 + 8400 1.4375595 5.4901345 6.6192605 0.013578023 6.6952098 30.494249 32.050043 32.050043 -0.0045150608 0.033500673 0.011748456 + 8500 1.4410736 5.4540565 6.5859426 0.017121222 6.679397 29.757445 32.050043 32.050043 0.035675932 -0.032105 0.047792733 + 8600 1.4372413 5.4150437 6.5439197 0.084045699 6.9949237 29.254706 32.050043 32.050043 0.10347392 0.073148157 0.075515024 + 8700 1.4299119 5.3982284 6.5213476 0.00045273296 6.5237411 28.822481 32.050043 32.050043 0.0093093459 0.0081538479 -0.016104995 + 8800 1.4677947 5.3637715 6.5166456 0.028621833 6.6651924 28.294159 32.050043 32.050043 0.033527613 0.036046563 0.016291323 + 8900 1.4625499 5.3483914 6.4971459 0.032843022 6.6649394 27.852402 32.050043 32.050043 0.040751528 0.055865445 0.0019120942 + 9000 1.4488382 5.3486741 6.4866589 0.087522574 6.9279711 27.488856 32.050043 32.050043 0.059432129 0.10936517 0.093770421 +Loop time of 3.09429 on 1 procs for 1000 steps with 5600 atoms + +Performance: 139611.779 tau/day, 323.175 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.57714 | 0.57714 | 0.57714 | 0.0 | 18.65 +Bond | 0.051715 | 0.051715 | 0.051715 | 0.0 | 1.67 +Neigh | 1.223 | 1.223 | 1.223 | 0.0 | 39.52 +Comm | 0.066183 | 0.066183 | 0.066183 | 0.0 | 2.14 +Output | 0.00086594 | 0.00086594 | 0.00086594 | 0.0 | 0.03 +Modify | 1.1355 | 1.1355 | 1.1355 | 0.0 | 36.70 +Other | | 0.03994 | | | 1.29 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3381 ave 3381 max 3381 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 31737 ave 31737 max 31737 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 31737 +Ave neighs/atom = 5.66732 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 169 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.788 | 7.788 | 7.788 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.4488382 5.3486741 6.4866589 0.20124138 7.5013717 27.488856 32.050043 32.050043 0.22160189 0.42145658 -0.039334342 + 9100 1.4408457 5.3612674 6.4929746 0.076331412 6.8758499 27.440968 31.994208 31.994208 0.083838068 0.041724506 0.10343166 + 9200 1.4870445 5.3340546 6.5020483 0.01010773 6.5521592 27.334266 31.869802 31.869802 0.024563803 -0.0068003493 0.012559737 + 9300 1.4376808 5.3295183 6.4587396 0.10720051 6.9752889 27.076116 31.568817 31.568817 0.11844426 0.10444301 0.09871425 + 9400 1.4621325 5.3011274 6.4495541 0.071127232 6.7846388 26.873295 31.332342 31.332342 0.091608834 0.02680694 0.094965923 + 9500 1.4463444 5.3005044 6.4365304 0.0011545049 6.4418432 26.664 31.088319 31.088319 -0.030551889 0.036011952 -0.0019965484 + 9600 1.4473406 5.2912939 6.4281024 0.066132857 6.7281169 26.537276 30.940568 30.940568 0.12276096 0.013455525 0.06218208 + 9700 1.4520445 5.2707214 6.4112246 0.077219765 6.757956 26.446587 30.834832 30.834832 0.073829267 0.11047347 0.047356559 + 9800 1.4825713 5.246644 6.4111243 0.061402527 6.6831281 26.327581 30.696078 30.696078 0.091860222 0.022619578 0.06972778 + 9900 1.4795219 5.2344495 6.3965347 0.086345107 6.7729623 26.187615 30.532888 30.532888 0.077396265 0.11142542 0.07021363 + 10000 1.4527053 5.2126819 6.3537041 0.045117764 6.5474705 26.057038 30.380645 30.380645 0.011087188 0.058029185 0.066236921 +Loop time of 3.25046 on 1 procs for 1000 steps with 5600 atoms + +Performance: 132904.162 tau/day, 307.649 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.68223 | 0.68223 | 0.68223 | 0.0 | 20.99 +Bond | 0.05211 | 0.05211 | 0.05211 | 0.0 | 1.60 +Neigh | 1.2617 | 1.2617 | 1.2617 | 0.0 | 38.82 +Comm | 0.069407 | 0.069407 | 0.069407 | 0.0 | 2.14 +Output | 0.00085688 | 0.00085688 | 0.00085688 | 0.0 | 0.03 +Modify | 1.1438 | 1.1438 | 1.1438 | 0.0 | 35.19 +Other | | 0.04037 | | | 1.24 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3756 ave 3756 max 3756 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37360 ave 37360 max 37360 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37360 +Ave neighs/atom = 6.67143 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 158 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.795 | 7.795 | 7.795 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.4527053 5.2126819 6.3537041 0.056937886 6.5982342 26.057038 30.380645 30.380645 -0.37001102 0.18554825 0.35527643 + 10100 1.4606958 5.2220088 6.3693071 0.10308269 6.8132489 26.093341 30.422971 30.380645 0.12567436 0.057087258 0.12648646 + 10200 1.4429187 5.2134399 6.3467753 0.022637194 6.4450326 26.195743 30.542365 30.380645 0.010739012 0.071921542 -0.014748971 + 10300 1.4559104 5.2293511 6.3728908 0.0079467818 6.4073504 26.182966 30.527467 30.380645 -0.014274944 0.032205181 0.0059101087 + 10400 1.4741126 5.2072221 6.3650586 0.095611559 6.7814715 26.240156 30.594148 30.380645 0.073579289 0.092441893 0.12081349 + 10500 1.4411698 5.2173262 6.3492878 0.010458046 6.3947259 26.208633 30.557393 30.380645 0.036794882 -0.0051462954 -0.00027444949 + 10600 1.4492728 5.1940541 6.3323802 0.042602534 6.5163992 26.132032 30.468083 30.380645 0.090116773 0.0022769844 0.035413845 + 10700 1.4599974 5.1895935 6.3363432 0.05533717 6.573197 26.013045 30.329352 30.380645 0.070180878 0.08084881 0.014981824 + 10800 1.4781084 5.1724704 6.3334454 0.031843587 6.4690539 25.947295 30.252692 30.380645 0.0041524129 0.077618702 0.013759645 + 10900 1.4410507 5.1708846 6.3027527 0.020221033 6.3881531 25.839719 30.127267 30.380645 -0.0014092876 0.014833141 0.047239245 + 11000 1.4150286 5.1756927 6.2871219 0.039768792 6.45242 25.63435 29.887821 30.380645 0.034930907 0.032278926 0.052096542 +Loop time of 3.43774 on 1 procs for 1000 steps with 5600 atoms + +Performance: 125663.855 tau/day, 290.889 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.75066 | 0.75066 | 0.75066 | 0.0 | 21.84 +Bond | 0.053177 | 0.053177 | 0.053177 | 0.0 | 1.55 +Neigh | 1.3577 | 1.3577 | 1.3577 | 0.0 | 39.49 +Comm | 0.07294 | 0.07294 | 0.07294 | 0.0 | 2.12 +Output | 0.00086403 | 0.00086403 | 0.00086403 | 0.0 | 0.03 +Modify | 1.1612 | 1.1612 | 1.1612 | 0.0 | 33.78 +Other | | 0.0412 | | | 1.20 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3904 ave 3904 max 3904 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 39666 ave 39666 max 39666 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39666 +Ave neighs/atom = 7.08321 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 159 +Dangerous builds = 0 + +Total wall time: 0:00:22 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.4 b/examples/rigid/log.27Nov18.rigid.tnr.g++.4 new file mode 100644 index 0000000000..1fa53eb8d3 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.tnr.g++.4 @@ -0,0 +1,458 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule +800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.216 | 7.384 | 7.552 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 + 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 + 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 + 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 + 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 + 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 + 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 + 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 + 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 + 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 + 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 + 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 + 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 + 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 + 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 + 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 + 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 + 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 + 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 + 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 + 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 + 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 + 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 + 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 + 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414203 0.0039571831 0.0048428538 + 2600 1.3876469 5.9249124 7.0148347 -0.0017777224 6.9382806 62.244 62.244 62.244 -0.00047616392 -0.0025484917 -0.0023085116 + 2700 1.4099941 5.916763 7.0242378 0.0070716263 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812867 0.0032048359 + 2800 1.4444643 5.9283432 7.0628925 0.0019400024 7.1464349 62.244 62.244 62.244 0.0014895079 0.0046367397 -0.00030624055 + 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403267 -0.004697189 + 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093026 0.010147657 + 3100 1.3569137 5.9171753 6.9829583 -0.002826677 6.8612331 62.244 62.244 62.244 -0.0069507252 0.0010084399 -0.0025377458 + 3200 1.4004275 5.905939 7.0058998 0.005439467 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594148 0.00020680265 + 3300 1.3641217 5.9145275 6.985972 -0.0027212811 6.8687855 62.244 62.244 62.244 -0.00065933677 -0.0057713008 -0.0017332057 + 3400 1.3868722 5.9059546 6.9952684 0.0092591256 7.3939943 62.244 62.244 62.244 0.010690877 0.010752519 0.006333981 + 3500 1.3939169 5.8992292 6.9940762 0.0074340028 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252569 0.0077394447 + 3600 1.3982507 5.9219461 7.0201971 0.005679459 7.2647718 62.244 62.244 62.244 0.0023367243 0.008059221 0.0066424317 + 3700 1.4019908 5.9059957 7.0071843 0.0065915477 7.2910363 62.244 62.244 62.244 0.0049554109 0.010827005 0.0039922268 + 3800 1.3960736 5.902079 6.99862 0.0027763588 7.1181784 62.244 62.244 62.244 -0.0015907217 0.0025862003 0.0073335977 + 3900 1.4352825 5.8986215 7.025959 0.003498268 7.176605 62.244 62.244 62.244 0.0030416681 0.0027739509 0.0046791851 + 4000 1.4121845 5.907903 7.0170983 0.005046232 7.2344043 62.244 62.244 62.244 0.0045542682 0.0064113499 0.0041730779 + 4100 1.3989578 5.9082397 7.0070461 0.00042880001 7.0255115 62.244 62.244 62.244 0.0025735184 0.0025181486 -0.003805267 + 4200 1.3998829 5.8998147 6.9993477 0.0042777376 7.18356 62.244 62.244 62.244 0.0013744091 0.00646996 0.0049888436 + 4300 1.4076022 5.9044509 7.010047 0.0066789366 7.2976622 62.244 62.244 62.244 0.0073610616 0.0048139129 0.0078618353 + 4400 1.4161075 5.9064331 7.0187096 -0.0011844267 6.9677046 62.244 62.244 62.244 -0.0019088313 -0.0037556503 0.0021112015 + 4500 1.4292243 5.8980093 7.0205884 0.0018500416 7.1002567 62.244 62.244 62.244 0.0041144085 0.0010160497 0.00041966655 + 4600 1.3958775 5.8943133 6.9907003 0.0041485723 7.1693504 62.244 62.244 62.244 0.0033999287 0.0041620406 0.0048837475 + 4700 1.3856614 5.8886847 6.9770475 0.0013150314 7.0336767 62.244 62.244 62.244 -0.00051753674 0.0030875481 0.0013750828 + 4800 1.401683 5.9023505 7.0032974 0.002504877 7.1111649 62.244 62.244 62.244 0.0016543718 -0.0001813413 0.0060416007 + 4900 1.446628 5.9050553 7.0413042 -0.0026645902 6.9265589 62.244 62.244 62.244 -0.00069368076 -0.0073984763 9.8386402e-05 + 5000 1.4387091 5.9077604 7.0377893 0.0049468048 7.2508137 62.244 62.244 62.244 0.0042902506 0.0046715523 0.0058786114 +Loop time of 3.70354 on 4 procs for 5000 steps with 5600 atoms + +Performance: 583225.455 tau/day, 1350.059 timesteps/s +92.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.081073 | 0.13498 | 0.20108 | 14.4 | 3.64 +Bond | 0.032352 | 0.048566 | 0.066671 | 7.0 | 1.31 +Neigh | 0.71345 | 0.72477 | 0.73658 | 1.3 | 19.57 +Comm | 0.29998 | 0.37027 | 0.42722 | 8.9 | 10.00 +Output | 0.0026417 | 0.0048325 | 0.0085185 | 3.2 | 0.13 +Modify | 1.9807 | 2.1035 | 2.263 | 8.1 | 56.80 +Other | | 0.3166 | | | 8.55 + +Nlocal: 1400 ave 1868 max 905 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Nghost: 648.25 ave 688 max 598 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Neighs: 1202.5 ave 1821 max 698 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 4810 +Ave neighs/atom = 0.858929 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 759 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule +800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4387091 5.9077604 7.0377893 0.0035977871 7.1927209 62.244 62.244 62.244 0.025518192 -0.016769871 0.0020450407 + 5100 1.4449405 5.8876257 7.022549 0.0023104502 7.122044 62.244 62.244 62.244 0.0045960664 0.0036845954 -0.0013493113 + 5200 1.4271652 5.9160022 7.036964 0.0020238904 7.1241189 62.244 62.244 62.244 -0.0022546188 0.00392213 0.0044041599 + 5300 1.4143299 5.9052666 7.016147 0.0064054214 7.2919838 62.244 62.244 62.244 0.0090997079 0.0026363579 0.0074801984 + 5400 1.4426441 5.9087558 7.0418754 0.0020465683 7.1300068 62.244 62.244 62.244 0.0043188307 3.0314417e-06 0.0018178427 + 5500 1.4281065 5.9038871 7.0255883 0.00058665945 7.0508516 62.244 62.244 62.244 0.005898925 0.00066013177 -0.0047990784 + 5600 1.4315628 5.902373 7.0267888 0.0096475978 7.4422435 62.244 62.244 62.244 0.0054175405 0.011780025 0.011745228 + 5700 1.4075482 5.9075587 7.0131124 0.0052150708 7.2376891 62.244 62.244 62.244 0.0030069124 0.0036690785 0.0089692215 + 5800 1.4215681 5.9048555 7.0214211 0.0015070444 7.086319 62.244 62.244 62.244 -5.6858344e-05 0.0023644208 0.0022135708 + 5900 1.3992461 5.8949367 6.9939696 0.0062425817 7.262794 62.244 62.244 62.244 0.0056972212 0.0095293238 0.0035012003 + 6000 1.385289 5.8972105 6.9852808 0.0043255163 7.1715506 62.244 62.244 62.244 0.0040215567 0.0026330714 0.0063219208 +Loop time of 0.84847 on 4 procs for 1000 steps with 5600 atoms + +Performance: 509151.820 tau/day, 1178.592 timesteps/s +94.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.020741 | 0.03547 | 0.053064 | 7.5 | 4.18 +Bond | 0.0064373 | 0.0096895 | 0.013065 | 3.0 | 1.14 +Neigh | 0.14992 | 0.15174 | 0.15392 | 0.4 | 17.88 +Comm | 0.068751 | 0.081259 | 0.10084 | 4.2 | 9.58 +Output | 0.00054288 | 0.00096381 | 0.0017593 | 0.0 | 0.11 +Modify | 0.45914 | 0.48587 | 0.51316 | 2.8 | 57.26 +Other | | 0.08348 | | | 9.84 + +Nlocal: 1400 ave 1868 max 935 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 633.75 ave 695 max 541 min +Histogram: 1 0 0 0 1 0 0 0 0 2 +Neighs: 1263 ave 1799 max 710 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 5052 +Ave neighs/atom = 0.902143 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 153 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 +800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.385289 5.8972105 6.9852808 0.0029190017 7.1109818 62.244 62.244 62.244 0.026575922 -0.075631452 0.057812535 + 6100 1.3829575 5.9055308 6.9917699 0.0022904842 7.090405 62.244 62.244 62.244 -0.00045870123 0.0040556461 0.0032745076 + 6200 1.3942692 5.90506 7.0001838 0.0046406766 7.2000253 62.244 62.244 62.244 0.0042263485 0.0051632793 0.0045324021 + 6300 1.4009885 5.902399 7.0028005 0.0077682466 7.3373246 62.244 62.244 62.244 0.0071636876 0.0098268446 0.0063142075 + 6400 1.3627532 5.9075588 6.9779284 0.0093180831 7.3791932 62.244 62.244 62.244 0.0062401458 0.01302262 0.0086914833 + 6500 1.3341203 5.9012967 6.9491767 0.01010805 7.3844599 62.244 62.244 62.244 0.0031876185 0.011099561 0.01603697 + 6600 1.3572847 5.8915298 6.9576042 -0.00034416901 6.9427833 62.244 62.244 62.244 0.0025579012 -0.0011308802 -0.0024595281 + 6700 1.366374 5.8985277 6.9717413 0.0029472772 7.0986599 62.244 62.244 62.244 0.0022469424 -0.00042869772 0.0070235868 + 6800 1.381673 5.8909304 6.9761606 -9.1063397e-05 6.9722391 62.244 62.244 62.244 -0.0048194377 -0.00080972169 0.0053559692 + 6900 1.4011472 5.8881927 6.9887188 0.0010086058 7.0321524 62.244 62.244 62.244 0.0012132619 -0.0025916747 0.0044042301 + 7000 1.3973658 5.8867938 6.9843498 0.0070015187 7.2858563 62.244 62.244 62.244 0.0058913402 0.0076802028 0.0074330131 +Loop time of 0.902266 on 4 procs for 1000 steps with 5600 atoms + +Performance: 478794.425 tau/day, 1108.320 timesteps/s +92.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022644 | 0.037091 | 0.054025 | 7.4 | 4.11 +Bond | 0.0066526 | 0.0098482 | 0.012934 | 2.8 | 1.09 +Neigh | 0.15815 | 0.16028 | 0.16242 | 0.5 | 17.76 +Comm | 0.086046 | 0.10069 | 0.11568 | 3.7 | 11.16 +Output | 0.00047731 | 0.00090772 | 0.0016732 | 0.0 | 0.10 +Modify | 0.46692 | 0.49338 | 0.52973 | 3.5 | 54.68 +Other | | 0.1001 | | | 11.09 + +Nlocal: 1400 ave 1832 max 970 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 652.5 ave 749 max 561 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 1407.5 ave 2071 max 748 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 5630 +Ave neighs/atom = 1.00536 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 149 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.3973658 5.8867938 6.9843498 0.0026564535 7.0987447 62.244 62.244 62.244 0.033711862 -0.0068580786 -0.018884423 + 7100 1.463906 5.861189 7.0110088 0.011521299 7.3924648 57.022165 57.022165 57.022165 0.010788399 0.0093706759 0.014404821 + 7200 1.4950346 5.817724 6.9919936 0.023104537 7.516484 50.28164 50.28164 50.28164 0.023252537 0.018108267 0.027952807 + 7300 1.5103539 5.7757334 6.9620355 0.02265972 7.3367664 45.242961 45.242961 45.242961 0.023588139 0.022279352 0.022111669 + 7400 1.5583184 5.7576833 6.9816589 0.028383162 7.3460731 41.582206 41.582206 41.582206 0.027312172 0.029876235 0.027961079 + 7500 1.5988886 5.6930714 6.9489127 0.046500933 7.4415595 39.00204 39.00204 39.00204 0.057497139 0.031007247 0.050998413 + 7600 1.5458926 5.6844397 6.8986555 0.034168406 7.2068206 36.96428 36.96428 36.96428 0.037874991 0.027247969 0.037382258 + 7700 1.5179913 5.6416448 6.8339457 0.070322183 7.3856048 35.284894 35.284894 35.284894 0.054248771 0.10402305 0.052694729 + 7800 1.4797888 5.6045532 6.7668481 0.07801402 7.3126319 33.963465 33.963465 33.963465 0.096058241 0.061172194 0.076811627 + 7900 1.4846305 5.54982 6.7159177 0.065303374 7.1325712 32.936376 32.936376 32.936376 0.089117046 0.06069295 0.046100127 + 8000 1.4352665 5.5157472 6.6430722 0.065962965 7.0326574 32.099391 32.099391 32.099391 0.032126133 0.070109418 0.095653344 +Loop time of 1.72334 on 4 procs for 1000 steps with 5600 atoms + +Performance: 250675.661 tau/day, 580.268 timesteps/s +92.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.060282 | 0.099801 | 0.13824 | 10.8 | 5.79 +Bond | 0.0095227 | 0.013491 | 0.017217 | 3.2 | 0.78 +Neigh | 0.58793 | 0.59546 | 0.60654 | 1.0 | 34.55 +Comm | 0.17903 | 0.21403 | 0.24615 | 6.5 | 12.42 +Output | 0.00045562 | 0.00076783 | 0.0017018 | 0.0 | 0.04 +Modify | 0.64959 | 0.68513 | 0.70671 | 2.8 | 39.76 +Other | | 0.1147 | | | 6.65 + +Nlocal: 1400 ave 1768 max 981 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Nghost: 1574 ave 1663 max 1447 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 6338 ave 9521 max 3068 min +Histogram: 1 0 1 0 0 0 0 0 1 1 + +Total # of neighbors = 25352 +Ave neighs/atom = 4.52714 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 337 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.226 | 7.412 | 7.597 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.4352665 5.5157472 6.6430722 0.073641793 7.0780095 32.099391 32.099391 32.099391 0.13359913 0.13991003 -0.052583787 + 8100 1.4385682 5.5149882 6.6449064 0.092621097 7.1894426 31.952972 32.099391 32.099391 0.10729401 0.11619987 0.054369411 + 8200 1.42735 5.5149024 6.6360094 0.023903894 6.7756304 31.745099 32.099391 32.099391 0.051524189 0.013370811 0.006816681 + 8300 1.4335369 5.5031396 6.629106 0.024536474 6.7705237 31.324638 32.099391 32.099391 0.042356568 -0.0039258365 0.035178692 + 8400 1.4502714 5.4659017 6.6050122 0.06575457 6.9774701 30.785462 32.099391 32.099391 0.056998298 0.084852971 0.055412441 + 8500 1.4432366 5.4541505 6.5877355 0.03322226 6.7725932 30.241461 32.099391 32.099391 0.045871758 0.024443739 0.029351281 + 8600 1.436491 5.4272043 6.5554911 0.039811655 6.7732608 29.729098 32.099391 32.099391 0.037709456 0.060942551 0.020782958 + 8700 1.4099251 5.4106713 6.5180919 0.013490442 6.590596 29.209958 32.099391 32.099391 0.025833003 -0.0021161354 0.016754458 + 8800 1.3801478 5.3926425 6.4766747 0.028808964 6.6280205 28.552039 32.099391 32.099391 0.012603549 0.018713073 0.055110271 + 8900 1.4411695 5.3583474 6.4903088 0.053464468 6.7655624 27.980937 32.099391 32.099391 0.055084927 0.073292013 0.032016464 + 9000 1.4264395 5.3680298 6.4884216 0.066557314 6.8276318 27.69922 32.099391 32.099391 0.05380086 0.069450871 0.076420212 +Loop time of 1.45936 on 4 procs for 1000 steps with 5600 atoms + +Performance: 296020.704 tau/day, 685.233 timesteps/s +96.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.097855 | 0.1563 | 0.20542 | 12.5 | 10.71 +Bond | 0.010222 | 0.01371 | 0.016844 | 2.6 | 0.94 +Neigh | 0.43646 | 0.44419 | 0.4668 | 2.0 | 30.44 +Comm | 0.10136 | 0.14589 | 0.19563 | 11.6 | 10.00 +Output | 0.00046229 | 0.00076181 | 0.0016556 | 0.0 | 0.05 +Modify | 0.59971 | 0.62524 | 0.65776 | 2.9 | 42.84 +Other | | 0.07327 | | | 5.02 + +Nlocal: 1400 ave 1680 max 1049 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Nghost: 1627.25 ave 1775 max 1488 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 7842 ave 10600 max 4326 min +Histogram: 1 0 1 0 0 0 0 0 0 2 + +Total # of neighbors = 31368 +Ave neighs/atom = 5.60143 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 166 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.227 | 7.412 | 7.597 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.4264395 5.3680298 6.4884216 0.0098629166 6.5386881 27.69922 32.099391 32.099391 -0.32352455 -0.020288613 0.37340191 + 9100 1.4501008 5.3468478 6.4858243 0.059250929 6.7846766 27.60347 31.988431 31.988431 0.076039445 0.051409059 0.050304282 + 9200 1.4635102 5.3406895 6.4901983 0.035210102 6.6656151 27.490192 31.857158 31.857158 0.0079484246 0.066653954 0.031027926 + 9300 1.4503713 5.3595734 6.4987624 0.020794 6.6013231 27.398334 31.750708 31.750708 0.053098983 0.0019379163 0.0073450997 + 9400 1.4701421 5.3186993 6.4734172 0.039118143 6.6618027 27.181055 31.498913 31.498913 0.076457868 -0.0028405762 0.043737137 + 9500 1.4495442 5.323167 6.4617063 0.073591495 6.8091096 27.000921 31.290164 31.290164 0.037777789 0.097624306 0.085372389 + 9600 1.4668438 5.3002222 6.4523494 0.06758294 6.7648428 26.814997 31.074705 31.074705 0.057941415 0.09775976 0.047047645 + 9700 1.4926839 5.2883964 6.4608196 0.059125916 6.7288224 26.637713 30.869258 30.869258 0.049817515 0.032285203 0.095275031 + 9800 1.4644558 5.2702597 6.4205112 0.0076221617 6.4543756 26.460515 30.663911 30.663911 -0.0060723629 0.010616271 0.018322577 + 9900 1.4669549 5.2511861 6.4034006 0.044167302 6.5961243 26.30195 30.480157 30.480157 0.026274163 0.013826125 0.092401618 + 10000 1.460983 5.2470476 6.3945715 0.10536479 6.8483021 26.186495 30.346361 30.346361 0.088951294 0.11273872 0.11440435 +Loop time of 1.61361 on 4 procs for 1000 steps with 5600 atoms + +Performance: 267722.758 tau/day, 619.729 timesteps/s +93.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.13322 | 0.18643 | 0.259 | 12.5 | 11.55 +Bond | 0.012367 | 0.014462 | 0.016771 | 1.6 | 0.90 +Neigh | 0.46284 | 0.46471 | 0.46675 | 0.3 | 28.80 +Comm | 0.10183 | 0.17241 | 0.22246 | 12.4 | 10.68 +Output | 0.00044584 | 0.00074542 | 0.0016396 | 0.0 | 0.05 +Modify | 0.691 | 0.7057 | 0.72761 | 1.8 | 43.73 +Other | | 0.06915 | | | 4.29 + +Nlocal: 1400 ave 1633 max 1183 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 1747.75 ave 1847 max 1624 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 9290.75 ave 12454 max 6621 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 37163 +Ave neighs/atom = 6.63625 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 162 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.229 | 7.413 | 7.597 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.460983 5.2470476 6.3945715 0.18376191 7.1859023 26.186495 30.346361 30.346361 0.015959435 0.68341409 -0.14808778 + 10100 1.4487259 5.2485513 6.3864479 0.060157728 6.6465409 26.238844 30.407026 30.346361 0.10289596 0.022823411 0.05475381 + 10200 1.4335646 5.2420513 6.3680395 0.013676852 6.4271554 26.235255 30.402867 30.346361 -0.017328522 0.040786509 0.017572569 + 10300 1.4334952 5.2377534 6.3636871 0.030978458 6.4967192 26.150168 30.304264 30.346361 0.044154015 0.036133394 0.012647966 + 10400 1.4209473 5.2242736 6.3403516 -0.00094467594 6.3363148 26.085773 30.22964 30.346361 0.030664991 0.018005544 -0.051504563 + 10500 1.4262805 5.2044624 6.3247294 0.045042501 6.5149748 25.934148 30.053928 30.346361 0.031103656 0.045410964 0.058612885 + 10600 1.4516048 5.2017459 6.3419036 0.069565209 6.6313867 25.741959 29.831208 30.346361 0.021768778 0.11302833 0.073898515 + 10700 1.4841074 5.1911212 6.356808 0.046866825 6.5493087 25.574636 29.637306 30.346361 0.073969059 0.064901506 0.0017299084 + 10800 1.4646257 5.1958815 6.3462665 0.050747116 6.5534926 25.500146 29.550982 30.346361 0.076646556 0.070734108 0.004860682 + 10900 1.461356 5.1821605 6.3299773 0.069060447 6.610166 25.417723 29.455466 30.346361 0.051399011 0.065631311 0.090151019 + 11000 1.4395386 5.1786243 6.3093047 -0.0087983274 6.2737059 25.383039 29.415273 30.346361 -0.060891892 0.037235898 -0.0027389884 +Loop time of 1.56065 on 4 procs for 1000 steps with 5600 atoms + +Performance: 276807.605 tau/day, 640.758 timesteps/s +94.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.15892 | 0.20364 | 0.2564 | 9.2 | 13.05 +Bond | 0.011486 | 0.014652 | 0.01918 | 2.6 | 0.94 +Neigh | 0.43915 | 0.43981 | 0.44125 | 0.1 | 28.18 +Comm | 0.093711 | 0.14431 | 0.18183 | 9.9 | 9.25 +Output | 0.00044441 | 0.00073904 | 0.0016198 | 0.0 | 0.05 +Modify | 0.66889 | 0.68497 | 0.70418 | 1.5 | 43.89 +Other | | 0.07254 | | | 4.65 + +Nlocal: 1400 ave 1610 max 1237 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 1832 ave 1919 max 1765 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Neighs: 10008.2 ave 12428 max 7982 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 40033 +Ave neighs/atom = 7.14875 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 157 +Dangerous builds = 0 + +Total wall time: 0:00:11 diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 99c8d38290..65c3fa806a 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); // transpose the evec matrix @@ -67,7 +67,7 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); // transpose the evec matrix diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index b5c77af975..e28e0abb08 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:00:59 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 -global_scalar: 15.711521423178084 + -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 +global_scalar: 15.711521423178082 run_pos: ! |2 - 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 - 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 - 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 - 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 - 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 - 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 - 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 - 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 - 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 - 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 - 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 - 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 - 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 - 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 - 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 - 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 - 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 - 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 - 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 - 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 - 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 - 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 - 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 - 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 - 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 - 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 + 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 + 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 + 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 + 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 + 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 + 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 + 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 + 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 + 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 + 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 + 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 + 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 + 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 + 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 + 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 + 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 + 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 + 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 + 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 + 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 + 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 + 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 + 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 + 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 + 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 + 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 - 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 - 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 - 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 - 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 - 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 - 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 - 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 - 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 - 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 - 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 - 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 - 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 - 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 - 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 - 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 - 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 - 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 - 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 - 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 - 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 - 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 - 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 - 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 - 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 - 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 + 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 + 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 + 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 + 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 + 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 + 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 + 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 + 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 + 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 + 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 + 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 + 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 + 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 + 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 + 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 + 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 + 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 + 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 + 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 + 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 + 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 + 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 + 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 + 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 + 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 + 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index a73c8cd112..d667942e49 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:00:59 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 -global_scalar: 18.340560167414402 + -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 +global_scalar: 18.3405601674144 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 - 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 - 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 - 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 + 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 + 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 + 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 - 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 + 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 + 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 - 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 - 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 - 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 - 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 - 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 - 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 - 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 + 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 + 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 + 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 + 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 + 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 + 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 + 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 + 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 9e362dd3ac..304db9fd60 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:00 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -16,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 -global_scalar: 18.340560167414335 + -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 +global_scalar: 18.340560167414306 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -37,14 +36,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 + 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 + 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 + 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -66,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 - 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 - 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 - 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 - 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 - 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 - 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 - 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 - 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 + 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 + 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 + 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 + 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 + 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 + 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 + 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 + 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 + 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index 420e54be25..c80a70b428 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:00 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 -global_scalar: 29.023636439584656 + 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 +global_scalar: 29.023636440847998 run_pos: ! |2 - 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 - 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 - 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 - 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 - 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 - 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 - 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 - 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 - 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 - 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 - 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 - 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 - 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 - 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 - 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 - 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 - 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 - 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 - 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 - 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 - 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 - 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 - 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 - 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 - 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 - 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 - 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 - 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 - 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 + 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 + 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 + 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 + 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 + 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 + 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 + 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 + 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 + 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 + 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 + 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 + 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 + 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 + 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 + 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 + 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 + 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 + 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 + 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 + 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 + 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 + 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 + 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 + 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 + 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 + 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 + 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 + 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 + 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 - 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 - 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 - 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 - 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 - 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 - 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 - 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 - 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 + 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 + 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 + 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 + 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 + 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 + 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 + 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 + 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 + 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 4d16fc12a0..3894815950 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:00 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -15,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 -global_scalar: 9.776787862991728 + 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 +global_scalar: 9.77678786310451 run_pos: ! |2 - 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 - 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 - 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 - 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 - 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 - 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 - 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 - 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 - 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 - 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 - 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 - 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 - 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 - 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 - 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 - 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 - 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 - 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 - 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 - 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 - 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 - 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 - 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 - 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 - 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 - 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 - 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 - 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 - 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 + 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 + 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 + 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 + 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 + 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 + 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 + 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 + 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 + 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 + 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 + 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 + 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 + 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 + 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 + 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 + 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 + 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 + 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 + 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 + 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 + 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 + 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 + 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 + 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 + 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 + 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 + 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 + 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 + 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 - 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 - 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 - 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 - 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 - 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 - 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 - 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 - 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 + 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 + 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 + 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 + 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 + 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 + 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 + 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 + 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 + 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index 5504ed4686..f5965e53ff 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:01 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +13,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 -global_scalar: 106.86683072474244 + -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 +global_scalar: 106.86683072474125 run_pos: ! |2 - 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 - 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 - 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 - 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 - 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 - 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 - 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 - 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 - 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 - 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 - 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 - 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 - 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 - 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 - 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 - 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 - 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 - 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 - 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 - 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 - 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 - 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 - 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 - 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 - 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 - 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 - 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 - 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 - 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 + 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 + 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 + 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 + 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 + 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 + 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 + 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 + 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 + 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 + 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 + 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 + 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 + 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 + 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 + 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 + 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 + 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 + 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 + 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 + 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 + 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 + 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 + 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 + 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 + 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 + 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 + 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 + 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 + 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 run_vel: ! |2 - 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 - 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 - 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 - 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 - 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 - 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 - 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 - 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 - 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 - 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 - 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 - 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 - 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 - 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 - 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 - 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 - 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 - 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 - 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 - 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 - 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 - 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 - 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 - 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 - 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 - 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 + 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 + 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 + 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 + 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 + 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 + 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 + 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 + 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 + 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 + 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 + 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 + 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 + 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 + 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 + 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 + 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 + 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 + 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 + 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 + 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 + 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 + 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 + 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 + 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 + 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 + 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index d04c58e083..3b13658e19 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:01 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +13,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 -global_scalar: 77.78983430422252 + -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 +global_scalar: 77.78983430293286 run_pos: ! |2 - 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 - 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 - 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 - 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 - 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 - 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 - 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 - 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 - 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 - 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 - 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 - 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 - 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 - 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 - 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 - 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 - 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 - 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 - 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 - 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 - 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 - 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 - 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 - 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 - 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 - 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 - 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 - 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 - 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 + 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 + 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 + 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 + 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 + 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 + 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 + 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 + 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 + 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 + 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 + 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 + 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 + 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 + 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 + 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 + 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 + 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 + 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 + 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 + 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 + 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 + 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 + 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 + 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 + 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 + 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 + 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 + 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 + 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +63,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 - 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 - 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 - 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 - 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 - 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 - 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 - 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 - 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 + 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 + 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 + 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 + 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 + 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 + 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 + 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 + 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 + 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index fc5948cb52..b20d639fd4 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:02 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 -global_scalar: 15.711521423178162 + -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 +global_scalar: 15.711521423178128 run_pos: ! |2 - 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 - 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 - 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 - 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 - 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 - 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 - 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 - 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 - 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 - 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 - 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 - 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 - 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 - 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 - 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 - 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 - 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 - 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 - 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 - 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 - 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 - 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 - 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 - 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 - 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 - 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 + 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 + 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 + 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 + 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 + 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 + 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 + 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 + 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 + 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 + 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 + 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 + 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 + 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 + 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 + 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 + 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 + 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 + 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 + 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 + 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 + 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 + 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 + 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 + 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 + 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 + 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 - 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 - 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 - 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 - 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 - 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 - 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 - 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 - 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 - 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 - 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 - 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 - 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 - 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 - 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 - 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 - 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 - 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 - 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 - 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 - 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 - 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 - 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 - 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 - 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 - 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 + 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 + 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 + 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 + 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 + 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 + 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 + 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 + 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 + 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 + 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 + 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 + 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 + 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 + 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 + 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 + 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 + 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 + 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 + 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 + 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 + 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 + 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 + 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 + 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 + 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 + 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 0f36c31a95..839ac060a5 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:02 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 -global_scalar: 18.340560165889197 + -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 +global_scalar: 18.340560167364448 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 - 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 - 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 - 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 - 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 - 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 - 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 - 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 - 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 + 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 + 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 + 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 + 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 + 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 + 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 + 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 + 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 + 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 - 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 - 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 - 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 - 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 - 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 - 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 - 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 - 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 + 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 + 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 + 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 + 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 + 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 + 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 + 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 + 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 + 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 6a8c54f4a9..854e8b4d45 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:03 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 -global_scalar: 4.531423038570381 + -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 +global_scalar: 4.531423038570333 run_pos: ! |2 - 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 - 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 - 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 - 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 - 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 - 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 - 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 - 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 - 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 - 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 - 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 - 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 - 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 - 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 - 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 - 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 - 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 + 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 + 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 + 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 + 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 + 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 + 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 + 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 + 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 + 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 + 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 + 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 + 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 + 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 + 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 + 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 + 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 + 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -48,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 - 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 - 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 - 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 - 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 - 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 - 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 - 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 - 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 - 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 - 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 - 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 - 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 - 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 - 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 - 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 - 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 + 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 + 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 + 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 + 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 + 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 + 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 + 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 + 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 + 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 + 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 + 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 + 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 + 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 + 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 + 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 + 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 + 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 7b702a4f2a..664921b147 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:03 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 -global_scalar: 0.5007318719399354 + -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 +global_scalar: 0.5007318719663203 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 - 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 - 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 - 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 - 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 - 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 - 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 - 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 - 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 + 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 + 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 + 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 + 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 + 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 + 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 + 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 + 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 + 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 - 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 - 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 - 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 - 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 - 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 - 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 - 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 - 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 + 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 + 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 + 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 + 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 + 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 + 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 + 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 + 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 + 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index b8ec6036a3..a49508ca15 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,8 +1,7 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:03 2024 -epsilon: 1e-12 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 +epsilon: 5e-13 skip_tests: prerequisites: ! | atom full @@ -14,26 +13,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 -global_scalar: 68.08659647424867 + -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 +global_scalar: 68.08659647423171 run_pos: ! |2 - 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 - 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 - 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 - 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 - 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 - 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 - 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 - 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 - 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 - 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 - 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 - 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 - 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 - 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 - 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 - 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 - 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 + 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 + 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 + 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 + 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 + 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 + 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 + 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 + 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 + 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 + 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 + 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 + 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 + 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 + 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 + 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 + 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 + 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +46,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 - 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 - 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 - 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 - 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 - 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 - 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 - 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 - 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 - 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 - 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 - 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 - 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 - 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 - 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 - 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 - 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 + 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 + 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 + 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 + 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 + 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 + 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 + 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 + 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 + 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 + 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 + 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 + 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 + 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 + 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 + 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 + 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 + 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index deeee40b52..6068993094 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:04 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +13,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 -global_scalar: 0.9532609552151339 + -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 +global_scalar: 0.9532609554739606 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +33,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 - 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 - 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 - 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 - 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 - 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 - 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 - 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 - 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 + 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 + 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 + 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 + 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 + 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 + 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 + 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 + 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 + 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +63,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 - 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 - 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 - 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 - 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 - 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 - 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 - 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 - 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 + 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 + 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 + 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 + 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 + 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 + 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 + 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 + 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 + 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index a8087adef5..02acb437d9 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:04 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -15,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 -global_scalar: 4.531423038570312 + -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 +global_scalar: 4.531423038570297 run_pos: ! |2 - 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 - 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 - 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 - 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 - 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 - 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 - 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 - 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 - 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 - 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 - 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 - 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 - 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 - 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 - 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 + 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 + 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 + 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 + 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 + 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 + 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 + 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 + 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 + 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 + 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 + 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 + 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 + 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 + 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 + 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -48,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 - 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 - 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 - 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 - 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 - 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 - 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 - 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 - 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 - 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 - 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 - 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 - 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 - 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 - 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 - 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 - 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 + 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 + 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 + 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 + 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 + 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 + 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 + 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 + 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 + 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 + 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 + 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 + 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 + 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 + 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 + 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 + 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 + 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 0eae9f7559..92754f85f5 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:05 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 -global_scalar: 18.340560167414402 + -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 +global_scalar: 18.3405601674144 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 - 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 - 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 - 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 + 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 + 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 + 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 - 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 + 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 + 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 - 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 - 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 - 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 - 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 - 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 - 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 - 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 + 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 + 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 + 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 + 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 + 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 + 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 + 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 + 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index 15ce3ae605..1da2dfa33c 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -1922,58 +1922,70 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 13.982119044342252, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 13.982119044342252, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 13.945895752275419, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.10811427523057447, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.10811427523057447, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 19.018309360029388, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 19.018309360029388, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979012, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.36886008861549813, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.63633478678991862, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.66894644809679971, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], 0.26478147716387457, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], 0.27835132126616718, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.90191325590647375, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], 0.2009681312851252, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], 0.1002758475123109, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], 0.36892959143125958, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.34503278332913523, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.17090845404750615, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.44689296000042461, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.80748335033318219, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], -0.18681344121910512, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], 0.18561232929671317, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.47901475403318072, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], -0.69845793336676587, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], -0.22223836695322477, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], 0.22080949143752887, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.63043795621810073, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], 0.17705460333259254, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.15093208974463557, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], 0.22007613459534847, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], 0.40905180817232961, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], -0.40642182073424171, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], 0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], 0.044180917525128927, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.32808266428854477, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], 0.4783817987714174, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.36886008861549813, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.63718542087921404, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.66984067651944412, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], -0.26272786480888066, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], -0.27619246288035992, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.70865471105868871, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], 0.40297854431552654, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], -0.56684324752832238, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], 0.11876668744732566, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.55997606330452898, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.69182747953492685, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.072026021657128514, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.45012642589672475, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288905, EPSILON); + EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163631, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], 0.18561232929671426, EPSILON); + EXPECT_NEAR(bonus[1].c1[1], 0.51379191773154387, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], 0.18681344121910506, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.22123552085772166, EPSILON); + EXPECT_NEAR(bonus[2].c1[1], -0.28372571379613187, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], 0.78775285695558617, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.69845793336676587, EPSILON); + EXPECT_NEAR(bonus[3].c1[1], 0.18083523090249506, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], 0.47901475403318056, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); + EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], 0.2208094914375279, EPSILON); + EXPECT_NEAR(bonus[1].c2[1], -0.4849604211463005, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], 0.22223836695322477, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.17705460333259249, EPSILON); + EXPECT_NEAR(bonus[2].c2[1], -0.56674478453558153, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], -0.6304379562181005, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.22007613459534958, EPSILON); + EXPECT_NEAR(bonus[3].c2[1], -0.82388470022624394, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], -0.15093208974463557, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); + EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], -0.40642182073424188, EPSILON); + EXPECT_NEAR(bonus[1].c3[1], -0.028831496585242929, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], -0.40905180817232945, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], 0.044180917525129149, EPSILON); + EXPECT_NEAR(bonus[2].c3[1], 0.85047049833171351, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], -0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.47838179877141634, EPSILON); + EXPECT_NEAR(bonus[3].c3[1], 0.64304946932374796, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], -0.32808266428854477, EPSILON); BEGIN_HIDE_OUTPUT(); command("group two id 2:4:2"); @@ -2036,58 +2048,70 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.90191325590647375, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.2009681312851252, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], 0.1002758475123109, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], 0.36892959143125958, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.92373678792937974, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], 0.0067268233964605136, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], 0.016239988275423622, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], -0.38262430562330857, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.90191325590647375, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.2009681312851252, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.1002758475123109, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.36892959143125958, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], -0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], 0.63043795621810073, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], 0.17705460333259254, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.55733290519255363, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], 0.019602723119529656, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.63043795621810073, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], 0.17705460333259254, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], 0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], 0.044180917525128927, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], -0.4079960033309174, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], -0.014350189290200809, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], 0.044180917525128927, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.70865471105868871, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.40297854431552654, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], -0.56684324752832238, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], 0.11876668744732566, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.66466395261228639, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], -0.26579965871355399, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], -0.64169714094040209, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], -0.27531282359251713, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.70865471105868871, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.40297854431552654, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], -0.56684324752832238, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.11876668744732566, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[1].c1[1], -0.28372571379613187, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], 0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.0052525338293288905, EPSILON); + EXPECT_NEAR(bonus[2].c1[1], -0.55767753582520529, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], 0.14933690186163631, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.22123552085772166, EPSILON); + EXPECT_NEAR(bonus[3].c1[1], -0.28372571379613187, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], 0.78775285695558617, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); + EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], 0.17705460333259249, EPSILON); + EXPECT_NEAR(bonus[1].c2[1], -0.56674478453558153, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], -0.6304379562181005, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.019602723119529659, EPSILON); + EXPECT_NEAR(bonus[2].c2[1], 0.14942924536134222, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], -0.55733290519255385, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.17705460333259249, EPSILON); + EXPECT_NEAR(bonus[3].c2[1], -0.56674478453558153, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], -0.6304379562181005, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); + EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], 0.044180917525129149, EPSILON); + EXPECT_NEAR(bonus[1].c3[1], 0.85047049833171351, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], -0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], -0.014350189290200811, EPSILON); + EXPECT_NEAR(bonus[2].c3[1], 0.40824829046386302, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], 0.40799600333091751, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.044180917525129149, EPSILON); + EXPECT_NEAR(bonus[3].c3[1], 0.85047049833171351, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], -0.15731490073748589, EPSILON); BEGIN_HIDE_OUTPUT(); command("reset_atoms id"); @@ -2116,18 +2140,18 @@ TEST_F(AtomStyleTest, tri) ASSERT_EQ(tri[GETIDX(6)], -1); ASSERT_EQ(tri[GETIDX(7)], 3); ASSERT_EQ(tri[GETIDX(8)], -1); - EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); } TEST_F(AtomStyleTest, body_nparticle) @@ -2323,18 +2347,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2495,18 +2519,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2519,10 +2543,10 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(bonus[2].quat[1], 0.25056280708573159, EPSILON); EXPECT_NEAR(bonus[2].quat[2], 0.0, EPSILON); EXPECT_NEAR(bonus[2].quat[3], 0.25056280708573148, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.070424771223903379, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.81345375914352225, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.56848787755882768, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], -0.10077135705145905, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.62499650256800654, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.47323774316465234, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.33072552332373728, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.52540083597613996, EPSILON); ASSERT_EQ(bonus[0].ilocal, 0); ASSERT_EQ(bonus[1].ilocal, 1); ASSERT_EQ(bonus[2].ilocal, 2); @@ -2610,18 +2634,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(9)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.49099767504559777, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); From 78a3a7b9c24ef099297fc038b7acff281aef7ff8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 2 Apr 2024 23:28:14 -0400 Subject: [PATCH 27/62] add optional argument to enable overriding sort order or eigenvalues/vectors --- src/math_eigen.cpp | 24 ++++++++++++++++++++---- src/math_eigen.h | 5 +++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..c79a61f84a 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -31,7 +31,7 @@ using namespace MathEigen; typedef Jacobi Jacobi_v1; typedef Jacobi Jacobi_v2; -int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) +int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort) { // make copy of const matrix @@ -44,7 +44,15 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = 1; + if (sort == -1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + else if (sort == 0) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::DO_NOT_SORT); + else if (sort == 1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); + + if (ierror) return ierror; // transpose the evec matrix @@ -54,7 +62,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) return ierror; } -int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) +int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort) { // make copy of const matrix @@ -67,7 +75,15 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = 1; + if (sort == -1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + else if (sort == 0) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::DO_NOT_SORT); + else if (sort == 1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); + + if (ierror) return ierror; // transpose the evec matrix diff --git a/src/math_eigen.h b/src/math_eigen.h index 9f2431e14a..c7a3853767 100644 --- a/src/math_eigen.h +++ b/src/math_eigen.h @@ -22,13 +22,14 @@ namespace MathEigen { * \param mat the 3x3 matrix you wish to diagonalize * \param eval store the eigenvalues here * \param evec store the eigenvectors here... + * \param sort order eigenvalues and -vectors (-1 decreasing (default), 1 increasing, 0 unsorted) * \return 0 if eigenvalue calculation converged, 1 if it failed */ -int jacobi3(double const *const *mat, double *eval, double **evec); +int jacobi3(double const *const *mat, double *eval, double **evec, int sort = -1); /** \overload */ -int jacobi3(double const mat[3][3], double *eval, double evec[3][3]); +int jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort = -1); } // namespace MathEigen From c0abefeacbe931f5b2b359d80833369fbe85fdf4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 2 Apr 2024 23:53:25 -0400 Subject: [PATCH 28/62] update links in manual to jacobi3() docs --- doc/src/Developer_utils.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 625ce15202..76e90e17ba 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -635,10 +635,10 @@ Tohoku University (under MIT license) ---------- -.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) +.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort) :project: progguide -.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) +.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort) :project: progguide --------------------------- From d06b86916ac342ef6b1bd88adb1fd4bdddd7e844 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 3 Apr 2024 11:11:16 -0600 Subject: [PATCH 29/62] more debugging --- src/math_eigen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 42d95a1288..99c8d38290 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVAL); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); // transpose the evec matrix From 4329c4c37f6a12cabaa7d2237242fd3949d4963f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 3 Apr 2024 11:11:52 -0600 Subject: [PATCH 30/62] changes to rigid and rigid/small --- src/RIGID/fix_rigid.cpp | 57 ++++++++++++++++++++++++++++------- src/RIGID/fix_rigid_small.cpp | 46 +++++++++++++++++++++++++--- 2 files changed, 87 insertions(+), 16 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 9553d0b9fc..c728c66c4f 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -39,7 +39,7 @@ #include // DEBUG -#define IBODY 42 +#define IBODY 10 using namespace LAMMPS_NS; using namespace FixConst; @@ -901,6 +901,14 @@ void FixRigid::setup(int vflag) ez_space[ibody],inertia[ibody],omega[ibody]); if (ibody == IBODY) printf("SETUP omega: %g %g %g\n", omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], + omega[ibody][0],omega[ibody][1],omega[ibody][2], + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); } set_v(); @@ -951,7 +959,7 @@ void FixRigid::initial_integrate(int vflag) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf("BODY %d: start of step %ld\n",ibody,update->ntimestep); printf(" interia %g %g %g\n", inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); @@ -972,7 +980,7 @@ void FixRigid::initial_integrate(int vflag) MathExtra::richardson(quat[ibody],angmom[ibody],omega[ibody], inertia[ibody],dtq); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf(" richardson omega %g %g %g\n", omega[ibody][0],omega[ibody][1],omega[ibody][2]); printf(" richardson quat %15.12g %15.12g %15.12g %15.12g\n", @@ -982,7 +990,7 @@ void FixRigid::initial_integrate(int vflag) MathExtra::q_to_exyz(quat[ibody], ex_space[ibody],ey_space[ibody],ez_space[ibody]); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf(" exnew %g %g %g\n", ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); printf(" eynew %g %g %g\n", @@ -1002,7 +1010,7 @@ void FixRigid::initial_integrate(int vflag) } */ - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf(" quatnew2 %15.12g %15.12g %15.12g %15.12g\n", quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); printf(" exnew2 %g %g %g\n", @@ -1090,7 +1098,7 @@ void FixRigid::final_integrate() MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf("BODY %d: end of step %ld\n",ibody,update->ntimestep); printf(" interia %g %g %g\n", inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); @@ -1111,6 +1119,20 @@ void FixRigid::final_integrate() // virial is already setup from initial_integrate set_v(); + + if (update->ntimestep == 500) { + for (ibody = 0; ibody < nbody; ibody++) { + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], + omega[ibody][0],omega[ibody][1],omega[ibody][2], + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } + } + } /* ---------------------------------------------------------------------- */ @@ -1314,11 +1336,6 @@ void FixRigid::enforce2d() angmom[ibody][1] = 0.0; omega[ibody][0] = 0.0; omega[ibody][1] = 0.0; - if (langflag && langextra) { - langextra[ibody][2] = 0.0; - langextra[ibody][3] = 0.0; - langextra[ibody][4] = 0.0; - } } } @@ -2038,6 +2055,7 @@ void FixRigid::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia + // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2066,6 +2084,23 @@ void FixRigid::setup_bodies_static() ez_space[ibody][1] = evectors[1][2]; ez_space[ibody][2] = evectors[2][2]; + // for 2d, ensure that evector along z axis is last + // necessary so that quaternion is a simple rotation around +z axis + // or a 180 degree rotation for a -z axis + // otherwise richardson() method for a body with a tiny evalue (near-linear) + // may not preserve the correct z-aligned quat and assocated evectors + // over time due to round-off accumulation + + if (domain->dimension == 2) { + if (fabs(ez_space[ibody][0]) > EPSILON || fabs(ez_space[ibody][1]) > EPSILON) { + printf("AAA EVEC SWAP %d\n",ibody); + std::swap(inertia[ibody][1],inertia[ibody][2]); + std::swap(ey_space[ibody][0],ez_space[ibody][0]); + std::swap(ey_space[ibody][1],ez_space[ibody][1]); + std::swap(ey_space[ibody][2],ez_space[ibody][2]); + } + } + // if any principal moment < scaled EPSILON, set to 0.0 double max; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 9e185a4de2..b61d264d0a 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -704,6 +704,14 @@ void FixRigidSmall::setup(int vflag) Body *b = &body[ibody]; MathExtra::angmom_to_omega(b->angmom,b->ex_space,b->ey_space, b->ez_space,b->inertia,b->omega); + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + b->quat[0],b->quat[1],b->quat[2],b->quat[3], + b->omega[0],b->omega[1],b->omega[2], + b->inertia[0],b->inertia[1],b->inertia[2], + b->ex_space[0],b->ex_space[1],b->ex_space[2], + b->ey_space[0],b->ey_space[1],b->ey_space[2], + b->ez_space[0],b->ez_space[1],b->ez_space[2]); } commflag = FINAL; @@ -871,6 +879,21 @@ void FixRigidSmall::final_integrate() // virial is already setup from initial_integrate set_v(); + + if (update->ntimestep == 1000) { + for (int ibody = 0; ibody < nlocal_body; ibody++) { + Body *b = &body[ibody]; + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + b->quat[0],b->quat[1],b->quat[2],b->quat[3], + b->omega[0],b->omega[1],b->omega[2], + b->inertia[0],b->inertia[1],b->inertia[2], + b->ex_space[0],b->ex_space[1],b->ex_space[2], + b->ey_space[0],b->ey_space[1],b->ey_space[2], + b->ez_space[0],b->ez_space[1],b->ez_space[2]); + } + } + } /* ---------------------------------------------------------------------- */ @@ -1110,11 +1133,6 @@ void FixRigidSmall::enforce2d() b->angmom[1] = 0.0; b->omega[0] = 0.0; b->omega[1] = 0.0; - if (langflag && langextra) { - langextra[ibody][2] = 0.0; - langextra[ibody][3] = 0.0; - langextra[ibody][4] = 0.0; - } } } @@ -2102,6 +2120,7 @@ void FixRigidSmall::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia + // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2134,6 +2153,22 @@ void FixRigidSmall::setup_bodies_static() ez[1] = evectors[1][2]; ez[2] = evectors[2][2]; + // for 2d, ensure that evector along z axis is last + // necessary so that quaternion is a simple rotation around +z axis + // or a 180 degree rotation for a -z axis + // otherwise richardson() method for a body with a tiny evalue (near-linear) + // may not preserve the correct z-aligned quat and assocated evectors + // over time due to round-off accumulation + + if (domain->dimension == 2) { + if (fabs(ez[0]) > EPSILON || fabs(ez[1]) > EPSILON) { + std::swap(inertia[1],inertia[2]); + std::swap(ey[0],ez[0]); + std::swap(ey[1],ez[1]); + std::swap(ey[2],ez[2]); + } + } + // if any principal moment < scaled EPSILON, set to 0.0 double max; @@ -2156,6 +2191,7 @@ void FixRigidSmall::setup_bodies_static() // convert geometric center position to principal axis coordinates // xcm is wrapped, but xgc is not initially + xcm = body[ibody].xcm; xgc = body[ibody].xgc; double delta[3]; From 39d12e48d6c81fb84500ac99f40fcd0dd7b85063 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 15:04:39 -0400 Subject: [PATCH 31/62] must always return nfaces=0 for less than 3 vertices --- src/BODY/body_rounded_polyhedron.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index 991f52cac5..6aa15b740b 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -99,10 +99,9 @@ int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus) { int nvertices = bonus->ivalue[0]; int nedges = bonus->ivalue[1]; - //int nfaces = bonus->ivalue[2]; if (nvertices == 1) return 0; else if (nvertices == 2) return 1; - return nedges; //(nvertices+nfaces-2); // Euler formula: V-E+F=2 + return nedges; } /* ---------------------------------------------------------------------- */ @@ -116,6 +115,9 @@ double *BodyRoundedPolyhedron::edges(AtomVecBody::Bonus *bonus) int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus) { + int nvertices = bonus->ivalue[0]; + if (nvertices < 3) return 0; + return bonus->ivalue[2]; } From ecd8fe71a1890aa4fac05f3cdcefa5a190cc046e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 15:05:09 -0400 Subject: [PATCH 32/62] cosmetic --- src/BODY/pair_body_rounded_polygon.cpp | 12 ++++-------- src/BODY/pair_body_rounded_polyhedron.cpp | 21 +++++++-------------- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 432f1d5c9c..14f4f27582 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -415,17 +415,14 @@ void PairBodyRoundedPolygon::init_style() if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires " - "body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); bptr = dynamic_cast(avec->bptr); if (force->newton_pair == 0) - error->all(FLERR,"Pair style body/rounded/polygon requires " - "newton pair on"); + error->all(FLERR,"Pair style body/rounded/polygon requires newton pair on"); if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polygon requires " - "ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); neighbor->add_request(this); @@ -570,8 +567,7 @@ void PairBodyRoundedPolygon::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,"Inconsistent edge data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 82660df1e0..e82b1bcaef 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -222,8 +222,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // sphere-sphere interaction if (npi == 1 && npj == 1) { - sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, - rsq, v, f, evflag); + sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, rsq, v, f, evflag); continue; } @@ -391,20 +390,16 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) void PairBodyRoundedPolyhedron::init_style() { avec = dynamic_cast(atom->style_match("body")); - if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires " - "atom style body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires " - "body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); bptr = dynamic_cast(avec->bptr); if (force->newton_pair == 0) - error->all(FLERR,"Pair style body/rounded/polyhedron requires " - "newton pair on"); + error->all(FLERR,"Pair style body/rounded/polyhedron requires newton pair on"); if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires " - "ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); neighbor->add_request(this); @@ -558,8 +553,7 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,"Inconsistent edge data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); @@ -585,8 +579,7 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_faces > 0) && (face_pts == nullptr)) - error->one(FLERR,"Inconsistent face data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent face data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_faces; m++) { for (int k = 0; k < MAX_FACE_SIZE; k++) From 4c9924984db90d47adb49fa76a64eb79d2e8efea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 15:58:24 -0400 Subject: [PATCH 33/62] modify access to fixes --- src/BODY/pair_body_rounded_polygon.cpp | 25 ++++++++++------------- src/BODY/pair_body_rounded_polyhedron.cpp | 24 +++++++++------------- 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 14f4f27582..2293f56a98 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -460,27 +460,24 @@ void PairBodyRoundedPolygon::init_style() for (i = 1; i <= ntypes; i++) maxerad[i] = merad[i] = 0; - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; + Fix *fixpour = nullptr; + auto pours = modify->get_fix_by_style("^pour"); + if (pours.size() > 0) fixpour = pours[0]; + + Fix *fixdep = nullptr; + auto deps = modify->get_fix_by_style("^deposit"); + if (deps.size() > 0) fixdep = deps[0]; - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; for (i = 1; i <= ntypes; i++) { merad[i] = 0.0; - if (ipour >= 0) { + if (fixpour) { itype = i; - merad[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + merad[i] = *((double *) fixpour->extract("radius",itype)); } - if (idep >= 0) { + if (fixdep) { itype = i; - merad[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + merad[i] = *((double *) fixdep->extract("radius",itype)); } } diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index e82b1bcaef..ed83dc49e2 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -441,27 +441,23 @@ void PairBodyRoundedPolyhedron::init_style() for (i = 1; i <= ntypes; i++) maxerad[i] = merad[i] = 0; - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; + Fix *fixpour = nullptr; + auto pours = modify->get_fix_by_style("^pour"); + if (pours.size() > 0) fixpour = pours[0]; - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + Fix *fixdep = nullptr; + auto deps = modify->get_fix_by_style("^deposit"); + if (deps.size() > 0) fixdep = deps[0]; for (i = 1; i <= ntypes; i++) { merad[i] = 0.0; - if (ipour >= 0) { + if (fixpour) { itype = i; - merad[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + merad[i] = *((double *) fixpour->extract("radius",itype)); } - if (idep >= 0) { + if (fixdep) { itype = i; - merad[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + merad[i] = *((double *) fixdep->extract("radius",itype)); } } From f637299ac5153033e3bdc320ab05e22d08823bb6 Mon Sep 17 00:00:00 2001 From: maitanemuba Date: Thu, 4 Apr 2024 18:18:10 +0200 Subject: [PATCH 34/62] Added symmetrization of cutoff in init_one() and fixed a print --- src/ASPHERE/pair_ylz.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ASPHERE/pair_ylz.cpp b/src/ASPHERE/pair_ylz.cpp index a678712619..833dc8e3e4 100644 --- a/src/ASPHERE/pair_ylz.cpp +++ b/src/ASPHERE/pair_ylz.cpp @@ -300,6 +300,7 @@ double PairYLZ::init_one(int i, int j) zeta[j][i] = zeta[i][j]; mu[j][i] = mu[i][j]; beta[j][i] = beta[i][j]; + cut[j][i] = cut[i][j]; return cut[i][j]; } @@ -409,7 +410,7 @@ void PairYLZ::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][i], sigma[i][i], cut[i][j], + fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][j], sigma[i][j], cut[i][j], zeta[i][j], mu[i][j], beta[i][j]); } From 65cdc76c992887c72115c558d155de986d48c897 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 13:07:35 -0600 Subject: [PATCH 35/62] final changes for 2d rigid bodies with jacobi --- .../micelle/log.29Mar2019.micelle-rigid.g++.1 | 260 ----------------- .../micelle/log.29Mar2019.micelle-rigid.g++.4 | 260 ----------------- .../micelle/log.4Apr2024.micelle-rigid.g++.1 | 271 +++++++++++++++++ .../micelle/log.4Apr2024.micelle-rigid.g++.4 | 272 ++++++++++++++++++ src/RIGID/fix_rigid.cpp | 107 +------ src/RIGID/fix_rigid_small.cpp | 30 +- 6 files changed, 551 insertions(+), 649 deletions(-) delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.1 delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.4 create mode 100644 examples/micelle/log.4Apr2024.micelle-rigid.g++.1 create mode 100644 examples/micelle/log.4Apr2024.micelle-rigid.g++.4 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 deleted file mode 100644 index f1001e6cea..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000473022 secs - read_data CPU = 0.0024147 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00022316 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms - -Performance: 2093802.885 tau/day, 4846.766 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 -Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 -Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 -Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 -Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 -Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 -Other | | 0.002726 | | | 2.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 197 ave 197 max 197 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3094 ave 3094 max 3094 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms - -Performance: 1208012.705 tau/day, 2796.326 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 -Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 -Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 -Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 -Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 -Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 -Other | | 0.00293 | | | 1.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 416 ave 416 max 416 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8769 ave 8769 max 8769 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.00015378 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 -Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms - -Performance: 1297278.008 tau/day, 3002.958 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 -Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 -Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 -Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 -Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 -Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 -Other | | 0.003141 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8743 ave 8743 max 8743 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 deleted file mode 100644 index e65f67a527..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000422001 secs - read_data CPU = 0.00473404 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000183344 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms - -Performance: 5066547.720 tau/day, 11728.120 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 -Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 -Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 -Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 -Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 -Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 -Other | | 0.002669 | | | 6.26 - -Nlocal: 300 ave 304 max 292 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Nghost: 103.5 ave 108 max 98 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 773.5 ave 792 max 735 min -Histogram: 1 0 0 0 0 0 0 0 2 1 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms - -Performance: 2434100.210 tau/day, 5634.491 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 -Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 -Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 -Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 -Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 -Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 -Other | | 0.002938 | | | 3.31 - -Nlocal: 300 ave 309 max 291 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 218.75 ave 223 max 216 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Neighs: 2192.25 ave 2251 max 2113 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 7.70092e-05 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 -Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms - -Performance: 3671840.233 tau/day, 8499.630 timesteps/s -98.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 -Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 -Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 -Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 -Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 -Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 -Other | | 0.00224 | | | 3.81 - -Nlocal: 300 ave 303 max 295 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 219 ave 224 max 215 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 2185.75 ave 2244 max 2143 min -Histogram: 1 1 0 0 0 1 0 0 0 1 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 b/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 new file mode 100644 index 0000000000..d3cb98940d --- /dev/null +++ b/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 @@ -0,0 +1,271 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified) +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.005 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0365221 on 1 procs for 500 steps with 1200 atoms + +Performance: 5914221.123 tau/day, 13690.327 timesteps/s, 16.428 Matom-step/s +89.2% 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.022939 | 0.022939 | 0.022939 | 0.0 | 62.81 +Bond | 0.00073851 | 0.00073851 | 0.00073851 | 0.0 | 2.02 +Neigh | 0.0078339 | 0.0078339 | 0.0078339 | 0.0 | 21.45 +Comm | 0.00072134 | 0.00072134 | 0.00072134 | 0.0 | 1.98 +Output | 7.1419e-05 | 7.1419e-05 | 7.1419e-05 | 0.0 | 0.20 +Modify | 0.0034868 | 0.0034868 | 0.0034868 | 0.0 | 9.55 +Other | | 0.0007314 | | | 2.00 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 197 ave 197 max 197 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3094 ave 3094 max 3094 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.5783333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0650638 on 1 procs for 500 steps with 1200 atoms + +Performance: 3319817.322 tau/day, 7684.762 timesteps/s, 9.222 Matom-step/s +100.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.027565 | 0.027565 | 0.027565 | 0.0 | 42.37 +Bond | 0.0007043 | 0.0007043 | 0.0007043 | 0.0 | 1.08 +Neigh | 0.012724 | 0.012724 | 0.012724 | 0.0 | 19.56 +Comm | 0.00091442 | 0.00091442 | 0.00091442 | 0.0 | 1.41 +Output | 6.004e-05 | 6.004e-05 | 6.004e-05 | 0.0 | 0.09 +Modify | 0.022329 | 0.022329 | 0.022329 | 0.0 | 34.32 +Other | | 0.0007666 | | | 1.18 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 411 ave 411 max 411 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8759 ave 8759 max 8759 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8759 +Ave neighs/atom = 7.2991667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 46 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630988 +Loop time of 0.0592806 on 1 procs for 500 steps with 1200 atoms + +Performance: 3643690.276 tau/day, 8434.468 timesteps/s, 10.121 Matom-step/s +100.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.026866 | 0.026866 | 0.026866 | 0.0 | 45.32 +Bond | 0.00071863 | 0.00071863 | 0.00071863 | 0.0 | 1.21 +Neigh | 0.010927 | 0.010927 | 0.010927 | 0.0 | 18.43 +Comm | 0.00084187 | 0.00084187 | 0.00084187 | 0.0 | 1.42 +Output | 6.8106e-05 | 6.8106e-05 | 6.8106e-05 | 0.0 | 0.11 +Modify | 0.019075 | 0.019075 | 0.019075 | 0.0 | 32.18 +Other | | 0.000783 | | | 1.32 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 417 ave 417 max 417 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8654 ave 8654 max 8654 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8654 +Ave neighs/atom = 7.2116667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 39 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 b/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 new file mode 100644 index 0000000000..ce15cfec21 --- /dev/null +++ b/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0138659 on 4 procs for 500 steps with 1200 atoms + +Performance: 15577811.312 tau/day, 36059.748 timesteps/s, 43.272 Matom-step/s +99.9% 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.0053896 | 0.0057144 | 0.0060899 | 0.4 | 41.21 +Bond | 0.00020074 | 0.00021422 | 0.00022291 | 0.0 | 1.54 +Neigh | 0.0025301 | 0.0025401 | 0.0025501 | 0.0 | 18.32 +Comm | 0.0031194 | 0.0035074 | 0.0038196 | 0.4 | 25.30 +Output | 6.4137e-05 | 6.7743e-05 | 7.7909e-05 | 0.0 | 0.49 +Modify | 0.0013391 | 0.0013582 | 0.0013972 | 0.1 | 9.80 +Other | | 0.0004638 | | | 3.34 + +Nlocal: 300 ave 304 max 292 min +Histogram: 1 0 0 0 0 0 0 0 2 1 +Nghost: 103.5 ave 108 max 98 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 773.5 ave 792 max 735 min +Histogram: 1 0 0 0 0 0 0 0 2 1 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.5783333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0381773 on 4 procs for 500 steps with 1200 atoms + +Performance: 5657810.772 tau/day, 13096.784 timesteps/s, 15.716 Matom-step/s +99.6% 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.0059651 | 0.0062314 | 0.0066404 | 0.3 | 16.32 +Bond | 0.00021057 | 0.00022477 | 0.0002333 | 0.0 | 0.59 +Neigh | 0.0041424 | 0.0041487 | 0.0041512 | 0.0 | 10.87 +Comm | 0.004264 | 0.0047244 | 0.0050297 | 0.4 | 12.37 +Output | 8.2396e-05 | 8.6559e-05 | 9.6749e-05 | 0.0 | 0.23 +Modify | 0.021833 | 0.021946 | 0.022094 | 0.1 | 57.48 +Other | | 0.0008157 | | | 2.14 + +Nlocal: 300 ave 303 max 296 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 216.25 ave 219 max 214 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 2189.75 ave 2205 max 2173 min +Histogram: 1 0 0 0 1 0 1 0 0 1 + +Total # of neighbors = 8759 +Ave neighs/atom = 7.2991667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 46 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.0236819 on 4 procs for 500 steps with 1200 atoms + +Performance: 9120883.727 tau/day, 21113.157 timesteps/s, 25.336 Matom-step/s +99.9% 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.0058656 | 0.0059718 | 0.0061355 | 0.1 | 25.22 +Bond | 0.0002083 | 0.00022447 | 0.00023485 | 0.0 | 0.95 +Neigh | 0.0035477 | 0.0035644 | 0.0035824 | 0.0 | 15.05 +Comm | 0.0041037 | 0.0042227 | 0.0043024 | 0.1 | 17.83 +Output | 7.4355e-05 | 7.8273e-05 | 8.7777e-05 | 0.0 | 0.33 +Modify | 0.008976 | 0.0090549 | 0.0091663 | 0.1 | 38.24 +Other | | 0.0005654 | | | 2.39 + +Nlocal: 300 ave 306 max 295 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Nghost: 221 ave 226 max 217 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 2163.5 ave 2271 max 2100 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 8654 +Ave neighs/atom = 7.2116667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 39 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index c728c66c4f..6f8a9a2b7d 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -896,20 +896,9 @@ void FixRigid::setup(int vflag) // set velocities from angmom & omega - for (ibody = 0; ibody < nbody; ibody++) { + for (ibody = 0; ibody < nbody; ibody++) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - if (ibody == IBODY) printf("SETUP omega: %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], - omega[ibody][0],omega[ibody][1],omega[ibody][2], - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } set_v(); @@ -958,68 +947,10 @@ void FixRigid::initial_integrate(int vflag) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf("BODY %d: start of step %ld\n",ibody,update->ntimestep); - printf(" interia %g %g %g\n", - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); - printf(" angmom %g %g %g\n", - angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); - printf(" omega %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf(" ex %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" ey %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" ez %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - printf(" quat %15.12g %15.12g %15.12g %15.12g\n", - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); - } - MathExtra::richardson(quat[ibody],angmom[ibody],omega[ibody], inertia[ibody],dtq); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf(" richardson omega %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf(" richardson quat %15.12g %15.12g %15.12g %15.12g\n", - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); - } - MathExtra::q_to_exyz(quat[ibody], ex_space[ibody],ey_space[ibody],ez_space[ibody]); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf(" exnew %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" eynew %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" eznew %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } - - /* - if (ibody == 42) { - ex_space[ibody][0] = ex_space[ibody][1] = 0.0; - ex_space[ibody][2] = 1.0; - ey_space[ibody][2] = ez_space[ibody][2] = 0.0; - MathExtra::norm3(ey_space[ibody]); - MathExtra::norm3(ez_space[ibody]); - MathExtra::exyz_to_q(ex_space[ibody],ey_space[ibody],ez_space[ibody],quat[ibody]); - } - */ - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf(" quatnew2 %15.12g %15.12g %15.12g %15.12g\n", - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); - printf(" exnew2 %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" eynew2 %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" eznew2 %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } } // virial setup before call to set_xv @@ -1097,42 +1028,12 @@ void FixRigid::final_integrate() MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf("BODY %d: end of step %ld\n",ibody,update->ntimestep); - printf(" interia %g %g %g\n", - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); - printf(" angmom %g %g %g\n", - angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); - printf(" omega %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf(" ex %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" ey %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" ez %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } } // set velocity/rotation of atoms in rigid bodies // virial is already setup from initial_integrate set_v(); - - if (update->ntimestep == 500) { - for (ibody = 0; ibody < nbody; ibody++) { - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], - omega[ibody][0],omega[ibody][1],omega[ibody][2], - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } - } - } /* ---------------------------------------------------------------------- */ @@ -2055,7 +1956,8 @@ void FixRigid::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia - // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis + // request that jacobi3() return them in ascending order, + /// so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2070,7 +1972,7 @@ void FixRigid::setup_bodies_static() tensor[0][2] = tensor[2][0] = all[ibody][4]; tensor[0][1] = tensor[1][0] = all[ibody][5]; - ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors); + ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors,1); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); @@ -2093,7 +1995,6 @@ void FixRigid::setup_bodies_static() if (domain->dimension == 2) { if (fabs(ez_space[ibody][0]) > EPSILON || fabs(ez_space[ibody][1]) > EPSILON) { - printf("AAA EVEC SWAP %d\n",ibody); std::swap(inertia[ibody][1],inertia[ibody][2]); std::swap(ey_space[ibody][0],ez_space[ibody][0]); std::swap(ey_space[ibody][1],ez_space[ibody][1]); diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index b61d264d0a..4be8ce5571 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -704,16 +704,8 @@ void FixRigidSmall::setup(int vflag) Body *b = &body[ibody]; MathExtra::angmom_to_omega(b->angmom,b->ex_space,b->ey_space, b->ez_space,b->inertia,b->omega); - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - b->quat[0],b->quat[1],b->quat[2],b->quat[3], - b->omega[0],b->omega[1],b->omega[2], - b->inertia[0],b->inertia[1],b->inertia[2], - b->ex_space[0],b->ex_space[1],b->ex_space[2], - b->ey_space[0],b->ey_space[1],b->ey_space[2], - b->ez_space[0],b->ez_space[1],b->ez_space[2]); } - + commflag = FINAL; comm->forward_comm(this,10); @@ -879,21 +871,6 @@ void FixRigidSmall::final_integrate() // virial is already setup from initial_integrate set_v(); - - if (update->ntimestep == 1000) { - for (int ibody = 0; ibody < nlocal_body; ibody++) { - Body *b = &body[ibody]; - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - b->quat[0],b->quat[1],b->quat[2],b->quat[3], - b->omega[0],b->omega[1],b->omega[2], - b->inertia[0],b->inertia[1],b->inertia[2], - b->ex_space[0],b->ex_space[1],b->ex_space[2], - b->ey_space[0],b->ey_space[1],b->ey_space[2], - b->ez_space[0],b->ez_space[1],b->ez_space[2]); - } - } - } /* ---------------------------------------------------------------------- */ @@ -2120,7 +2097,8 @@ void FixRigidSmall::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia - // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis + // request that jacobi3() returns them in ascending order, + // so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2137,7 +2115,7 @@ void FixRigidSmall::setup_bodies_static() tensor[0][1] = tensor[1][0] = itensor[ibody][5]; inertia = body[ibody].inertia; - ierror = MathEigen::jacobi3(tensor,inertia,evectors); + ierror = MathEigen::jacobi3(tensor,inertia,evectors,1); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); ex = body[ibody].ex_space; From 03711c13da83ca847001f1b84335d332bd948071 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 13:11:59 -0600 Subject: [PATCH 36/62] clean up --- src/RIGID/fix_rigid.cpp | 5 +---- src/RIGID/fix_rigid_small.cpp | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 6f8a9a2b7d..8703fb4d37 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -38,9 +38,6 @@ #include #include -// DEBUG -#define IBODY 10 - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -2001,7 +1998,7 @@ void FixRigid::setup_bodies_static() std::swap(ey_space[ibody][2],ez_space[ibody][2]); } } - + // if any principal moment < scaled EPSILON, set to 0.0 double max; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 4be8ce5571..2fc1553bf1 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -705,7 +705,7 @@ void FixRigidSmall::setup(int vflag) MathExtra::angmom_to_omega(b->angmom,b->ex_space,b->ey_space, b->ez_space,b->inertia,b->omega); } - + commflag = FINAL; comm->forward_comm(this,10); @@ -2169,7 +2169,7 @@ void FixRigidSmall::setup_bodies_static() // convert geometric center position to principal axis coordinates // xcm is wrapped, but xgc is not initially - + xcm = body[ibody].xcm; xgc = body[ibody].xgc; double delta[3]; From 2c26586b1af88adee7030768a705d5bfd55a0638 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 13:50:43 -0600 Subject: [PATCH 37/62] clean up --- src/variable.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 8e35bd8e18..c99e4a4761 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1544,7 +1544,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // wait to check index1 until after compute invocation // to allow for computes with size_vector_variable == 1 - + if (index1 > compute->size_vector) print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); @@ -1572,7 +1572,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (index1 > compute->size_array_rows) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); - + value1 = compute->array[index1-1][index2-1]; argstack[nargstack++] = value1; @@ -1645,7 +1645,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // wait to check vector size until after compute invocation // to allow for computes with size_vector_variable == 1 - + if (compute->size_vector == 0) print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); @@ -1671,14 +1671,10 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->compute_array(); compute->invoked_flag |= Compute::INVOKED_ARRAY; } - // wait until after compute invocation to check size_array_rows - // b/c may be zero until after initial invocation - if (compute->size_array_rows == 0) - print_var_error(FLERR,"Variable formula compute array is zero length",ivar); // wait to check row count until after compute invocation // to allow for computes with size_array_rows_variable == 1 - + if (compute->size_array_rows == 0) print_var_error(FLERR,"Variable formula compute array has zero rows",ivar); From 66d042a0ee3e78b43d933a616ccd020d42a14701 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 14:11:13 -0600 Subject: [PATCH 38/62] make checks for exceeding length of variable-length vectors more consistent --- src/EXTRA-FIX/fix_ave_correlate_long.cpp | 4 +++- src/fix_ave_correlate.cpp | 6 ++++-- src/fix_ave_histo.cpp | 6 ++++-- src/fix_ave_time.cpp | 5 +++-- src/thermo.cpp | 10 ++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/EXTRA-FIX/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp index fc1760b353..7c80365c57 100644 --- a/src/EXTRA-FIX/fix_ave_correlate_long.cpp +++ b/src/EXTRA-FIX/fix_ave_correlate_long.cpp @@ -454,6 +454,8 @@ void FixAveCorrelateLong::end_of_step() scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -462,7 +464,7 @@ void FixAveCorrelateLong::end_of_step() double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); int index = val.argindex; - if (nvec < index) scalar = 0.0; + if (index > nvec) scalar = 0.0; else scalar = varvec[index-1]; } } diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 4b9e316b9d..576ddb3c94 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -414,7 +414,9 @@ void FixAveCorrelate::end_of_step() scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable - + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori + } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) scalar = input->variable->compute_equal(val.val.v); @@ -422,7 +424,7 @@ void FixAveCorrelate::end_of_step() double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); int index = val.argindex; - if (nvec < index) scalar = 0.0; + if (index > nvec) scalar = 0.0; else scalar = varvec[index-1]; } } diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index b3ca9e1106..44e64c4d5a 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -600,6 +600,8 @@ void FixAveHisto::end_of_step() } // evaluate equal-style or vector-style or atom-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (kind == GLOBAL && mode == SCALAR) { @@ -607,7 +609,7 @@ void FixAveHisto::end_of_step() else { double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); - if (nvec < j) bin_one(0.0); + if (j > nvec) bin_one(0.0); else bin_one(varvec[j-1]); } @@ -637,7 +639,7 @@ void FixAveHisto::end_of_step() modify->addstep_compute(nvalid); return; } - + irepeat = 0; nvalid = ntimestep + nfreq - static_cast(nrepeat-1)*nevery; modify->addstep_compute(nvalid); diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index c88d8e1659..417e0fd97a 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -562,7 +562,8 @@ void FixAveTime::invoke_scalar(bigint ntimestep) scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable - // ensure no out-of-range access to vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -570,7 +571,7 @@ void FixAveTime::invoke_scalar(bigint ntimestep) else { double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); - if (nvec < val.argindex) scalar = 0.0; + if (val.argindex > nvec) scalar = 0.0; else scalar = varvec[val.argindex-1]; } } diff --git a/src/thermo.cpp b/src/thermo.cpp index dbb8b2530e..5ef5eb59b8 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1515,6 +1515,8 @@ void Thermo::compute_fix() int m = field2index[ifield]; Fix *fix = fixes[m]; + // check for out-of-range access if vector/array is variable length + if (argindex1[ifield] == 0) { dvalue = fix->compute_scalar(); if (normflag && fix->extscalar) dvalue /= natoms; @@ -1544,13 +1546,17 @@ void Thermo::compute_variable() { int iarg = argindex1[ifield]; + // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori + if (iarg == 0) dvalue = input->variable->compute_equal(variables[field2index[ifield]]); else { double *varvec; int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec); - if (iarg > nvec) error->all(FLERR, "Thermo vector-style variable is accessed out-of-range"); - dvalue = varvec[iarg - 1]; + if (iarg > nvec) dvalue = 0.0; + else dvalue = varvec[iarg - 1]; } } From c45f2666ad0c0bc0a3f6ac44c7bc6010648e9e36 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 14:21:55 -0600 Subject: [PATCH 39/62] clean-up whitespace --- src/fix_ave_correlate.cpp | 2 +- src/fix_ave_histo.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 576ddb3c94..08cd673122 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -416,7 +416,7 @@ void FixAveCorrelate::end_of_step() // evaluate equal-style or vector-style variable // if index exceeds vector length, use a zero value // this can be useful if vector length is not known a priori - + } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) scalar = input->variable->compute_equal(val.val.v); diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index 44e64c4d5a..d676bca0b7 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -639,7 +639,7 @@ void FixAveHisto::end_of_step() modify->addstep_compute(nvalid); return; } - + irepeat = 0; nvalid = ntimestep + nfreq - static_cast(nrepeat-1)*nevery; modify->addstep_compute(nvalid); From ec7b76454a22454cad10a9af065a261ddd944460 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 14:37:03 -0600 Subject: [PATCH 40/62] fix spelling error --- src/RIGID/fix_rigid.cpp | 2 +- src/RIGID/fix_rigid_small.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 8703fb4d37..f4b82e1fd2 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -1987,7 +1987,7 @@ void FixRigid::setup_bodies_static() // necessary so that quaternion is a simple rotation around +z axis // or a 180 degree rotation for a -z axis // otherwise richardson() method for a body with a tiny evalue (near-linear) - // may not preserve the correct z-aligned quat and assocated evectors + // may not preserve the correct z-aligned quat and associated evectors // over time due to round-off accumulation if (domain->dimension == 2) { diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 2fc1553bf1..cb12bd96f7 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2135,7 +2135,7 @@ void FixRigidSmall::setup_bodies_static() // necessary so that quaternion is a simple rotation around +z axis // or a 180 degree rotation for a -z axis // otherwise richardson() method for a body with a tiny evalue (near-linear) - // may not preserve the correct z-aligned quat and assocated evectors + // may not preserve the correct z-aligned quat and associated evectors // over time due to round-off accumulation if (domain->dimension == 2) { From 72d7ba85adaada362532dcee610dcfac894be7e5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 4 Apr 2024 20:34:37 -0400 Subject: [PATCH 41/62] call alternate minimum image code from @stanmoore1 from fix rigid/small --- src/RIGID/fix_rigid_small.cpp | 2 +- src/domain.cpp | 69 +++++++++++++++++++++++++++++++++++ src/domain.h | 2 + 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 9e185a4de2..96bd6019d7 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2160,7 +2160,7 @@ void FixRigidSmall::setup_bodies_static() xgc = body[ibody].xgc; double delta[3]; MathExtra::sub3(xgc,xcm,delta); - domain->minimum_image(delta); + domain->minimum_image_big(delta); MathExtra::transpose_matvec(ex,ey,ez,delta,body[ibody].xgc_body); MathExtra::add3(xcm,delta,xgc); } diff --git a/src/domain.cpp b/src/domain.cpp index 7513d384e2..c825016b27 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -973,6 +973,9 @@ void Domain::subbox_too_small_check(double thresh) changed "if" to "while" to enable distance to far-away ghost atom returned by atom->map() to be wrapped back into box could be problem for looking up atom IDs when cutoff > boxsize + should be used for most cases where the difference in the image count + is small (usually 0 or 1) + use minimum_image_big() when a large difference between image counts is expected ------------------------------------------------------------------------- */ static constexpr double MAXIMGCOUNT = 16; @@ -1045,6 +1048,72 @@ void Domain::minimum_image(double &dx, double &dy, double &dz) const } } +/* ---------------------------------------------------------------------- + minimum image convention in periodic dimensions + use 1/2 of box size as test + for triclinic, also add/subtract tilt factors in other dims as needed + allow multiple box lengths to enable distance to + far-away ghost atom returned by atom->map() to be wrapped back into box + could be problem for looking up atom IDs when cutoff > boxsize + this should be used when there is a large image count difference possible + this applies for example to fix rigid/small +------------------------------------------------------------------------- */ + +void Domain::minimum_image_big(double &dx, double &dy, double &dz) const +{ + if (triclinic == 0) { + if (xperiodic) { + double dfactor = dx/xprd + 0.5; + if (dx < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dx); + dx -= xprd * static_cast(dfactor); + } + if (yperiodic) { + double dfactor = dy/yprd + 0.5; + if (dy < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dy); + dy -= yprd * static_cast(dfactor); + } + if (zperiodic) { + double dfactor = dz/zprd + 0.5; + if (dz < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dz); + dz -= zprd * static_cast(dfactor); + } + + } else { + if (zperiodic) { + double dfactor = dz/zprd + 0.5; + if (dz < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dz); + int factor = static_cast(dfactor); + dz -= zprd * factor; + dy -= yz * factor; + dx -= xz * factor; + } + if (yperiodic) { + double dfactor = dy/yprd + 0.5; + if (dy < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dy); + int factor = static_cast(dfactor); + dy -= yprd * factor; + dx -= xy * factor; + } + if (xperiodic) { + double dfactor = dx/xprd + 0.5; + if (dx < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dx); + dx -= xprd * static_cast(dfactor); + } + } +} + /* ---------------------------------------------------------------------- return local index of atom J or any of its images that is closest to atom I if J is not a valid index like -1, just return it diff --git a/src/domain.h b/src/domain.h index ab054f1b50..ac4dd12e61 100644 --- a/src/domain.h +++ b/src/domain.h @@ -119,6 +119,8 @@ class Domain : protected Pointers { void subbox_too_small_check(double); void minimum_image(double &, double &, double &) const; void minimum_image(double *delta) const { minimum_image(delta[0], delta[1], delta[2]); } + void minimum_image_big(double &, double &, double &) const; + void minimum_image_big(double *delta) const { minimum_image_big(delta[0], delta[1], delta[2]); } int closest_image(int, int); int closest_image(const double *const, int); void closest_image(const double *const, const double *const, double *const); From a51174f6c3dd422fe9daa91677cc6e0ddf99ba41 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 4 Apr 2024 21:30:42 -0400 Subject: [PATCH 42/62] update unit test reference data for rigid fixes --- .../tests/fix-timestep-rigid_group.yaml | 113 ++++++++--------- .../tests/fix-timestep-rigid_molecule.yaml | 43 +++---- .../fix-timestep-rigid_molecule_tri.yaml | 37 +++--- .../tests/fix-timestep-rigid_nph.yaml | 85 ++++++------- .../tests/fix-timestep-rigid_nph_small.yaml | 85 ++++++------- .../tests/fix-timestep-rigid_npt.yaml | 119 +++++++++--------- .../tests/fix-timestep-rigid_npt_small.yaml | 85 ++++++------- .../tests/fix-timestep-rigid_nve_group.yaml | 113 ++++++++--------- .../fix-timestep-rigid_nve_molecule.yaml | 45 +++---- .../tests/fix-timestep-rigid_nve_single.yaml | 77 ++++++------ .../tests/fix-timestep-rigid_nve_small.yaml | 45 +++---- .../tests/fix-timestep-rigid_nvt.yaml | 79 ++++++------ .../tests/fix-timestep-rigid_nvt_small.yaml | 45 +++---- .../tests/fix-timestep-rigid_single.yaml | 77 ++++++------ .../tests/fix-timestep-rigid_small.yaml | 43 +++---- 15 files changed, 553 insertions(+), 538 deletions(-) diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index e28e0abb08..e434ace375 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:10 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 -global_scalar: 15.711521423178082 + -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 +global_scalar: 15.711521423178084 run_pos: ! |2 - 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 - 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 - 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 - 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 - 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 - 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 - 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 - 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 - 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 - 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 - 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 - 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 - 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 - 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 - 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 - 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 - 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 - 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 - 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 - 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 - 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 - 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 - 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 - 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 - 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 - 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 + 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 + 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 + 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 + 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 + 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 + 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 + 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 + 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 + 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 + 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 + 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 + 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 + 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 + 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 + 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 + 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 + 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 + 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 + 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 + 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 + 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 + 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 + 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 + 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 + 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 + 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 - 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 - 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 - 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 - 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 - 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 - 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 - 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 - 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 - 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 - 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 - 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 - 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 - 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 - 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 - 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 - 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 - 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 - 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 - 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 - 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 - 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 - 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 - 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 - 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 - 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 + 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 + 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 + 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 + 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 + 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 + 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 + 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 + 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 + 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 + 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 + 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 + 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 + 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 + 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 + 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 + 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 + 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 + 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 + 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 + 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 + 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 + 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 + 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 + 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 + 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 + 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index d667942e49..e871a351f6 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:10 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 304db9fd60..672bf8946c 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -15,8 +16,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 -global_scalar: 18.340560167414306 + -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 +global_scalar: 18.340560167414335 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -36,14 +37,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 + 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 + 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -65,15 +66,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 - 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 - 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 - 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 - 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 - 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 - 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 - 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 - 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 + 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 + 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 + 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 + 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 + 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 + 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 + 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 + 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 + 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index c80a70b428..16ba7c079d 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 -global_scalar: 29.023636440847998 + 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 +global_scalar: 29.023636439584656 run_pos: ! |2 - 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 - 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 - 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 - 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 - 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 - 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 - 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 - 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 - 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 - 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 - 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 - 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 - 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 - 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 - 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 - 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 - 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 - 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 - 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 - 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 - 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 - 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 - 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 - 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 - 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 - 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 - 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 - 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 - 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 + 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 + 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 + 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 + 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 + 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 + 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 + 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 + 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 + 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 + 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 + 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 + 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 + 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 + 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 + 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 + 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 + 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 + 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 + 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 + 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 + 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 + 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 + 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 + 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 + 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 + 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 + 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 + 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 + 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 - 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 - 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 - 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 - 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 - 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 - 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 - 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 - 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 + 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 + 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 + 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 + 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 + 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 + 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 + 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 + 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 + 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 3894815950..80cc4865c0 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 -global_scalar: 9.77678786310451 + 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 +global_scalar: 9.776787862991728 run_pos: ! |2 - 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 - 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 - 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 - 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 - 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 - 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 - 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 - 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 - 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 - 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 - 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 - 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 - 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 - 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 - 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 - 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 - 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 - 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 - 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 - 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 - 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 - 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 - 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 - 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 - 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 - 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 - 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 - 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 - 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 + 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 + 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 + 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 + 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 + 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 + 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 + 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 + 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 + 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 + 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 + 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 + 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 + 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 + 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 + 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 + 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 + 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 + 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 + 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 + 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 + 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 + 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 + 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 + 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 + 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 + 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 + 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 + 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 + 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 - 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 - 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 - 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 - 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 - 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 - 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 - 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 - 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 + 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 + 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 + 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 + 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 + 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 + 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 + 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 + 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 + 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index f5965e53ff..6757db5703 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:12 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 -global_scalar: 106.86683072474125 + -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 +global_scalar: 106.86683072474244 run_pos: ! |2 - 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 - 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 - 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 - 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 - 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 - 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 - 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 - 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 - 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 - 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 - 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 - 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 - 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 - 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 - 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 - 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 - 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 - 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 - 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 - 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 - 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 - 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 - 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 - 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 - 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 - 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 - 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 - 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 - 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 + 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 + 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 + 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 + 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 + 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 + 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 + 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 + 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 + 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 + 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 + 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 + 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 + 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 + 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 + 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 + 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 + 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 + 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 + 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 + 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 + 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 + 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 + 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 + 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 + 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 + 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 + 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 + 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 + 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 run_vel: ! |2 - 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 - 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 - 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 - 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 - 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 - 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 - 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 - 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 - 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 - 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 - 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 - 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 - 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 - 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 - 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 - 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 - 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 - 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 - 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 - 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 - 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 - 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 - 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 - 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 - 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 - 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 + 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 + 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 + 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 + 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 + 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 + 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 + 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 + 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 + 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 + 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 + 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 + 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 + 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 + 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 + 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 + 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 + 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 + 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 + 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 + 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 + 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 + 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 + 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 + 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 + 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 + 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index 3b13658e19..b7b074debd 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:12 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 -global_scalar: 77.78983430293286 + -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 +global_scalar: 77.78983430422252 run_pos: ! |2 - 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 - 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 - 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 - 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 - 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 - 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 - 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 - 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 - 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 - 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 - 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 - 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 - 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 - 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 - 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 - 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 - 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 - 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 - 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 - 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 - 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 - 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 - 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 - 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 - 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 - 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 - 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 - 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 - 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 + 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 + 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 + 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 + 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 + 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 + 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 + 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 + 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 + 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 + 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 + 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 + 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 + 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 + 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 + 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 + 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 + 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 + 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 + 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 + 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 + 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 + 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 + 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 + 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 + 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 + 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 + 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 + 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 + 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 - 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 - 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 - 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 - 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 - 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 - 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 - 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 - 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 + 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 + 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 + 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 + 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 + 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 + 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 + 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 + 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 + 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index b20d639fd4..0e8f18da7b 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 -global_scalar: 15.711521423178128 + -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 +global_scalar: 15.711521423178162 run_pos: ! |2 - 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 - 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 - 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 - 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 - 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 - 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 - 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 - 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 - 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 - 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 - 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 - 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 - 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 - 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 - 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 - 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 - 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 - 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 - 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 - 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 - 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 - 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 - 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 - 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 - 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 - 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 + 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 + 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 + 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 + 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 + 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 + 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 + 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 + 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 + 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 + 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 + 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 + 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 + 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 + 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 + 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 + 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 + 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 + 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 + 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 + 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 + 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 + 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 + 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 + 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 + 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 + 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 - 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 - 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 - 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 - 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 - 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 - 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 - 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 - 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 - 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 - 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 - 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 - 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 - 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 - 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 - 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 - 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 - 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 - 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 - 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 - 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 - 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 - 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 - 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 - 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 - 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 + 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 + 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 + 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 + 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 + 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 + 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 + 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 + 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 + 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 + 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 + 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 + 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 + 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 + 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 + 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 + 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 + 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 + 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 + 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 + 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 + 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 + 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 + 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 + 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 + 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 + 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 839ac060a5..b0e52d3fea 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 18.340560167364448 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 18.340560165889197 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 854e8b4d45..0277d7991a 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 -global_scalar: 4.531423038570333 + -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 +global_scalar: 4.531423038570381 run_pos: ! |2 - 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 - 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 - 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 - 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 - 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 - 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 - 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 - 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 - 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 - 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 - 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 - 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 - 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 - 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 - 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 - 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 - 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 + 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 + 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 + 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 + 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 + 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 + 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 + 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 + 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 + 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 + 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 + 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 + 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 + 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 + 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 + 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 + 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 + 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 - 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 - 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 - 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 - 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 - 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 - 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 - 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 - 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 - 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 - 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 - 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 - 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 - 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 - 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 - 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 - 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 + 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 + 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 + 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 + 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 + 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 + 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 + 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 + 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 + 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 + 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 + 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 + 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 + 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 + 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 + 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 + 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 + 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 664921b147..1a017f0a6c 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:14 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 0.5007318719663203 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 0.5007318719399354 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index a49508ca15..f15e2a3c7f 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 -epsilon: 5e-13 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:14 2024 +epsilon: 1e-12 skip_tests: prerequisites: ! | atom full @@ -13,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 -global_scalar: 68.08659647423171 + -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 +global_scalar: 68.08659647424867 run_pos: ! |2 - 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 - 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 - 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 - 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 - 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 - 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 - 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 - 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 - 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 - 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 - 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 - 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 - 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 - 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 - 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 - 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 - 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 + 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 + 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 + 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 + 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 + 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 + 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 + 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 + 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 + 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 + 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 + 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 + 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 + 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 + 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 + 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 + 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 + 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -46,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 - 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 - 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 - 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 - 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 - 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 - 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 - 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 - 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 - 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 - 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 - 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 - 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 - 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 - 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 - 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 - 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 + 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 + 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 + 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 + 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 + 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 + 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 + 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 + 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 + 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 + 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 + 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 + 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 + 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 + 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 + 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 + 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 + 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index 6068993094..dab3d52a04 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 -global_scalar: 0.9532609554739606 + -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 +global_scalar: 0.9532609552151339 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -33,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 - 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 - 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 - 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 - 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 - 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 - 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 - 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 - 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 + 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 + 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 + 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 + 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 + 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 + 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 + 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 + 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 + 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 - 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 - 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 - 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 - 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 - 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 - 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 - 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 - 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 + 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 + 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 + 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 + 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 + 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 + 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 + 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 + 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 + 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index 02acb437d9..5af45ebc1b 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 -global_scalar: 4.531423038570297 + -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 +global_scalar: 4.531423038570312 run_pos: ! |2 - 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 - 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 - 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 - 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 - 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 - 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 - 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 - 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 - 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 - 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 - 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 - 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 - 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 - 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 - 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 + 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 + 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 + 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 + 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 + 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 + 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 + 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 + 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 + 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 + 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 + 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 + 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 + 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 + 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 + 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 - 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 - 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 - 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 - 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 - 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 - 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 - 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 - 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 - 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 - 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 - 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 - 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 - 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 - 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 - 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 - 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 + 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 + 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 + 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 + 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 + 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 + 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 + 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 + 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 + 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 + 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 + 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 + 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 + 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 + 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 + 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 + 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 + 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 92754f85f5..ed92a4e5a8 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 From f382eac5c26c1e5d6319e5269956a3d29e389671 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 5 Apr 2024 08:20:57 -0600 Subject: [PATCH 43/62] Update Kokkos library in LAMMPS to v4.3.0 --- lib/kokkos/CHANGELOG.md | 250 +++-- lib/kokkos/CMakeLists.txt | 4 +- lib/kokkos/Makefile.kokkos | 117 +-- lib/kokkos/Makefile.targets | 13 +- lib/kokkos/README.md | 8 +- lib/kokkos/SECURITY.md | 12 + lib/kokkos/Spack.md | 1 - lib/kokkos/algorithms/src/CMakeLists.txt | 4 +- lib/kokkos/algorithms/src/Kokkos_Random.hpp | 48 +- lib/kokkos/algorithms/src/Kokkos_Sort.hpp | 1 + .../algorithms/src/Kokkos_StdAlgorithms.hpp | 1 - .../src/sorting/Kokkos_SortByKeyPublicAPI.hpp | 117 +++ .../src/sorting/Kokkos_SortPublicAPI.hpp | 6 +- .../sorting/impl/Kokkos_NestedSortImpl.hpp | 3 +- .../src/sorting/impl/Kokkos_SortByKeyImpl.hpp | 401 ++++++++ .../src/sorting/impl/Kokkos_SortImpl.hpp | 42 + .../src/std_algorithms/Kokkos_Copy.hpp | 6 +- .../std_algorithms/Kokkos_CopyBackward.hpp | 6 +- .../src/std_algorithms/Kokkos_CopyIf.hpp | 8 +- .../src/std_algorithms/Kokkos_CopyN.hpp | 6 +- .../src/std_algorithms/Kokkos_Equal.hpp | 12 +- .../src/std_algorithms/Kokkos_IterSwap.hpp | 13 +- .../Kokkos_LexicographicalCompare.hpp | 15 +- .../src/std_algorithms/Kokkos_Move.hpp | 6 +- .../std_algorithms/Kokkos_MoveBackward.hpp | 6 +- .../src/std_algorithms/Kokkos_ReverseCopy.hpp | 6 +- .../src/std_algorithms/Kokkos_SwapRanges.hpp | 6 +- .../src/std_algorithms/Kokkos_Transform.hpp | 13 +- .../impl/Kokkos_FunctorsForExclusiveScan.hpp | 9 +- .../impl/Kokkos_RemoveAllVariants.hpp | 11 +- .../std_algorithms/impl/Kokkos_Reverse.hpp | 3 +- .../std_algorithms/impl/Kokkos_ShiftLeft.hpp | 5 +- .../std_algorithms/impl/Kokkos_ShiftRight.hpp | 25 +- .../std_algorithms/impl/Kokkos_SwapRanges.hpp | 3 +- .../src/std_algorithms/impl/Kokkos_Unique.hpp | 4 +- .../algorithms/unit_tests/CMakeLists.txt | 292 +++--- lib/kokkos/algorithms/unit_tests/Makefile | 14 +- .../algorithms/unit_tests/TestSortByKey.hpp | 241 +++++ .../unit_tests/TestStdAlgorithmsCommon.hpp | 8 - .../TestStdAlgorithmsExclusiveScan.cpp | 229 +++-- .../TestStdAlgorithmsInclusiveScan.cpp | 226 +++-- .../unit_tests/TestStdAlgorithmsIsSorted.cpp | 7 +- .../TestStdAlgorithmsIsSortedUntil.cpp | 19 +- .../unit_tests/TestStdAlgorithmsModOps.cpp | 48 +- .../TestStdAlgorithmsPartitionCopy.cpp | 6 +- .../TestStdAlgorithmsTeamCopyIf.cpp | 4 + .../TestStdAlgorithmsTeamExclusiveScan.cpp | 43 +- .../TestStdAlgorithmsTeamInclusiveScan.cpp | 44 +- .../TestStdAlgorithmsTeamRemoveCopy.cpp | 4 + .../TestStdAlgorithmsTeamRemoveCopyIf.cpp | 4 + ...tdAlgorithmsTeamTransformExclusiveScan.cpp | 41 +- ...tdAlgorithmsTeamTransformInclusiveScan.cpp | 41 +- .../TestStdAlgorithmsTeamUniqueCopy.cpp | 4 + ...estStdAlgorithmsTransformExclusiveScan.cpp | 92 +- ...estStdAlgorithmsTransformInclusiveScan.cpp | 106 +- .../algorithms/unit_tests/TestStdReducers.cpp | 32 +- lib/kokkos/benchmarks/CMakeLists.txt | 11 + lib/kokkos/benchmarks/atomic/CMakeLists.txt | 4 + .../benchmarks/bytes_and_flops/CMakeLists.txt | 4 + .../benchmarks/bytes_and_flops/bench.hpp | 12 +- .../bytes_and_flops/bench_double.cpp | 2 +- .../bytes_and_flops/bench_float.cpp | 2 +- .../bytes_and_flops/bench_int32_t.cpp | 2 +- .../bytes_and_flops/bench_int64_t.cpp | 2 +- .../bytes_and_flops/bench_stride.hpp | 16 +- .../bytes_and_flops/bench_unroll_stride.hpp | 2 +- .../benchmarks/bytes_and_flops/main.cpp | 4 +- lib/kokkos/benchmarks/gather/CMakeLists.txt | 4 + lib/kokkos/benchmarks/gather/gather.hpp | 16 +- .../benchmarks/gather/gather_unroll.hpp | 2 +- lib/kokkos/benchmarks/gather/main.cpp | 2 +- .../benchmarks/launch_latency/CMakeLists.txt | 4 + .../launch_latency/launch_latency.cpp | 283 ++++++ .../policy_performance/CMakeLists.txt | 4 + .../benchmarks/policy_performance/main.cpp | 5 +- .../policy_performance/policy_perf_test.hpp | 14 +- lib/kokkos/benchmarks/stream/CMakeLists.txt | 4 + lib/kokkos/bin/nvcc_wrapper | 2 +- lib/kokkos/cmake/KokkosConfig.cmake.in | 8 +- lib/kokkos/cmake/KokkosCore_config.h.in | 11 +- lib/kokkos/cmake/Modules/FindTPLCUDA.cmake | 3 +- lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake | 1 - lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake | 1 - lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake | 3 + .../cmake/Modules/FindTPLROCTHRUST.cmake | 15 + lib/kokkos/cmake/kokkos_arch.cmake | 155 +-- lib/kokkos/cmake/kokkos_compiler_id.cmake | 5 + lib/kokkos/cmake/kokkos_enable_options.cmake | 2 +- lib/kokkos/cmake/kokkos_pick_cxx_std.cmake | 1 + lib/kokkos/cmake/kokkos_test_cxx_std.cmake | 4 + lib/kokkos/cmake/kokkos_tpls.cmake | 25 +- lib/kokkos/cmake/kokkos_tribits.cmake | 15 +- lib/kokkos/config/test_all_sandia | 773 --------------- lib/kokkos/config/yaml/volta.yaml | 4 - lib/kokkos/containers/src/Kokkos_Bitset.hpp | 32 +- lib/kokkos/containers/src/Kokkos_DualView.hpp | 9 - .../containers/src/Kokkos_DynRankView.hpp | 15 +- .../containers/src/Kokkos_OffsetView.hpp | 11 +- .../containers/src/Kokkos_UnorderedMap.hpp | 34 +- .../src/impl/Kokkos_UnorderedMap_impl.hpp | 12 + lib/kokkos/containers/unit_tests/Makefile | 4 +- .../containers/unit_tests/TestBitset.hpp | 25 +- lib/kokkos/core/perf_test/CMakeLists.txt | 4 +- lib/kokkos/core/src/CMakeLists.txt | 17 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp | 51 +- lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp | 306 ++---- lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp | 251 ++--- .../core/src/Cuda/Kokkos_Cuda_Error.hpp | 4 - .../src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp | 20 +- .../core/src/Cuda/Kokkos_Cuda_Instance.cpp | 528 ++++------ .../core/src/Cuda/Kokkos_Cuda_Instance.hpp | 89 +- .../src/Cuda/Kokkos_Cuda_KernelLaunch.hpp | 64 +- .../src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp | 4 +- .../src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp | 18 +- .../src/Cuda/Kokkos_Cuda_Parallel_Range.hpp | 42 +- .../src/Cuda/Kokkos_Cuda_Parallel_Team.hpp | 91 +- .../core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp | 9 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp | 61 +- .../core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp | 1 - .../src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp | 4 +- .../core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp | 13 +- lib/kokkos/core/src/HIP/Kokkos_HIP.cpp | 36 +- lib/kokkos/core/src/HIP/Kokkos_HIP.hpp | 14 +- .../src/HIP/Kokkos_HIP_GraphNodeKernel.hpp | 15 +- .../core/src/HIP/Kokkos_HIP_Instance.cpp | 119 +-- .../core/src/HIP/Kokkos_HIP_Instance.hpp | 3 +- .../HIP/Kokkos_HIP_ParallelFor_MDRange.hpp | 173 ++++ .../src/HIP/Kokkos_HIP_ParallelFor_Range.hpp | 100 ++ .../src/HIP/Kokkos_HIP_ParallelFor_Team.hpp | 177 ++++ ... => Kokkos_HIP_ParallelReduce_MDRange.hpp} | 146 +-- .../HIP/Kokkos_HIP_ParallelReduce_Range.hpp | 329 ++++++ .../HIP/Kokkos_HIP_ParallelReduce_Team.hpp | 394 ++++++++ ....hpp => Kokkos_HIP_ParallelScan_Range.hpp} | 378 +------ .../core/src/HIP/Kokkos_HIP_Parallel_Team.hpp | 936 ------------------ .../HIP/Kokkos_HIP_SharedAllocationRecord.cpp | 142 +-- .../HIP/Kokkos_HIP_SharedAllocationRecord.hpp | 119 +-- lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp | 21 - lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp | 40 +- .../src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp | 421 ++++++++ .../core/src/HIP/Kokkos_HIP_UniqueToken.hpp | 1 - .../core/src/HIP/Kokkos_HIP_ZeroMemset.hpp | 10 +- lib/kokkos/core/src/HPX/Kokkos_HPX.cpp | 2 + lib/kokkos/core/src/HPX/Kokkos_HPX.hpp | 49 +- .../core/src/KokkosExp_MDRangePolicy.hpp | 112 ++- lib/kokkos/core/src/Kokkos_Array.hpp | 4 + lib/kokkos/core/src/Kokkos_Assert.hpp | 6 +- .../Kokkos_Atomics_Desul_Volatile_Wrapper.hpp | 2 +- .../core/src/Kokkos_Atomics_Desul_Wrapper.hpp | 2 +- lib/kokkos/core/src/Kokkos_Clamp.hpp | 41 + lib/kokkos/core/src/Kokkos_CopyViews.hpp | 57 +- lib/kokkos/core/src/Kokkos_Core.hpp | 9 +- lib/kokkos/core/src/Kokkos_Core_fwd.hpp | 13 - lib/kokkos/core/src/Kokkos_ExecPolicy.hpp | 213 +++- lib/kokkos/core/src/Kokkos_HBWSpace.hpp | 308 ------ lib/kokkos/core/src/Kokkos_HostSpace.hpp | 88 +- lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp | 413 -------- lib/kokkos/core/src/Kokkos_Macros.hpp | 33 +- lib/kokkos/core/src/Kokkos_MasterLock.hpp | 56 -- .../core/src/Kokkos_MathematicalConstants.hpp | 18 - .../core/src/Kokkos_MathematicalFunctions.hpp | 45 +- ...kkos_MinMaxClamp.hpp => Kokkos_MinMax.hpp} | 34 +- lib/kokkos/core/src/Kokkos_Pair.hpp | 2 +- lib/kokkos/core/src/Kokkos_Printf.hpp | 13 +- .../src/Kokkos_Profiling_ProfileSection.hpp | 41 +- lib/kokkos/core/src/Kokkos_Swap.hpp | 68 ++ lib/kokkos/core/src/Kokkos_Tuners.hpp | 11 +- lib/kokkos/core/src/Kokkos_View.hpp | 126 ++- .../core/src/OpenACC/Kokkos_OpenACC.cpp | 4 +- .../core/src/OpenACC/Kokkos_OpenACC.hpp | 6 +- .../core/src/OpenACC/Kokkos_OpenACCSpace.cpp | 15 +- .../src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp | 26 +- .../src/OpenACC/Kokkos_OpenACC_Instance.hpp | 4 +- .../Kokkos_OpenACC_ParallelReduce_MDRange.hpp | 12 +- .../Kokkos_OpenACC_ParallelReduce_Range.hpp | 4 +- .../Kokkos_OpenACC_ParallelReduce_Team.hpp | 7 +- .../Kokkos_OpenACC_SharedAllocationRecord.cpp | 89 +- .../Kokkos_OpenACC_SharedAllocationRecord.hpp | 52 +- .../core/src/OpenACC/Kokkos_OpenACC_Team.hpp | 6 +- lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp | 21 +- lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp | 44 +- .../src/OpenMP/Kokkos_OpenMP_Instance.cpp | 55 - .../src/OpenMP/Kokkos_OpenMP_Instance.hpp | 97 +- .../src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp | 25 +- .../OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp | 24 - .../OpenMP/Kokkos_OpenMP_Parallel_Scan.hpp | 16 - .../src/OpenMPTarget/Kokkos_OpenMPTarget.hpp | 6 +- .../OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp | 71 +- .../OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp | 73 +- .../OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp | 6 + .../Kokkos_OpenMPTarget_Instance.cpp | 4 +- .../Kokkos_OpenMPTarget_Macros.hpp | 46 + .../Kokkos_OpenMPTarget_Parallel.hpp | 58 +- .../Kokkos_OpenMPTarget_ParallelFor_Team.hpp | 7 +- ...kkos_OpenMPTarget_ParallelReduce_Range.hpp | 6 +- ...okkos_OpenMPTarget_ParallelReduce_Team.hpp | 7 +- ...Kokkos_OpenMPTarget_ParallelScan_Range.hpp | 6 +- .../Kokkos_OpenMPTarget_Parallel_Common.hpp | 34 +- .../Kokkos_OpenMPTarget_Parallel_MDRange.hpp | 7 +- .../Kokkos_OpenMPTarget_Reducer.hpp | 1 - lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp | 87 +- lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp | 14 +- .../core/src/SYCL/Kokkos_SYCL_Instance.cpp | 116 ++- .../core/src/SYCL/Kokkos_SYCL_Instance.hpp | 8 +- .../SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp | 2 + .../SYCL/Kokkos_SYCL_ParallelFor_Range.hpp | 2 + .../src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp | 17 +- .../Kokkos_SYCL_ParallelReduce_MDRange.hpp | 41 +- .../SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp | 35 +- .../SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp | 78 +- .../SYCL/Kokkos_SYCL_ParallelScan_Range.hpp | 46 +- .../core/src/SYCL/Kokkos_SYCL_Space.cpp | 222 +---- .../core/src/SYCL/Kokkos_SYCL_Space.hpp | 201 +--- lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp | 7 +- .../core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp | 9 +- lib/kokkos/core/src/Serial/Kokkos_Serial.cpp | 2 +- lib/kokkos/core/src/Serial/Kokkos_Serial.hpp | 5 +- .../Serial/Kokkos_Serial_Parallel_MDRange.hpp | 4 +- .../Serial/Kokkos_Serial_Parallel_Range.hpp | 4 +- .../Serial/Kokkos_Serial_Parallel_Team.hpp | 4 +- .../core/src/Serial/Kokkos_Serial_Task.hpp | 4 +- .../src/Serial/Kokkos_Serial_ZeroMemset.hpp | 14 +- .../core/src/Threads/Kokkos_Threads.hpp | 13 +- ...dsExec.cpp => Kokkos_Threads_Instance.cpp} | 454 +++------ ...dsExec.hpp => Kokkos_Threads_Instance.hpp} | 177 ++-- .../Kokkos_Threads_ParallelFor_MDRange.hpp | 34 +- .../Kokkos_Threads_ParallelFor_Range.hpp | 34 +- .../Kokkos_Threads_ParallelFor_Team.hpp | 14 +- .../Kokkos_Threads_ParallelReduce_MDRange.hpp | 40 +- .../Kokkos_Threads_ParallelReduce_Range.hpp | 44 +- .../Kokkos_Threads_ParallelReduce_Team.hpp | 16 +- .../Kokkos_Threads_ParallelScan_Range.hpp | 38 +- .../Kokkos_Threads_Spinwait.cpp} | 12 +- .../src/Threads/Kokkos_Threads_Spinwait.hpp} | 34 +- .../Kokkos_Threads_State.hpp} | 28 +- ...hreadsTeam.hpp => Kokkos_Threads_Team.hpp} | 64 +- .../Kokkos_Threads_WorkGraphPolicy.hpp | 11 +- .../core/src/decl/Kokkos_Declare_HBWSpace.hpp | 24 - .../core/src/decl/Kokkos_Declare_HIP.hpp | 10 +- .../core/src/decl/Kokkos_Declare_THREADS.hpp | 4 +- lib/kokkos/core/src/impl/Kokkos_Core.cpp | 256 ++--- .../core/src/impl/Kokkos_DeviceManagement.hpp | 8 +- lib/kokkos/core/src/impl/Kokkos_Error.cpp | 12 +- lib/kokkos/core/src/impl/Kokkos_Error.hpp | 5 +- lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp | 313 ------ .../impl/Kokkos_Half_FloatingPointWrapper.hpp | 114 +-- lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp | 100 +- .../src/impl/Kokkos_HostSpace_ZeroMemset.hpp | 9 +- .../core/src/impl/Kokkos_HostThreadTeam.cpp | 1 - .../core/src/impl/Kokkos_HostThreadTeam.hpp | 2 +- .../impl/Kokkos_InitializationSettings.hpp | 85 +- .../core/src/impl/Kokkos_MemorySpace.cpp | 72 -- .../core/src/impl/Kokkos_MemorySpace.hpp | 71 -- .../core/src/impl/Kokkos_Memory_Fence.hpp | 54 - .../src/impl/Kokkos_Profiling_C_Interface.h | 4 +- .../src/impl/Kokkos_Profiling_Interface.hpp | 2 +- .../core/src/impl/Kokkos_SharedAlloc.cpp | 50 + .../core/src/impl/Kokkos_SharedAlloc.hpp | 164 ++- .../src/impl/Kokkos_SharedAlloc_timpl.hpp | 135 ++- lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp | 109 -- lib/kokkos/core/src/impl/Kokkos_Utilities.hpp | 5 + lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp | 13 +- .../core/src/impl/Kokkos_ViewDataAnalysis.hpp | 402 ++++++++ .../core/src/impl/Kokkos_ViewMapping.hpp | 688 +++---------- .../core/src/setup/Kokkos_Setup_SYCL.hpp | 11 +- .../core/src/traits/Kokkos_IndexTypeTrait.hpp | 2 +- .../traits/Kokkos_OccupancyControlTrait.hpp | 2 +- .../src/traits/Kokkos_PolicyTraitAdaptor.hpp | 4 +- .../core/src/traits/Kokkos_ScheduleTrait.hpp | 2 +- .../traits/Kokkos_WorkItemPropertyTrait.hpp | 2 +- lib/kokkos/core/unit_test/CMakeLists.txt | 78 +- lib/kokkos/core/unit_test/Makefile | 20 +- lib/kokkos/core/unit_test/TestAggregate.hpp | 30 +- lib/kokkos/core/unit_test/TestArray.cpp | 24 + .../core/unit_test/TestAtomicOperations.hpp | 74 ++ lib/kokkos/core/unit_test/TestAtomics.hpp | 4 +- .../unit_test/TestBitManipulationBuiltins.hpp | 14 +- lib/kokkos/core/unit_test/TestComplex.hpp | 20 +- lib/kokkos/core/unit_test/TestConcepts.hpp | 58 +- .../unit_test/TestDefaultDeviceTypeInit.hpp | 491 --------- .../core/unit_test/TestDeviceAndThreads.py | 39 +- .../core/unit_test/TestExecutionSpace.hpp | 8 +- .../core/unit_test/TestFunctorAnalysis.hpp | 56 +- .../core/unit_test/TestHalfOperators.hpp | 117 --- .../TestHostSharedPtrAccessOnDevice.hpp | 2 +- .../unit_test/TestInitializationSettings.cpp | 28 - .../TestJoinBackwardCompatibility.hpp | 5 +- .../core/unit_test/TestMDRangePolicyCTAD.cpp | 138 +++ .../TestMDRangePolicyConstructors.hpp | 56 +- .../unit_test/TestMathematicalFunctions.hpp | 115 +-- .../TestMathematicalSpecialFunctions.hpp | 77 +- .../unit_test/TestNonTrivialScalarTypes.hpp | 2 +- .../core/unit_test/TestNumericTraits.hpp | 180 ++-- .../unit_test/TestOccupancyControlTrait.hpp | 80 ++ .../TestParseCmdLineArgsAndEnvVars.cpp | 66 +- .../core/unit_test/TestRangePolicyCTAD.cpp | 150 +++ .../unit_test/TestRangePolicyConstructors.hpp | 126 +++ lib/kokkos/core/unit_test/TestReducers.hpp | 130 +++ lib/kokkos/core/unit_test/TestReducers_d.hpp | 14 + lib/kokkos/core/unit_test/TestSwap.hpp | 68 ++ lib/kokkos/core/unit_test/TestTeamBasic.hpp | 2 +- lib/kokkos/core/unit_test/TestTeamMDRange.hpp | 526 +++++++--- .../unit_test/TestTeamPolicyConstructors.hpp | 35 +- lib/kokkos/core/unit_test/TestTeamVector.hpp | 4 - lib/kokkos/core/unit_test/TestUtilities.hpp | 18 +- lib/kokkos/core/unit_test/TestViewAPI.hpp | 18 +- lib/kokkos/core/unit_test/TestViewAPI_d.hpp | 11 + lib/kokkos/core/unit_test/TestViewCopy_a.hpp | 34 + .../core/unit_test/TestViewCtorDimMatch.hpp | 513 +++------- .../TestViewEmptyRuntimeUnmanaged.hpp | 55 + .../core/unit_test/TestViewMapping_a.hpp | 251 +++-- .../core/unit_test/TestViewMapping_b.hpp | 14 +- .../unit_test/TestViewOutOfBoundsAccess.hpp | 175 ++++ .../unit_test/UnitTest_DeviceAndThreads.cpp | 46 +- .../test-code/test_config_arch_list.bash | 2 +- .../cuda/TestCuda_InterOp_StreamsMultiGPU.cpp | 268 +++++ .../core/unit_test/cuda/TestCuda_Spaces.cpp | 190 ++-- .../default/TestDefaultDeviceType.cpp | 9 +- .../default/TestDefaultDeviceTypeInit_1.cpp | 18 - .../default/TestDefaultDeviceTypeInit_10.cpp | 18 - .../default/TestDefaultDeviceTypeInit_11.cpp | 18 - .../default/TestDefaultDeviceTypeInit_12.cpp | 18 - .../default/TestDefaultDeviceTypeInit_13.cpp | 18 - .../default/TestDefaultDeviceTypeInit_14.cpp | 18 - .../default/TestDefaultDeviceTypeInit_15.cpp | 18 - .../default/TestDefaultDeviceTypeInit_16.cpp | 18 - .../default/TestDefaultDeviceTypeInit_17.cpp | 18 - .../default/TestDefaultDeviceTypeInit_18.cpp | 18 - .../default/TestDefaultDeviceTypeInit_2.cpp | 18 - .../default/TestDefaultDeviceTypeInit_3.cpp | 18 - .../default/TestDefaultDeviceTypeInit_4.cpp | 18 - .../default/TestDefaultDeviceTypeInit_5.cpp | 18 - .../default/TestDefaultDeviceTypeInit_6.cpp | 18 - .../default/TestDefaultDeviceTypeInit_7.cpp | 18 - .../default/TestDefaultDeviceTypeInit_8.cpp | 18 - .../default/TestDefaultDeviceTypeInit_9.cpp | 18 - .../hip/TestHIP_Memory_Requirements.cpp | 3 + .../core/unit_test/hip/TestHIP_Spaces.cpp | 176 ++-- .../incremental/Test01_execspace.hpp | 2 + .../openmp/TestOpenMP_PartitionMaster.cpp | 105 -- .../core/unit_test/sycl/TestSYCL_Spaces.cpp | 195 ++-- .../unit_test/tools/TestEventCorrectness.hpp | 24 +- .../unit_test/tools/TestLogicalSpaces.hpp | 177 ---- .../unit_test/tools/TestProfilingSection.cpp | 10 +- .../tutorial/01_hello_world/hello_world.cpp | 7 +- .../hello_world_lambda.cpp | 10 +- .../01_thread_teams/thread_teams.cpp | 10 +- .../thread_teams_lambda.cpp | 16 +- .../nested_parallel_for.cpp | 15 +- lib/kokkos/generate_makefile.bash | 21 +- lib/kokkos/gnu_generate_makefile.bash | 12 - lib/kokkos/master_history.txt | 1 + lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp | 175 +++- lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp | 142 ++- lib/kokkos/simd/src/Kokkos_SIMD_Common.hpp | 53 +- lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp | 118 ++- lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp | 23 +- lib/kokkos/simd/unit_tests/TestSIMD.cpp | 1 + .../unit_tests/include/SIMDTesting_Ops.hpp | 161 +++ .../include/SIMDTesting_Utilities.hpp | 29 +- .../include/TestSIMD_GeneratorCtors.hpp | 8 +- .../unit_tests/include/TestSIMD_MathOps.hpp | 51 +- .../include/TestSIMD_Reductions.hpp | 184 ++++ .../unit_tests/include/TestSIMD_ShiftOps.hpp | 20 +- .../include/TestSIMD_WhereExpressions.hpp | 8 +- lib/kokkos/tpls/desul/Config.hpp.cmake.in | 2 + .../include/desul/atomics/Adapt_SYCL.hpp | 7 +- .../desul/atomics/Compare_Exchange.hpp | 3 + .../atomics/Compare_Exchange_OpenACC.hpp | 153 +++ .../desul/include/desul/atomics/Fetch_Op.hpp | 3 + .../desul/atomics/Fetch_Op_OpenACC.hpp | 431 ++++++++ .../desul/include/desul/atomics/Generic.hpp | 48 + .../include/desul/atomics/Lock_Array_SYCL.hpp | 80 +- .../desul/atomics/Lock_Based_Fetch_Op.hpp | 3 + .../atomics/Lock_Based_Fetch_Op_OpenACC.hpp | 81 ++ .../desul/include/desul/atomics/Macros.hpp | 28 + .../include/desul/atomics/Thread_Fence.hpp | 3 + .../desul/atomics/Thread_Fence_OpenACC.hpp | 25 + lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp | 21 +- .../__p0009_bits/compressed_pair.hpp | 166 ++-- .../experimental/__p0009_bits/config.hpp | 9 +- .../experimental/__p0009_bits/extents.hpp | 68 +- .../experimental/__p0009_bits/layout_left.hpp | 78 +- .../__p0009_bits/layout_right.hpp | 78 +- .../__p0009_bits/layout_stride.hpp | 115 ++- .../experimental/__p0009_bits/mdspan.hpp | 65 +- .../experimental/__p1684_bits/mdarray.hpp | 70 +- .../__p2630_bits/strided_slice.hpp | 9 +- .../experimental/__p2630_bits/submdspan.hpp | 10 +- .../__p2630_bits/submdspan_extents.hpp | 2 - .../__p2630_bits/submdspan_mapping.hpp | 70 +- .../__p2642_bits/layout_padded.hpp | 793 +++++++++++++++ .../__p2642_bits/layout_padded_fwd.hpp | 117 +++ .../tpls/mdspan/include/mdspan/mdspan.hpp | 1 + 393 files changed, 13253 insertions(+), 12499 deletions(-) create mode 100644 lib/kokkos/SECURITY.md create mode 100644 lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp create mode 100644 lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp create mode 100644 lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp create mode 100644 lib/kokkos/benchmarks/atomic/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/gather/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/launch_latency/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/launch_latency/launch_latency.cpp create mode 100644 lib/kokkos/benchmarks/policy_performance/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/stream/CMakeLists.txt delete mode 100644 lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake delete mode 100644 lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake create mode 100644 lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake delete mode 100755 lib/kokkos/config/test_all_sandia delete mode 100644 lib/kokkos/config/yaml/volta.yaml create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp rename lib/kokkos/core/src/HIP/{Kokkos_HIP_Parallel_MDRange.hpp => Kokkos_HIP_ParallelReduce_MDRange.hpp} (61%) create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp rename lib/kokkos/core/src/HIP/{Kokkos_HIP_Parallel_Range.hpp => Kokkos_HIP_ParallelScan_Range.hpp} (50%) delete mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp create mode 100644 lib/kokkos/core/src/Kokkos_Clamp.hpp delete mode 100644 lib/kokkos/core/src/Kokkos_HBWSpace.hpp delete mode 100644 lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp delete mode 100644 lib/kokkos/core/src/Kokkos_MasterLock.hpp rename lib/kokkos/core/src/{Kokkos_MinMaxClamp.hpp => Kokkos_MinMax.hpp} (83%) create mode 100644 lib/kokkos/core/src/Kokkos_Swap.hpp create mode 100644 lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp rename lib/kokkos/core/src/Threads/{Kokkos_ThreadsExec.cpp => Kokkos_Threads_Instance.cpp} (56%) rename lib/kokkos/core/src/Threads/{Kokkos_ThreadsExec.hpp => Kokkos_Threads_Instance.hpp} (76%) rename lib/kokkos/core/src/{impl/Kokkos_Spinwait.cpp => Threads/Kokkos_Threads_Spinwait.cpp} (90%) rename lib/kokkos/{algorithms/src/std_algorithms/Kokkos_Swap.hpp => core/src/Threads/Kokkos_Threads_Spinwait.hpp} (52%) rename lib/kokkos/core/src/{fwd/Kokkos_Fwd_HBWSpace.hpp => Threads/Kokkos_Threads_State.hpp} (59%) rename lib/kokkos/core/src/Threads/{Kokkos_ThreadsTeam.hpp => Kokkos_Threads_Team.hpp} (95%) delete mode 100644 lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp delete mode 100644 lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp create mode 100644 lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp create mode 100644 lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp create mode 100644 lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp create mode 100644 lib/kokkos/core/unit_test/TestSwap.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp delete mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp delete mode 100644 lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp create mode 100644 lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp create mode 100644 lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp create mode 100644 lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index 40e3c95f24..f7b8af7695 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,105 @@ # CHANGELOG +## [4.3.00](https://github.com/kokkos/kokkos/tree/4.3.00) (2024-03-19) +[Full Changelog](https://github.com/kokkos/kokkos/compare/4.2.01...4.3.00) + +### Features: +* Add `Experimental::sort_by_key(exec, keys, values)` algorithm [\#6801](https://github.com/kokkos/kokkos/pull/6801) + +### Backend and Architecture Enhancements: + +#### CUDA: +* Experimental multi-GPU support (from the same process) [\#6782](https://github.com/kokkos/kokkos/pull/6782) +* Link against CUDA libraries even with KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE [\#6701](https://github.com/kokkos/kokkos/pull/6701) +* Don't use the compiler launcher script if the CMake compile language is CUDA. [\#6704](https://github.com/kokkos/kokkos/pull/6704) +* nvcc(wrapper): adding "long" and "short" versions for all flags [\#6615](https://github.com/kokkos/kokkos/pull/6615) + +#### HIP: + * Fix compilation when using amdclang (with ROCm >= 5.7) and RDC [\#6857](https://github.com/kokkos/kokkos/pull/6857) + * Use rocthrust for sorting, when available [\#6793](https://github.com/kokkos/kokkos/pull/6793) + +#### SYCL: +* We only support OneAPI SYCL implementation: add check during initialization + * Error out on initialization if the backend is different from `ext_oneapi_*` [\#6784](https://github.com/kokkos/kokkos/pull/6784) + * Filter GPU devices for `ext_onapi_*` GPU devices [\#6758](https://github.com/kokkos/kokkos/pull/6784) +* Performance Improvements + * Avoid unnecessary zero-memset of the scratch flags in SYCL [\#6739](https://github.com/kokkos/kokkos/pull/6739) + * Use host-pinned memory to copy reduction/scan result [\#6500](https://github.com/kokkos/kokkos/pull/6500) +* Address deprecations after oneAPI 2023.2.0 [\#6577](https://github.com/kokkos/kokkos/pull/6739) +* Make sure to call find_dependency for oneDPL if necessary [\#6870](https://github.com/kokkos/kokkos/pull/6870) + +#### OpenMPTarget: +* Use LLVM extensions for dynamic shared memory [\#6380](https://github.com/kokkos/kokkos/pull/6380) +* Guard scratch memory usage in ParallelReduce [\#6585 ](https://github.com/kokkos/kokkos/pull/6585) +* Update linker flags for Intel GPUs update [\#6735](https://github.com/kokkos/kokkos/pull/6735) +* Improve handling of printf on Intel GPUs [\#6652](https://github.com/kokkos/kokkos/pull/6652) + +#### OpenACC: +* Add atomics support [\#6446](https://github.com/kokkos/kokkos/pull/6446) +* Make the OpenACC backend asynchronous [\#6772](https://github.com/kokkos/kokkos/pull/6772) + +#### Threads: +* Add missing broadcast to TeamThreadRange parallel_scan [\#6601](https://github.com/kokkos/kokkos/pull/6446) + +#### OpenMP: +* Improve performance of view initializations and filling with zeros [\#6573](https://github.com/kokkos/kokkos/pull/6573) + +### General Enhancements + +* Improve performance of random number generation when using a normal distribution on GPUs [\#6556](https://github.com/kokkos/kokkos/pull/6556) +* Allocate temporary view with the user-provided execution space instance and do not initialize in `unique` algorithm [\#6598](https://github.com/kokkos/kokkos/pull/6598) +* Add deduction guide for `Kokkos::Array` [\#6373](https://github.com/kokkos/kokkos/pull/6373) +* Provide new public headers `` and `` [\#6687](https://github.com/kokkos/kokkos/pull/6687) +* Fix/improvement to `remove_if` parallel algorithm: use the provided execution space instance for temporary allocations and drop unnecessaryinitialization + avoid evaluating twice the predicate during final pass [\#6747](https://github.com/kokkos/kokkos/pull/6747) +* Add runtime function to query the number of devices and make device ID consistent with `KOKKOS_VISIBLE_DEVICES` [\#6713](https://github.com/kokkos/kokkos/pull/6713) +* simd: support `vector_aligned_tag` [\#6243](https://github.com/kokkos/kokkos/pull/6243) +* Avoid unnecessary allocation when default constructing Bitset [\#6524](https://github.com/kokkos/kokkos/pull/6524) +* Fix constness for views in std algorithms [\#6813](https://github.com/kokkos/kokkos/pull/6813) +* Improve error message on unsafe implicit conversion in MDRangePolicy [\#6855](https://github.com/kokkos/kokkos/pull/6855) +* CTAD (deduction guides) for RangePolicy [\#6850](https://github.com/kokkos/kokkos/pull/6850) +* CTAD (deduction guides) for MDRangePolicy [\#5516](https://github.com/kokkos/kokkos/pull/5516) + +### Build System Changes +* Require `Kokkos_ENABLE_ATOMICS_BYPASS` option to bypass atomic operation for Serial backend only builds [\#6692](https://github.com/kokkos/kokkos/pull/6692) +* Add support for RISCV and the Milk-V's Pioneer [\#6773](https://github.com/kokkos/kokkos/pull/6773) +* Add C++26 standard to CMake setup [\#6733](https://github.com/kokkos/kokkos/pull/6733) +* Fix Makefile when using gnu_generate_makefile.sh and make >= 4.3 [\#6606](https://github.com/kokkos/kokkos/pull/6606) +* Cuda: Fix configuring with CMake >= 3.28.4 - temporary fallback to internal CudaToolkit.cmake [\#6898](https://github.com/kokkos/kokkos/pull/6898) + +### Incompatibilities (i.e. breaking changes) +* Remove all `DEPRECATED_CODE_3` option and all code that was guarded by it [\#6523](https://github.com/kokkos/kokkos/pull/6523) +* Drop guards to accommodate external code defining `KOKKOS_ASSERT` [\#6665](https://github.com/kokkos/kokkos/pull/6665) +* `Profiling::ProfilingSection(std::string)` constructor marked explicit and nodiscard [\#6690](https://github.com/kokkos/kokkos/pull/6690) +* Add bound check preconditions for `RangePolicy` and `MDRangePolicy` [\#6617](https://github.com/kokkos/kokkos/pull/6617) [\#6726](https://github.com/kokkos/kokkos/pull/6726) +* Add checks for unsafe implicit conversions in RangePolicy [\#6754](https://github.com/kokkos/kokkos/pull/6754) +* Remove Kokkos::[b]half_t volatile overloads [\#6579](https://github.com/kokkos/kokkos/pull/6579) +* Remove KOKKOS_IMPL_DO_NOT_USE_PRINTF [\#6593](https://github.com/kokkos/kokkos/pull/6593) +* Check matching static extents in View constructor [\#5190 ](https://github.com/kokkos/kokkos/pull/5190) +* Tools(profiling): fix typo Kokkos_Tools_Optim[i]zationGoal [\#6642](https://github.com/kokkos/kokkos/pull/6642) +* Remove variadic range policy constructor (disallow passing multiple trailing chunk size arguments) [\#6845](https://github.com/kokkos/kokkos/pull/6845) +* Improve message on view out of bounds access and always abort [\#6861](https://github.com/kokkos/kokkos/pull/6861) +* Drop `KOKKOS_ENABLE_INTEL_MM_ALLOC` macro [\#6797](https://github.com/kokkos/kokkos/pull/6797) +* Remove `Kokkos::Experimental::LogicalMemorySpace` (without going through deprecation) [\#6557](https://github.com/kokkos/kokkos/pull/6557) +* Remove `Experimental::HBWSpace` and support for linking against memkind [\#6791](https://github.com/kokkos/kokkos/pull/6791) +* Drop librt TPL and associated `KOKKOS_ENABLE_LIBRT` macro [\#6798](https://github.com/kokkos/kokkos/pull/6798) +* Drop support for old CPU architectures (`ARCH_BGQ`, `ARCH_POWER7`, `ARCH_WSM` and associated `ARCH_SSE4` macro) [\#6806](https://github.com/kokkos/kokkos/pull/6806) +* Drop support for deprecated command-line arguments and environment variables [\#6744](https://github.com/kokkos/kokkos/pull/6744) + +### Deprecations +* Provide kokkos_swap as part of Core and deprecate Experimental::swap in Algorithms [\#6697](https://github.com/kokkos/kokkos/pull/6697) +* Deprecate {Cuda,HIP}::detect_device_count() and Cuda::[detect_]device_arch() [\#6710](https://github.com/kokkos/kokkos/pull/6710) +* Deprecate `ExecutionSpace::in_parallel()` [\#6582](https://github.com/kokkos/kokkos/pull/6582) + +### Bug Fixes +* Fix team-level MDRange reductions: [\#6511](https://github.com/kokkos/kokkos/pull/6511) +* Fix CUDA and SYCL small value type (16-bit) team reductions [\#5334](https://github.com/kokkos/kokkos/pull/5334) +* Enable `{transform_}exclusive_scan` in place [\#6667](https://github.com/kokkos/kokkos/pull/6667) +* `fill_random` overload that do not take an execution space instance argument should fence [\#6658](https://github.com/kokkos/kokkos/pull/6658) +* HIP,Cuda,OpenMPTarget: Fixup use provided execution space when copying host inaccessible reduction result [\#6777](https://github.com/kokkos/kokkos/pull/6777) +* Fix typo in `cuda_func_set_attribute[s]_wrapper` preventing proper setting of desired occupancy [\#6786](https://github.com/kokkos/kokkos/pull/6786) +* Avoid undefined behavior due to conversion between signed and unsigned integers in shift_{right, left}_team_impl [\#6821](https://github.com/kokkos/kokkos/pull/6821) +* Fix a bug in Makefile.kokkos when using AMD GPU architectures as `AMD_GFXYYY` [\#6892](https://github.com/kokkos/kokkos/pull/6892) + ## [4.2.01](https://github.com/kokkos/kokkos/tree/4.2.01) (2023-12-07) [Full Changelog](https://github.com/kokkos/kokkos/compare/4.2.00...4.2.01) @@ -999,95 +1099,95 @@ - Major update for OpenMPTarget: many capabilities now work. For details contact us. - Added DPC++/SYCL backend: primary capabilites are working. - Added Kokkos Graph API analogous to CUDA Graphs. -- Added parallel_scan support with TeamThreadRange [\#3536](https://github.com/kokkos/kokkos/pull/#3536) -- Added Logical Memory Spaces [\#3546](https://github.com/kokkos/kokkos/pull/#3546) -- Added initial half precision support [\#3439](https://github.com/kokkos/kokkos/pull/#3439) -- Experimental feature: control cuda occupancy [\#3379](https://github.com/kokkos/kokkos/pull/#3379) +- Added parallel_scan support with TeamThreadRange [\#3536](https://github.com/kokkos/kokkos/pull/3536) +- Added Logical Memory Spaces [\#3546](https://github.com/kokkos/kokkos/pull/3546) +- Added initial half precision support [\#3439](https://github.com/kokkos/kokkos/pull/3439) +- Experimental feature: control cuda occupancy [\#3379](https://github.com/kokkos/kokkos/pull/3379) **Implemented enhancements Backends and Archs:** -- Add a64fx and fujitsu Compiler support [\#3614](https://github.com/kokkos/kokkos/pull/#3614) -- Adding support for AMD gfx908 archictecture [\#3375](https://github.com/kokkos/kokkos/pull/#3375) -- SYCL parallel\_for MDRangePolicy [\#3583](https://github.com/kokkos/kokkos/pull/#3583) -- SYCL add parallel\_scan [\#3577](https://github.com/kokkos/kokkos/pull/#3577) -- SYCL custom reductions [\#3544](https://github.com/kokkos/kokkos/pull/#3544) -- SYCL Enable container unit tests [\#3550](https://github.com/kokkos/kokkos/pull/#3550) -- SYCL feature level 5 [\#3480](https://github.com/kokkos/kokkos/pull/#3480) -- SYCL Feature level 4 (parallel\_for) [\#3474](https://github.com/kokkos/kokkos/pull/#3474) -- SYCL feature level 3 [\#3451](https://github.com/kokkos/kokkos/pull/#3451) -- SYCL feature level 2 [\#3447](https://github.com/kokkos/kokkos/pull/#3447) -- OpenMPTarget: Hierarchial reduction for + operator on scalars [\#3504](https://github.com/kokkos/kokkos/pull/#3504) -- OpenMPTarget hierarchical [\#3411](https://github.com/kokkos/kokkos/pull/#3411) -- HIP Add Impl::atomic\_[store,load] [\#3440](https://github.com/kokkos/kokkos/pull/#3440) -- HIP enable global lock arrays [\#3418](https://github.com/kokkos/kokkos/pull/#3418) -- HIP Implement multiple occupancy paths for various HIP kernel launchers [\#3366](https://github.com/kokkos/kokkos/pull/#3366) +- Add a64fx and fujitsu Compiler support [\#3614](https://github.com/kokkos/kokkos/pull/3614) +- Adding support for AMD gfx908 archictecture [\#3375](https://github.com/kokkos/kokkos/pull/3375) +- SYCL parallel\_for MDRangePolicy [\#3583](https://github.com/kokkos/kokkos/pull/3583) +- SYCL add parallel\_scan [\#3577](https://github.com/kokkos/kokkos/pull/3577) +- SYCL custom reductions [\#3544](https://github.com/kokkos/kokkos/pull/3544) +- SYCL Enable container unit tests [\#3550](https://github.com/kokkos/kokkos/pull/3550) +- SYCL feature level 5 [\#3480](https://github.com/kokkos/kokkos/pull/3480) +- SYCL Feature level 4 (parallel\_for) [\#3474](https://github.com/kokkos/kokkos/pull/3474) +- SYCL feature level 3 [\#3451](https://github.com/kokkos/kokkos/pull/3451) +- SYCL feature level 2 [\#3447](https://github.com/kokkos/kokkos/pull/3447) +- OpenMPTarget: Hierarchial reduction for + operator on scalars [\#3504](https://github.com/kokkos/kokkos/pull/3504) +- OpenMPTarget hierarchical [\#3411](https://github.com/kokkos/kokkos/pull/3411) +- HIP Add Impl::atomic\_[store,load] [\#3440](https://github.com/kokkos/kokkos/pull/3440) +- HIP enable global lock arrays [\#3418](https://github.com/kokkos/kokkos/pull/3418) +- HIP Implement multiple occupancy paths for various HIP kernel launchers [\#3366](https://github.com/kokkos/kokkos/pull/3366) **Implemented enhancements Policies:** -- MDRangePolicy: Let it be semiregular [\#3494](https://github.com/kokkos/kokkos/pull/#3494) -- MDRangePolicy: Check narrowing conversion in construction [\#3527](https://github.com/kokkos/kokkos/pull/#3527) -- MDRangePolicy: CombinedReducers support [\#3395](https://github.com/kokkos/kokkos/pull/#3395) -- Kokkos Graph: Interface and Default Implementation [\#3362](https://github.com/kokkos/kokkos/pull/#3362) -- Kokkos Graph: add Cuda Graph implementation [\#3369](https://github.com/kokkos/kokkos/pull/#3369) -- TeamPolicy: implemented autotuning of team sizes and vector lengths [\#3206](https://github.com/kokkos/kokkos/pull/#3206) -- RangePolicy: Initialize all data members in default constructor [\#3509](https://github.com/kokkos/kokkos/pull/#3509) +- MDRangePolicy: Let it be semiregular [\#3494](https://github.com/kokkos/kokkos/pull/3494) +- MDRangePolicy: Check narrowing conversion in construction [\#3527](https://github.com/kokkos/kokkos/pull/3527) +- MDRangePolicy: CombinedReducers support [\#3395](https://github.com/kokkos/kokkos/pull/3395) +- Kokkos Graph: Interface and Default Implementation [\#3362](https://github.com/kokkos/kokkos/pull/3362) +- Kokkos Graph: add Cuda Graph implementation [\#3369](https://github.com/kokkos/kokkos/pull/3369) +- TeamPolicy: implemented autotuning of team sizes and vector lengths [\#3206](https://github.com/kokkos/kokkos/pull/3206) +- RangePolicy: Initialize all data members in default constructor [\#3509](https://github.com/kokkos/kokkos/pull/3509) **Implemented enhancements BuildSystem:** -- Auto-generate core test files for all backends [\#3488](https://github.com/kokkos/kokkos/pull/#3488) -- Avoid rewriting test files when calling cmake [\#3548](https://github.com/kokkos/kokkos/pull/#3548) -- RULE\_LAUNCH\_COMPILE and RULE\_LAUNCH\_LINK system for nvcc\_wrapper [\#3136](https://github.com/kokkos/kokkos/pull/#3136) -- Adding -include as a known argument to nvcc\_wrapper [\#3434](https://github.com/kokkos/kokkos/pull/#3434) -- Install hpcbind script [\#3402](https://github.com/kokkos/kokkos/pull/#3402) -- cmake/kokkos\_tribits.cmake: add parsing for args [\#3457](https://github.com/kokkos/kokkos/pull/#3457) +- Auto-generate core test files for all backends [\#3488](https://github.com/kokkos/kokkos/pull/3488) +- Avoid rewriting test files when calling cmake [\#3548](https://github.com/kokkos/kokkos/pull/3548) +- RULE\_LAUNCH\_COMPILE and RULE\_LAUNCH\_LINK system for nvcc\_wrapper [\#3136](https://github.com/kokkos/kokkos/pull/3136) +- Adding -include as a known argument to nvcc\_wrapper [\#3434](https://github.com/kokkos/kokkos/pull/3434) +- Install hpcbind script [\#3402](https://github.com/kokkos/kokkos/pull/3402) +- cmake/kokkos\_tribits.cmake: add parsing for args [\#3457](https://github.com/kokkos/kokkos/pull/3457) **Implemented enhancements Tools:** -- Changed namespacing of Kokkos::Tools::Impl::Impl::tune\_policy [\#3455](https://github.com/kokkos/kokkos/pull/#3455) -- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces [\#3530](https://github.com/kokkos/kokkos/pull/#3530) -- Use the Kokkos Profiling interface rather than the Impl interface [\#3518](https://github.com/kokkos/kokkos/pull/#3518) -- Runtime option for tuning [\#3459](https://github.com/kokkos/kokkos/pull/#3459) -- Dual View Tool Events [\#3326](https://github.com/kokkos/kokkos/pull/#3326) +- Changed namespacing of Kokkos::Tools::Impl::Impl::tune\_policy [\#3455](https://github.com/kokkos/kokkos/pull/3455) +- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces [\#3530](https://github.com/kokkos/kokkos/pull/3530) +- Use the Kokkos Profiling interface rather than the Impl interface [\#3518](https://github.com/kokkos/kokkos/pull/3518) +- Runtime option for tuning [\#3459](https://github.com/kokkos/kokkos/pull/3459) +- Dual View Tool Events [\#3326](https://github.com/kokkos/kokkos/pull/3326) **Implemented enhancements Other:** -- Abort on errors instead of just printing [\#3528](https://github.com/kokkos/kokkos/pull/#3528) -- Enable C++14 macros unconditionally [\#3449](https://github.com/kokkos/kokkos/pull/#3449) -- Make ViewMapping trivially copyable [\#3436](https://github.com/kokkos/kokkos/pull/#3436) -- Rename struct ViewMapping to class [\#3435](https://github.com/kokkos/kokkos/pull/#3435) -- Replace enums in Kokkos\_ViewMapping.hpp (removes -Wextra) [\#3422](https://github.com/kokkos/kokkos/pull/#3422) -- Use bool for enums representing bools [\#3416](https://github.com/kokkos/kokkos/pull/#3416) -- Fence active instead of default execution space instances [\#3388](https://github.com/kokkos/kokkos/pull/#3388) -- Refactor parallel\_reduce fence usage [\#3359](https://github.com/kokkos/kokkos/pull/#3359) -- Moved Space EBO helpers to Kokkos\_EBO [\#3357](https://github.com/kokkos/kokkos/pull/#3357) -- Add remove\_cvref type trait [\#3340](https://github.com/kokkos/kokkos/pull/#3340) -- Adding identity type traits and update definition of identity\_t alias [\#3339](https://github.com/kokkos/kokkos/pull/#3339) -- Add is\_specialization\_of type trait [\#3338](https://github.com/kokkos/kokkos/pull/#3338) -- Make ScratchMemorySpace semi-regular [\#3309](https://github.com/kokkos/kokkos/pull/#3309) -- Optimize min/max atomics with early exit on no-op case [\#3265](https://github.com/kokkos/kokkos/pull/#3265) -- Refactor Backend Development [\#2941](https://github.com/kokkos/kokkos/pull/#2941) +- Abort on errors instead of just printing [\#3528](https://github.com/kokkos/kokkos/pull/3528) +- Enable C++14 macros unconditionally [\#3449](https://github.com/kokkos/kokkos/pull/3449) +- Make ViewMapping trivially copyable [\#3436](https://github.com/kokkos/kokkos/pull/3436) +- Rename struct ViewMapping to class [\#3435](https://github.com/kokkos/kokkos/pull/3435) +- Replace enums in Kokkos\_ViewMapping.hpp (removes -Wextra) [\#3422](https://github.com/kokkos/kokkos/pull/3422) +- Use bool for enums representing bools [\#3416](https://github.com/kokkos/kokkos/pull/3416) +- Fence active instead of default execution space instances [\#3388](https://github.com/kokkos/kokkos/pull/3388) +- Refactor parallel\_reduce fence usage [\#3359](https://github.com/kokkos/kokkos/pull/3359) +- Moved Space EBO helpers to Kokkos\_EBO [\#3357](https://github.com/kokkos/kokkos/pull/3357) +- Add remove\_cvref type trait [\#3340](https://github.com/kokkos/kokkos/pull/3340) +- Adding identity type traits and update definition of identity\_t alias [\#3339](https://github.com/kokkos/kokkos/pull/3339) +- Add is\_specialization\_of type trait [\#3338](https://github.com/kokkos/kokkos/pull/3338) +- Make ScratchMemorySpace semi-regular [\#3309](https://github.com/kokkos/kokkos/pull/3309) +- Optimize min/max atomics with early exit on no-op case [\#3265](https://github.com/kokkos/kokkos/pull/3265) +- Refactor Backend Development [\#2941](https://github.com/kokkos/kokkos/pull/2941) **Fixed bugs:** -- Fixup MDRangePolicy construction from Kokkos arrays [\#3591](https://github.com/kokkos/kokkos/pull/#3591) -- Add atomic functions for unsigned long long using gcc built-in [\#3588](https://github.com/kokkos/kokkos/pull/#3588) -- Fixup silent pointless comparison with zero in checked\_narrow\_cast (compiler workaround) [\#3566](https://github.com/kokkos/kokkos/pull/#3566) -- Fixes for ROCm 3.9 [\#3565](https://github.com/kokkos/kokkos/pull/#3565) -- Fix windows build issues which crept in for the CUDA build [\#3532](https://github.com/kokkos/kokkos/pull/#3532) -- HIP Fix atomics of large data types and clean up lock arrays [\#3529](https://github.com/kokkos/kokkos/pull/#3529) -- Pthreads fix exception resulting from 0 grain size [\#3510](https://github.com/kokkos/kokkos/pull/#3510) -- Fixup do not require atomic operation to be default constructible [\#3503](https://github.com/kokkos/kokkos/pull/#3503) -- Fix race condition in HIP backend [\#3467](https://github.com/kokkos/kokkos/pull/#3467) -- Replace KOKKOS\_DEBUG with KOKKOS\_ENABLE\_DEBUG [\#3458](https://github.com/kokkos/kokkos/pull/#3458) -- Fix multi-stream team scratch space definition for HIP [\#3398](https://github.com/kokkos/kokkos/pull/#3398) -- HIP fix template deduction [\#3393](https://github.com/kokkos/kokkos/pull/#3393) -- Fix compiling with HIP and C++17 [\#3390](https://github.com/kokkos/kokkos/pull/#3390) -- Fix sigFPE in HIP blocksize deduction [\#3378](https://github.com/kokkos/kokkos/pull/#3378) -- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM [\#3348](https://github.com/kokkos/kokkos/pull/#3348) -- Clang compilation of CUDA backend on Windows [\#3345](https://github.com/kokkos/kokkos/pull/#3345) -- Fix HBW support [\#3343](https://github.com/kokkos/kokkos/pull/#3343) -- Added missing fences to unique token [\#3260](https://github.com/kokkos/kokkos/pull/#3260) +- Fixup MDRangePolicy construction from Kokkos arrays [\#3591](https://github.com/kokkos/kokkos/pull/3591) +- Add atomic functions for unsigned long long using gcc built-in [\#3588](https://github.com/kokkos/kokkos/pull/3588) +- Fixup silent pointless comparison with zero in checked\_narrow\_cast (compiler workaround) [\#3566](https://github.com/kokkos/kokkos/pull/3566) +- Fixes for ROCm 3.9 [\#3565](https://github.com/kokkos/kokkos/pull/3565) +- Fix windows build issues which crept in for the CUDA build [\#3532](https://github.com/kokkos/kokkos/pull/3532) +- HIP Fix atomics of large data types and clean up lock arrays [\#3529](https://github.com/kokkos/kokkos/pull/3529) +- Pthreads fix exception resulting from 0 grain size [\#3510](https://github.com/kokkos/kokkos/pull/3510) +- Fixup do not require atomic operation to be default constructible [\#3503](https://github.com/kokkos/kokkos/pull/3503) +- Fix race condition in HIP backend [\#3467](https://github.com/kokkos/kokkos/pull/3467) +- Replace KOKKOS\_DEBUG with KOKKOS\_ENABLE\_DEBUG [\#3458](https://github.com/kokkos/kokkos/pull/3458) +- Fix multi-stream team scratch space definition for HIP [\#3398](https://github.com/kokkos/kokkos/pull/3398) +- HIP fix template deduction [\#3393](https://github.com/kokkos/kokkos/pull/3393) +- Fix compiling with HIP and C++17 [\#3390](https://github.com/kokkos/kokkos/pull/3390) +- Fix sigFPE in HIP blocksize deduction [\#3378](https://github.com/kokkos/kokkos/pull/3378) +- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM [\#3348](https://github.com/kokkos/kokkos/pull/3348) +- Clang compilation of CUDA backend on Windows [\#3345](https://github.com/kokkos/kokkos/pull/3345) +- Fix HBW support [\#3343](https://github.com/kokkos/kokkos/pull/3343) +- Added missing fences to unique token [\#3260](https://github.com/kokkos/kokkos/pull/3260) **Incompatibilities:** -- Remove unused utilities (forward, move, and expand\_variadic) from Kokkos::Impl [\#3535](https://github.com/kokkos/kokkos/pull/#3535) -- Remove unused traits [\#3534](https://github.com/kokkos/kokkos/pull/#3534) -- HIP: Remove old HCC code [\#3301](https://github.com/kokkos/kokkos/pull/#3301) -- Prepare for deprecation of ViewAllocateWithoutInitializing [\#3264](https://github.com/kokkos/kokkos/pull/#3264) -- Remove ROCm backend [\#3148](https://github.com/kokkos/kokkos/pull/#3148) +- Remove unused utilities (forward, move, and expand\_variadic) from Kokkos::Impl [\#3535](https://github.com/kokkos/kokkos/pull/3535) +- Remove unused traits [\#3534](https://github.com/kokkos/kokkos/pull/3534) +- HIP: Remove old HCC code [\#3301](https://github.com/kokkos/kokkos/pull/3301) +- Prepare for deprecation of ViewAllocateWithoutInitializing [\#3264](https://github.com/kokkos/kokkos/pull/3264) +- Remove ROCm backend [\#3148](https://github.com/kokkos/kokkos/pull/3148) ## [3.2.01](https://github.com/kokkos/kokkos/tree/3.2.01) (2020-11-17) [Full Changelog](https://github.com/kokkos/kokkos/compare/3.2.00...3.2.01) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 4a4e7a5501..93a796f200 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -150,8 +150,8 @@ ENDIF() set(Kokkos_VERSION_MAJOR 4) -set(Kokkos_VERSION_MINOR 2) -set(Kokkos_VERSION_PATCH 1) +set(Kokkos_VERSION_MINOR 3) +set(Kokkos_VERSION_PATCH 0) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") message(STATUS "Kokkos version: ${Kokkos_VERSION}") math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index 393422d73c..a167ce2070 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -11,8 +11,8 @@ CXXFLAGS += $(SHFLAGS) endif KOKKOS_VERSION_MAJOR = 4 -KOKKOS_VERSION_MINOR = 2 -KOKKOS_VERSION_PATCH = 1 +KOKKOS_VERSION_MINOR = 3 +KOKKOS_VERSION_PATCH = 0 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,SYCL,OpenMPTarget,OpenMP,Threads,Serial @@ -22,14 +22,14 @@ KOKKOS_DEVICES ?= "OpenMP" # Intel: KNC,KNL,SNB,HSW,BDW,SKL,SKX,ICL,ICX,SPR # NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80,Ampere86,Ada89,Hopper90 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2,A64FX -# IBM: BGQ,Power7,Power8,Power9 -# AMD-GPUS: GFX906,GFX908,GFX90A,GFX940,GFX942,GFX1030,GFX1100 +# IBM: Power8,Power9 +# AMD-GPUS: AMD_GFX906,AMD_GFX908,AMD_GFX90A,AMD_GFX940,AMD_GFX942,AMD_GFX1030,AMD_GFX1100 # AMD-CPUS: AMDAVX,Zen,Zen2,Zen3 # Intel-GPUs: Gen9,Gen11,Gen12LP,DG1,XeHP,PVC KOKKOS_ARCH ?= "" # Options: yes,no KOKKOS_DEBUG ?= "no" -# Options: hwloc,librt,experimental_memkind +# Options: hwloc KOKKOS_USE_TPLS ?= "" # Options: c++17,c++1z,c++20,c++2a,c++23,c++2b KOKKOS_CXX_STANDARD ?= "c++17" @@ -56,7 +56,7 @@ uppercase_internal=$(if $1,$$(subst $(firstword $1),$(call uppercase_internal,$( uppercase=$(eval uppercase_RESULT:=$(call uppercase_internal,$(uppercase_TABLE),$1))$(uppercase_RESULT) # Return a 1 if a string contains a substring and 0 if not # Note the search string should be without '"' -# Example: $(call kokkos_has_string,"hwloc,librt",hwloc) +# Example: $(call kokkos_has_string,"hwloc,libdl",hwloc) # Will return a 1 kokkos_has_string=$(if $(findstring $(call uppercase,$2),$(call uppercase,$1)),1,0) # Returns 1 if the path exists, 0 otherwise @@ -73,11 +73,11 @@ KOKKOS_INTERNAL_ENABLE_CXX20 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD), KOKKOS_INTERNAL_ENABLE_CXX2A := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2a) KOKKOS_INTERNAL_ENABLE_CXX23 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++23) KOKKOS_INTERNAL_ENABLE_CXX2B := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2b) +KOKKOS_INTERNAL_ENABLE_CXX26 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++26) +KOKKOS_INTERNAL_ENABLE_CXX2C := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2c) # Check for external libraries. KOKKOS_INTERNAL_USE_HWLOC := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),hwloc) -KOKKOS_INTERNAL_USE_LIBRT := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),librt) -KOKKOS_INTERNAL_USE_MEMKIND := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),experimental_memkind) # Check for advanced settings. KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),compiler_warnings) @@ -318,7 +318,6 @@ endif # Intel based. KOKKOS_INTERNAL_USE_ARCH_KNC := $(call kokkos_has_string,$(KOKKOS_ARCH),KNC) -KOKKOS_INTERNAL_USE_ARCH_WSM := $(call kokkos_has_string,$(KOKKOS_ARCH),WSM) KOKKOS_INTERNAL_USE_ARCH_SNB := $(call kokkos_has_string,$(KOKKOS_ARCH),SNB) KOKKOS_INTERNAL_USE_ARCH_HSW := $(call kokkos_has_string,$(KOKKOS_ARCH),HSW) KOKKOS_INTERNAL_USE_ARCH_BDW := $(call kokkos_has_string,$(KOKKOS_ARCH),BDW) @@ -398,11 +397,9 @@ KOKKOS_INTERNAL_USE_ARCH_A64FX := $(call kokkos_has_string,$(KOKKOS_ARCH),A64FX) KOKKOS_INTERNAL_USE_ARCH_ARM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ARMV80)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV81)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2)+$(KOKKOS_INTERNAL_USE_ARCH_A64FX) | bc)) # IBM based. -KOKKOS_INTERNAL_USE_ARCH_BGQ := $(call kokkos_has_string,$(KOKKOS_ARCH),BGQ) -KOKKOS_INTERNAL_USE_ARCH_POWER7 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power7) KOKKOS_INTERNAL_USE_ARCH_POWER8 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power8) KOKKOS_INTERNAL_USE_ARCH_POWER9 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power9) -KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_BGQ)+$(KOKKOS_INTERNAL_USE_ARCH_POWER7)+$(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc)) +KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc)) # AMD based. KOKKOS_INTERNAL_USE_ARCH_AMDAVX := $(call kokkos_has_string,$(KOKKOS_ARCH),AMDAVX) @@ -413,22 +410,37 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN3), 0) KOKKOS_INTERNAL_USE_ARCH_ZEN := $(call kokkos_has_string,$(KOKKOS_ARCH),Zen) endif endif -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A)) + +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A) +endif KOKKOS_INTERNAL_USE_ARCH_AMD_GFX940 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX940) KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX942) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100) +endif # Any AVX? -KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM)) KOKKOS_INTERNAL_USE_ARCH_AVX := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_AMDAVX)) KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN2) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN3)) KOKKOS_INTERNAL_USE_ARCH_AVX512MIC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNL)) # Incompatible flags? -KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_SSE42)+$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_SKL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX)+$(KOKKOS_INTERNAL_USE_ARCH_ICL)+$(KOKKOS_INTERNAL_USE_ARCH_ICX)+$(KOKKOS_INTERNAL_USE_ARCH_SPR)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1") | bc) +KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_SKL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX)+$(KOKKOS_INTERNAL_USE_ARCH_ICL)+$(KOKKOS_INTERNAL_USE_ARCH_ICX)+$(KOKKOS_INTERNAL_USE_ARCH_SPR)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1") | bc) KOKKOS_INTERNAL_USE_ARCH_MULTIGPU := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_NVIDIA)>1") | bc) ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MULTIHOST), 1) @@ -573,6 +585,16 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2B), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2B_FLAG) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX23") endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX26), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX26_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX26") +endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2C), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2C_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX26") +endif ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) @@ -612,27 +634,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HWLOC") endif -ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_LIBRT") - KOKKOS_LIBS += -lrt - KOKKOS_TPL_LIBRARY_NAMES += rt -endif - -ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - ifneq ($(KOKKOS_CMAKE), yes) - ifneq ($(MEMKIND_PATH),) - KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include - KOKKOS_LIBDIRS += -L$(MEMKIND_PATH)/lib - KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib - KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include - KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib - endif - KOKKOS_LIBS += -lmemkind -lnuma - KOKKOS_TPL_LIBRARY_NAMES += memkind numa - endif - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HBWSPACE") -endif - ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_LARGE_MEM_TESTS") endif @@ -699,10 +700,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif endif - ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") - endif - ifeq ($(KOKKOS_INTERNAL_CUDA_DISABLE_MALLOC_ASYNC), 0) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC") else @@ -827,20 +824,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) endif endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_SSE42") - - ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) - KOKKOS_CXXFLAGS += -xSSE4.2 - KOKKOS_LDFLAGS += -xSSE4.2 - else ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) - else - # Assume that this is a really a GNU compiler. - KOKKOS_CXXFLAGS += -msse4.2 - KOKKOS_LDFLAGS += -msse4.2 - endif -endif - ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX") @@ -1249,7 +1232,6 @@ ifneq ($(KOKKOS_INTERNAL_NEW_CONFIG), 0) tmp := $(call kokkos_update_config_header, KOKKOS_FWD_HPP_, "KokkosCore_Config_FwdBackend.tmp", "KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_SETUP_HPP_, "KokkosCore_Config_SetupBackend.tmp", "KokkosCore_Config_SetupBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_DECLARE_HPP_, "KokkosCore_Config_DeclareBackend.tmp", "KokkosCore_Config_DeclareBackend.hpp") - tmp := $(call kokkos_update_config_header, KOKKOS_POST_INCLUDE_HPP_, "KokkosCore_Config_PostInclude.tmp", "KokkosCore_Config_PostInclude.hpp") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") @@ -1289,10 +1271,6 @@ ifneq ($(KOKKOS_INTERNAL_NEW_CONFIG), 0) tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif - ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") - endif endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/*.hpp) @@ -1403,11 +1381,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) KOKKOS_TPL_LIBRARY_NAMES += hpx endif -# Don't include Kokkos_HBWSpace.cpp if not using MEMKIND to avoid a link warning. -ifneq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp,$(KOKKOS_SRC)) -endif - # With Cygwin functions such as fdopen and fileno are not defined # when strict ansi is enabled. strict ansi gets enabled with -std=c++14 # though. So we hard undefine it here. Not sure if that has any bad side effects @@ -1461,6 +1434,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) else tmp := $(call desul_append_header,"/* $H""undef DESUL_ATOMICS_ENABLE_OPENMP */") endif + +ifeq ($(KOKKOS_INTERNAL_USE_OPENACC), 1) + tmp := $(call desul_append_header,"$H""define DESUL_ATOMICS_ENABLE_OPENACC") +else + tmp := $(call desul_append_header,"/* $H""undef DESUL_ATOMICS_ENABLE_OPENACC */") +endif tmp := $(call desul_append_header, "") tmp := $(call desul_append_header, "$H""endif") @@ -1493,7 +1472,7 @@ include $(KOKKOS_PATH)/Makefile.targets kokkos-clean: rm -f $(KOKKOS_OBJ_LINK) $(DESUL_CONFIG_HEADER) $(DESUL_INTERNAL_CONFIG_TMP) KokkosCore_config.h KokkosCore_config.tmp libkokkos.a KokkosCore_Config_SetupBackend.hpp \ KokkosCore_Config_FwdBackend.hpp KokkosCore_Config_DeclareBackend.hpp KokkosCore_Config_DeclareBackend.tmp \ - KokkosCore_Config_FwdBackend.tmp KokkosCore_Config_PostInclude.hpp KokkosCore_Config_PostInclude.tmp KokkosCore_Config_SetupBackend.tmp + KokkosCore_Config_FwdBackend.tmp KokkosCore_Config_SetupBackend.tmp libkokkos.a: $(KOKKOS_OBJ_LINK) $(KOKKOS_SRC) $(KOKKOS_HEADERS) ar cr libkokkos.a $(KOKKOS_OBJ_LINK) diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index ec8770dd7d..e6900a822a 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -20,8 +20,6 @@ Kokkos_TaskQueue.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Ta $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_TaskQueue.cpp Kokkos_HostThreadTeam.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp -Kokkos_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp Kokkos_HostBarrier.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp Kokkos_Profiling.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling.cpp @@ -30,8 +28,6 @@ Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_ $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_SharedAlloc.cpp Kokkos_MemoryPool.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp -Kokkos_MemorySpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp Kokkos_HostSpace_deepcopy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp Kokkos_NumericTraits.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp @@ -82,8 +78,10 @@ Lock_Array_HIP.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/tpls/desul/src/Lock_Array endif ifeq ($(KOKKOS_INTERNAL_USE_THREADS), 1) -Kokkos_ThreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp +Kokkos_Threads_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Instance.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Instance.cpp +Kokkos_Threads_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Spinwait.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_Spinwait.cpp endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) @@ -123,6 +121,3 @@ Kokkos_OpenACC_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenACC Kokkos_OpenACC_SharedAllocationRecord.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp endif - -Kokkos_HBWSpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp diff --git a/lib/kokkos/README.md b/lib/kokkos/README.md index 033346e956..19793bb82d 100644 --- a/lib/kokkos/README.md +++ b/lib/kokkos/README.md @@ -28,7 +28,7 @@ To start learning about Kokkos: - [Use cases and Examples](https://kokkos.github.io/kokkos-core-wiki/usecases.html): a series of examples ranging from how to use Kokkos with MPI to Fortran interoperability. -For questions find us on Slack: https://kokkosteam.slack.com or open a github issue. +For questions find us on Slack: https://kokkosteam.slack.com or open a GitHub issue. For non-public questions send an email to: *crtrott(at)sandia.gov* @@ -48,10 +48,10 @@ Please see the [following page](https://kokkos.github.io/kokkos-core-wiki/citati # License -[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![License](https://img.shields.io/badge/License-Apache--2.0_WITH_LLVM--exception-blue)](https://spdx.org/licenses/LLVM-exception.html) Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. -The full license statement used in all headers is available [here](https://kokkos.github.io/kokkos-core-wiki/license.html) or -[here](https://github.com/kokkos/kokkos/blob/master/LICENSE). +The full license statement used in all headers is available [here](https://kokkos.org/kokkos-core-wiki/license.html) or +[here](https://github.com/kokkos/kokkos/blob/develop/LICENSE). diff --git a/lib/kokkos/SECURITY.md b/lib/kokkos/SECURITY.md new file mode 100644 index 0000000000..93cf6e3663 --- /dev/null +++ b/lib/kokkos/SECURITY.md @@ -0,0 +1,12 @@ +# Reporting Security Issues + +To report a security issue, please email +[lebrungrandt@ornl.gov](mailto:lebrungrandt@ornl.gov) +and [crtrott@sandia.gov](mailto:crtrott@sandia.gov) +with a description of the issue, the steps you took to create the issue, +affected versions, and, if known, mitigations for the issue. + +Our vulnerability management team will respond within 5 working days of your +email. If the issue is confirmed as a vulnerability, we will open a +Security Advisory and acknowledge your contributions as part of it. This project +follows a 90 day disclosure timeline. diff --git a/lib/kokkos/Spack.md b/lib/kokkos/Spack.md index 79606c259d..06c763a64e 100644 --- a/lib/kokkos/Spack.md +++ b/lib/kokkos/Spack.md @@ -159,7 +159,6 @@ If you don't specify a CUDA build variant in a `packages.yaml` and you build you > spack install superscience ```` you may end up just getting the default Kokkos (i.e. Serial). -Some examples are included in the `config/yaml` folder for common platforms. Before running `spack install ` we recommend running `spack spec ` to confirm your dependency tree is correct. For example, with Kokkos Kernels: ````bash diff --git a/lib/kokkos/algorithms/src/CMakeLists.txt b/lib/kokkos/algorithms/src/CMakeLists.txt index 1695778947..b490caca62 100644 --- a/lib/kokkos/algorithms/src/CMakeLists.txt +++ b/lib/kokkos/algorithms/src/CMakeLists.txt @@ -30,5 +30,5 @@ KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkosalgorithms ${CMAKE_CURRENT_SOURCE_DIR} ) - - +KOKKOS_LINK_TPL(kokkoscontainers PUBLIC ROCTHRUST) +KOKKOS_LINK_TPL(kokkoscore PUBLIC ONEDPL) diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 2d7d236d2f..7df12b8518 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -849,18 +849,17 @@ class Random_XorShift64 { return drand(end - start) + start; } - // Marsaglia polar method for drawing a standard normal distributed random + // Box-muller method for drawing a standard normal distributed random // number KOKKOS_INLINE_FUNCTION double normal() { - double S = 2.0; - double U; - while (S >= 1.0) { - U = 2.0 * drand() - 1.0; - const double V = 2.0 * drand() - 1.0; - S = U * U + V * V; - } - return U * std::sqrt(-2.0 * std::log(S) / S); + constexpr auto two_pi = 2 * Kokkos::numbers::pi_v; + + const double u = drand(); + const double v = drand(); + const double r = Kokkos::sqrt(-2.0 * Kokkos::log(u)); + const double theta = v * two_pi; + return r * Kokkos::cos(theta); } KOKKOS_INLINE_FUNCTION @@ -1094,18 +1093,17 @@ class Random_XorShift1024 { return drand(end - start) + start; } - // Marsaglia polar method for drawing a standard normal distributed random + // Box-muller method for drawing a standard normal distributed random // number KOKKOS_INLINE_FUNCTION double normal() { - double S = 2.0; - double U; - while (S >= 1.0) { - U = 2.0 * drand() - 1.0; - const double V = 2.0 * drand() - 1.0; - S = U * U + V * V; - } - return U * std::sqrt(-2.0 * std::log(S) / S); + constexpr auto two_pi = 2 * Kokkos::numbers::pi_v; + + const double u = drand(); + const double v = drand(); + const double r = Kokkos::sqrt(-2.0 * Kokkos::log(u)); + const double theta = v * two_pi; + return r * Kokkos::cos(theta); } KOKKOS_INLINE_FUNCTION @@ -1545,13 +1543,23 @@ template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type begin, typename ViewType::const_value_type end) { - fill_random(typename ViewType::execution_space{}, a, g, begin, end); + Kokkos::fence( + "fill_random: fence before since no execution space instance provided"); + typename ViewType::execution_space exec; + fill_random(exec, a, g, begin, end); + exec.fence( + "fill_random: fence after since no execution space instance provided"); } template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type range) { - fill_random(typename ViewType::execution_space{}, a, g, 0, range); + Kokkos::fence( + "fill_random: fence before since no execution space instance provided"); + typename ViewType::execution_space exec; + fill_random(exec, a, g, 0, range); + exec.fence( + "fill_random: fence after since no execution space instance provided"); } } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index f77484cc55..136b4ec82d 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -23,6 +23,7 @@ #include "sorting/Kokkos_BinSortPublicAPI.hpp" #include "sorting/Kokkos_SortPublicAPI.hpp" +#include "sorting/Kokkos_SortByKeyPublicAPI.hpp" #include "sorting/Kokkos_NestedSortPublicAPI.hpp" #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_SORT diff --git a/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp b/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp index 436ae0d10b..b532a774e1 100644 --- a/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp @@ -35,7 +35,6 @@ // following the std classification. // modifying ops -#include "std_algorithms/Kokkos_Swap.hpp" #include "std_algorithms/Kokkos_IterSwap.hpp" // non-modifying sequence diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp new file mode 100644 index 0000000000..fc73eccad6 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp @@ -0,0 +1,117 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_BY_KEY_PUBLIC_API_HPP_ +#define KOKKOS_SORT_BY_KEY_PUBLIC_API_HPP_ + +#include "./impl/Kokkos_SortByKeyImpl.hpp" +#include +#include + +namespace Kokkos::Experimental { + +// --------------------------------------------------------------- +// basic overloads +// --------------------------------------------------------------- + +template +void sort_by_key( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + // constraints + using KeysType = Kokkos::View; + using ValuesType = Kokkos::View; + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(keys); + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(values); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the keys View argument!"); + static_assert( + SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the values View argument!"); + + static_assert(KeysType::static_extent(0) == 0 || + ValuesType::static_extent(0) == 0 || + KeysType::static_extent(0) == ValuesType::static_extent(0)); + if (values.size() != keys.size()) + Kokkos::abort((std::string("values and keys extents must be the same. The " + "values extent is ") + + std::to_string(values.size()) + ", and the keys extent is " + + std::to_string(keys.size()) + ".") + .c_str()); + + if (keys.extent(0) <= 1) { + return; + } + + ::Kokkos::Impl::sort_by_key_device_view_without_comparator(exec, keys, + values); +} + +// --------------------------------------------------------------- +// overloads supporting a custom comparator +// --------------------------------------------------------------- + +template +void sort_by_key( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + // constraints + using KeysType = Kokkos::View; + using ValuesType = Kokkos::View; + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(keys); + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(values); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the keys View argument!"); + static_assert( + SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the values View argument!"); + + static_assert(KeysType::static_extent(0) == 0 || + ValuesType::static_extent(0) == 0 || + KeysType::static_extent(0) == ValuesType::static_extent(0)); + if (values.size() != keys.size()) + Kokkos::abort((std::string("values and keys extents must be the same. The " + "values extent is ") + + std::to_string(values.size()) + ", and the keys extent is " + + std::to_string(keys.size()) + ".") + .c_str()); + + if (keys.extent(0) <= 1) { + return; + } + + ::Kokkos::Impl::sort_by_key_device_view_with_comparator(exec, keys, values, + comparator); +} + +} // namespace Kokkos::Experimental +#endif diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp index a763c41e58..308e9e3a00 100644 --- a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp @@ -29,7 +29,7 @@ namespace Kokkos { // --------------------------------------------------------------- template -void sort([[maybe_unused]] const ExecutionSpace& exec, +void sort(const ExecutionSpace& exec, const Kokkos::View& view) { // constraints using ViewType = Kokkos::View; @@ -52,6 +52,7 @@ void sort([[maybe_unused]] const ExecutionSpace& exec, } if constexpr (Impl::better_off_calling_std_sort_v) { + exec.fence("Kokkos::sort without comparator use std::sort"); auto first = ::Kokkos::Experimental::begin(view); auto last = ::Kokkos::Experimental::end(view); std::sort(first, last); @@ -82,7 +83,7 @@ void sort(const Kokkos::View& view) { // --------------------------------------------------------------- template -void sort([[maybe_unused]] const ExecutionSpace& exec, +void sort(const ExecutionSpace& exec, const Kokkos::View& view, const ComparatorType& comparator) { // constraints @@ -105,6 +106,7 @@ void sort([[maybe_unused]] const ExecutionSpace& exec, } if constexpr (Impl::better_off_calling_std_sort_v) { + exec.fence("Kokkos::sort with comparator use std::sort"); auto first = ::Kokkos::Experimental::begin(view); auto last = ::Kokkos::Experimental::end(view); std::sort(first, last, comparator); diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp index 50ac823319..2fe58272d9 100644 --- a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp @@ -18,7 +18,6 @@ #define KOKKOS_NESTED_SORT_IMPL_HPP_ #include -#include namespace Kokkos { namespace Experimental { @@ -99,7 +98,7 @@ KOKKOS_INLINE_FUNCTION void sort_nested_impl( keyView(elem1) = key2; keyView(elem2) = key1; if constexpr (!std::is_same_v) { - Kokkos::Experimental::swap(valueView(elem1), valueView(elem2)); + Kokkos::kokkos_swap(valueView(elem1), valueView(elem2)); } } } diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp new file mode 100644 index 0000000000..36deccdfb1 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp @@ -0,0 +1,401 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_BY_KEY_FREE_FUNCS_IMPL_HPP_ +#define KOKKOS_SORT_BY_KEY_FREE_FUNCS_IMPL_HPP_ + +#include + +#if defined(KOKKOS_ENABLE_CUDA) + +// Workaround for `Instruction 'shfl' without '.sync' is not supported on +// .target sm_70 and higher from PTX ISA version 6.4`. +// Also see https://github.com/NVIDIA/cub/pull/170. +#if !defined(CUB_USE_COOPERATIVE_GROUPS) +#define CUB_USE_COOPERATIVE_GROUPS +#endif + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" + +#if defined(KOKKOS_COMPILER_CLANG) +// Some versions of Clang fail to compile Thrust, failing with errors like +// this: +// /thrust/system/cuda/detail/core/agent_launcher.h:557:11: +// error: use of undeclared identifier 'va_printf' +// The exact combination of versions for Clang and Thrust (or CUDA) for this +// failure was not investigated, however even very recent version combination +// (Clang 10.0.0 and Cuda 10.0) demonstrated failure. +// +// Defining _CubLog here locally allows us to avoid that code path, however +// disabling some debugging diagnostics +#pragma push_macro("_CubLog") +#ifdef _CubLog +#undef _CubLog +#endif +#define _CubLog +#include +#include +#pragma pop_macro("_CubLog") +#else +#include +#include +#endif + +#pragma GCC diagnostic pop + +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +#include +#include +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) && \ + (ONEDPL_VERSION_MAJOR > 2022 || \ + (ONEDPL_VERSION_MAJOR == 2022 && ONEDPL_VERSION_MINOR >= 2)) +#define KOKKOS_ONEDPL_HAS_SORT_BY_KEY +#include +#include +#endif + +namespace Kokkos::Impl { + +template +constexpr inline bool is_admissible_to_kokkos_sort_by_key = + ::Kokkos::is_view::value&& T::rank() == 1 && + (std::is_same::value || + std::is_same::value || + std::is_same::value); + +template +KOKKOS_INLINE_FUNCTION constexpr void +static_assert_is_admissible_to_kokkos_sort_by_key(const ViewType& /* view */) { + static_assert(is_admissible_to_kokkos_sort_by_key, + "Kokkos::sort_by_key only accepts 1D values View with " + "LayoutRight, LayoutLeft or LayoutStride."); +} + +// For the fallback implementation for sort_by_key using Kokkos::sort, we need +// to consider if Kokkos::sort defers to the fallback implementation that copies +// the array to the host and uses std::sort, see +// copy_to_host_run_stdsort_copy_back() in impl/Kokkos_SortImpl.hpp. If +// sort_on_device_v is true, we assume that std::sort doesn't copy data. +// Otherwise, we manually copy all data to the host and provide Kokkos::sort +// with a host execution space. +template +inline constexpr bool sort_on_device_v = false; + +#if defined(KOKKOS_ENABLE_CUDA) +template +inline constexpr bool sort_on_device_v = true; + +template +void sort_by_key_cudathrust( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + const auto policy = thrust::cuda::par.on(exec.cuda_stream()); + auto keys_first = ::Kokkos::Experimental::begin(keys); + auto keys_last = ::Kokkos::Experimental::end(keys); + auto values_first = ::Kokkos::Experimental::begin(values); + thrust::sort_by_key(policy, keys_first, keys_last, values_first, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +inline constexpr bool sort_on_device_v = true; + +template +void sort_by_key_rocthrust( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + const auto policy = thrust::hip::par.on(exec.hip_stream()); + auto keys_first = ::Kokkos::Experimental::begin(keys); + auto keys_last = ::Kokkos::Experimental::end(keys); + auto values_first = ::Kokkos::Experimental::begin(values); + thrust::sort_by_key(policy, keys_first, keys_last, values_first, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +inline constexpr bool sort_on_device_v = + std::is_same_v || + std::is_same_v; + +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY +template +void sort_by_key_onedpl( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + if (keys.stride(0) != 1 && values.stride(0) != 1) { + Kokkos::abort( + "SYCL sort_by_key only supports rank-1 Views with stride(0) = 1."); + } + + // Can't use Experimental::begin/end here since the oneDPL then assumes that + // the data is on the host. + auto queue = exec.sycl_queue(); + auto policy = oneapi::dpl::execution::make_device_policy(queue); + const int n = keys.extent(0); + oneapi::dpl::sort_by_key(policy, keys.data(), keys.data() + n, values.data(), + std::forward(maybeComparator)...); +} +#endif +#endif + +template +void applyPermutation(const ExecutionSpace& space, + const PermutationView& permutation, + const ViewType& view) { + static_assert(std::is_integral::value); + + auto view_copy = Kokkos::create_mirror( + Kokkos::view_alloc(space, typename ExecutionSpace::memory_space{}, + Kokkos::WithoutInitializing), + view); + Kokkos::deep_copy(space, view_copy, view); + Kokkos::parallel_for( + "Kokkos::sort_by_key_via_sort::permute_" + view.label(), + Kokkos::RangePolicy(space, 0, view.extent(0)), + KOKKOS_LAMBDA(int i) { view(i) = view_copy(permutation(i)); }); +} + +template +void sort_by_key_via_sort( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + static_assert(sizeof...(MaybeComparator) <= 1); + + auto const n = keys.size(); + + Kokkos::View permute( + Kokkos::view_alloc(exec, Kokkos::WithoutInitializing, + "Kokkos::sort_by_key_via_sort::permute"), + n); + + // iota + Kokkos::parallel_for( + "Kokkos::sort_by_key_via_sort::iota", + Kokkos::RangePolicy(exec, 0, n), + KOKKOS_LAMBDA(int i) { permute(i) = i; }); + + using Layout = + typename Kokkos::View::array_layout; + if constexpr (!sort_on_device_v) { + auto host_keys = Kokkos::create_mirror_view( + Kokkos::view_alloc(Kokkos::HostSpace{}, Kokkos::WithoutInitializing), + keys); + auto host_permute = Kokkos::create_mirror_view( + Kokkos::view_alloc(Kokkos::HostSpace{}, Kokkos::WithoutInitializing), + permute); + Kokkos::deep_copy(exec, host_keys, keys); + Kokkos::deep_copy(exec, host_permute, permute); + + exec.fence("Kokkos::Impl::sort_by_key_via_sort: before host sort"); + Kokkos::DefaultHostExecutionSpace host_exec; + + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + host_exec, host_permute, + KOKKOS_LAMBDA(int i, int j) { return host_keys(i) < host_keys(j); }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + host_exec, host_permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(host_keys(i), host_keys(j)); + }); + } + host_exec.fence("Kokkos::Impl::sort_by_key_via_sort: after host sort"); + Kokkos::deep_copy(exec, permute, host_permute); + } else { +#ifdef KOKKOS_ENABLE_SYCL + auto* raw_keys_in_comparator = keys.data(); + auto stride = keys.stride(0); + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return raw_keys_in_comparator[i * stride] < + raw_keys_in_comparator[j * stride]; + }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(raw_keys_in_comparator[i * stride], + raw_keys_in_comparator[j * stride]); + }); + } +#else + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + exec, permute, + KOKKOS_LAMBDA(int i, int j) { return keys(i) < keys(j); }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(keys(i), keys(j)); + }); + } +#endif + } + + applyPermutation(exec, permute, keys); + applyPermutation(exec, permute, values); +} + +// ------------------------------------------------------ +// +// specialize cases for sorting by key without comparator +// +// ------------------------------------------------------ + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_cudathrust(exec, keys, values); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_rocthrust(exec, keys, values); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + if (keys.stride(0) == 1 && values.stride(0) == 1) + sort_by_key_onedpl(exec, keys, values); + else +#endif + sort_by_key_via_sort(exec, keys, values); +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_by_key_device_view_without_comparator( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_via_sort(exec, keys, values); +} + +// --------------------------------------------------- +// +// specialize cases for sorting by key with comparator +// +// --------------------------------------------------- + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_cudathrust(exec, keys, values, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_rocthrust(exec, keys, values, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + if (keys.stride(0) == 1 && values.stride(0) == 1) + sort_by_key_onedpl(exec, keys, values, comparator); + else +#endif + sort_by_key_via_sort(exec, keys, values, comparator); +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_by_key_device_view_with_comparator( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_via_sort(exec, keys, values, comparator); +} + +#undef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + +} // namespace Kokkos::Impl +#endif diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp index d87ab09e77..4c174b5fda 100644 --- a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp @@ -63,6 +63,11 @@ #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +#include +#include +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) #include #include @@ -184,6 +189,26 @@ void sort_cudathrust(const Cuda& space, } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_rocthrust(const HIP& space, + const Kokkos::View& view, + MaybeComparator&&... maybeComparator) { + using ViewType = Kokkos::View; + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + if (view.extent(0) <= 1) { + return; + } + const auto exec = thrust::hip::par.on(space.hip_stream()); + auto first = ::Kokkos::Experimental::begin(view); + auto last = ::Kokkos::Experimental::end(view); + thrust::sort(exec, first, last, + std::forward(maybeComparator)...); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_onedpl(const Kokkos::Experimental::SYCL& space, @@ -274,6 +299,14 @@ void sort_device_view_without_comparator( } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_device_view_without_comparator( + const HIP& exec, const Kokkos::View& view) { + sort_rocthrust(exec, view); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_device_view_without_comparator( @@ -320,6 +353,15 @@ void sort_device_view_with_comparator( } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_device_view_with_comparator( + const HIP& exec, const Kokkos::View& view, + const ComparatorType& comparator) { + sort_rocthrust(exec, view, comparator); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_device_view_with_comparator( diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp index b7ce1ba5ed..c5406c72b0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -66,7 +66,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -93,7 +93,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp index 8f9e0f19b8..82071a9362 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -92,7 +92,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp index ba18bc76b9..599fde5737 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp @@ -54,7 +54,8 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, + Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -69,7 +70,8 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, + Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -96,7 +98,7 @@ template & source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp index 43c9120483..637d8d4cbc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp @@ -51,7 +51,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -66,7 +66,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -93,7 +93,7 @@ template & source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp index a72a49cc22..593c42f87e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp @@ -80,7 +80,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -96,7 +96,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -111,7 +111,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -128,7 +128,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -227,7 +227,7 @@ template & view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -243,7 +243,7 @@ template & view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp index a796a306dd..5bb2d1039d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp @@ -19,7 +19,6 @@ #include #include "impl/Kokkos_Constraints.hpp" -#include "Kokkos_Swap.hpp" namespace Kokkos { namespace Experimental { @@ -33,7 +32,7 @@ struct StdIterSwapFunctor { KOKKOS_FUNCTION void operator()(int i) const { (void)i; - ::Kokkos::Experimental::swap(*m_a, *m_b); + ::Kokkos::kokkos_swap(*m_a, *m_b); } KOKKOS_FUNCTION @@ -58,6 +57,16 @@ void iter_swap(IteratorType1 a, IteratorType2 b) { Impl::iter_swap_impl(a, b); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +template +KOKKOS_DEPRECATED_WITH_COMMENT("Use Kokkos::kokkos_swap instead!") +KOKKOS_FUNCTION + void swap(T& a, T& b) noexcept(::Kokkos::kokkos_swap(std::declval(), + std::declval())) { + ::Kokkos::kokkos_swap(a, b); +} +#endif + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp index 4b5c69df45..e13479c370 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp @@ -54,7 +54,7 @@ template < bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -71,7 +71,7 @@ template < bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -112,7 +112,8 @@ template < bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -129,7 +130,8 @@ template < bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -161,7 +163,7 @@ template & view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -187,7 +189,8 @@ template & view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp index f04ea12ba8..ac308ea184 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -64,7 +64,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -92,7 +92,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp index 375474ca57..2789ab2179 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp @@ -41,7 +41,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp index 37336c983a..66f39c4eaa 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp index 39f33b6487..d66763d304 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp @@ -40,7 +40,7 @@ template , int> = 0> auto swap_ranges(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -64,7 +64,7 @@ template , int> = 0> auto swap_ranges(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp index 838c9169e2..84cbed524d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp @@ -58,7 +58,7 @@ template , int> = 0> auto transform(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -73,7 +73,7 @@ template , int> = 0> auto transform(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -119,7 +119,7 @@ template & source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); @@ -137,7 +137,7 @@ template & source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); @@ -174,7 +174,8 @@ template & source, - ::Kokkos::View& dest, UnaryOperation unary_op) { + const ::Kokkos::View& dest, + UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -207,7 +208,7 @@ KOKKOS_FUNCTION auto transform( const TeamHandleType& teamHandle, const ::Kokkos::View& source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp index 8151ee3495..5a7fe16984 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp @@ -47,8 +47,9 @@ struct ExclusiveScanDefaultFunctorForKnownNeutralElement { KOKKOS_FUNCTION void operator()(const IndexType i, ValueType& update, const bool final_pass) const { + const auto tmp = m_first_from[i]; if (final_pass) m_first_dest[i] = update + m_init_value; - update += m_first_from[i]; + update += tmp; } }; @@ -73,6 +74,7 @@ struct ExclusiveScanDefaultFunctorWithValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, value_type& update, const bool final_pass) const { + const auto tmp = value_type{m_first_from[i], false}; if (final_pass) { if (i == 0) { m_first_dest[i] = m_init_value; @@ -81,7 +83,6 @@ struct ExclusiveScanDefaultFunctorWithValueWrapper { } } - const auto tmp = value_type{m_first_from[i], false}; this->join(update, tmp); } @@ -132,6 +133,7 @@ struct TransformExclusiveScanFunctorWithValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, value_type& update, const bool final_pass) const { + const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; if (final_pass) { if (i == 0) { // for both ExclusiveScan and TransformExclusiveScan, @@ -142,7 +144,6 @@ struct TransformExclusiveScanFunctorWithValueWrapper { } } - const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; this->join(update, tmp); } @@ -190,6 +191,7 @@ struct TransformExclusiveScanFunctorWithoutValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, ValueType& update, const bool final_pass) const { + const auto tmp = ValueType{m_unary_op(m_first_from[i])}; if (final_pass) { if (i == 0) { // for both ExclusiveScan and TransformExclusiveScan, @@ -200,7 +202,6 @@ struct TransformExclusiveScanFunctorWithoutValueWrapper { } } - const auto tmp = ValueType{m_unary_op(m_first_from[i])}; this->join(update, tmp); } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp index 50224c8874..456df43aed 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp @@ -46,15 +46,14 @@ struct StdRemoveIfStage1Functor { void operator()(const IndexType i, IndexType& update, const bool final_pass) const { auto& myval = m_first_from[i]; - if (final_pass) { - if (!m_must_remove(myval)) { + + if (!m_must_remove(myval)) { + if (final_pass) { // calling move here is ok because we are inside final pass // we are calling move assign as specified by the std m_first_dest[update] = std::move(myval); } - } - if (!m_must_remove(myval)) { update += 1; } } @@ -108,7 +107,9 @@ IteratorType remove_if_exespace_impl(const std::string& label, // create helper tmp view using value_type = typename IteratorType::value_type; using tmp_view_type = Kokkos::View; - tmp_view_type tmp_view("std_remove_if_tmp_view", keep_count); + tmp_view_type tmp_view(Kokkos::view_alloc(Kokkos::WithoutInitializing, ex, + "std_remove_if_tmp_view"), + keep_count); using tmp_readwrite_iterator_type = decltype(begin(tmp_view)); // in stage 1, *move* all elements to keep from original range to tmp diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp index 428dc0d744..b4046c7645 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp @@ -21,7 +21,6 @@ #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" #include -#include #include namespace Kokkos { @@ -39,7 +38,7 @@ struct StdReverseFunctor { KOKKOS_FUNCTION void operator()(index_type i) const { - ::Kokkos::Experimental::swap(m_first[i], m_last[-i - 1]); + ::Kokkos::kokkos_swap(m_first[i], m_last[-i - 1]); } KOKKOS_FUNCTION diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp index 50bc7c8d61..9414748507 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp @@ -126,10 +126,11 @@ KOKKOS_FUNCTION IteratorType shift_left_team_impl( // execution space impl because for this team impl we are // within a parallel region, so for now we solve serially - const std::size_t numElementsToMove = + using difference_type = typename IteratorType::difference_type; + const difference_type numElementsToMove = ::Kokkos::Experimental::distance(first + n, last); Kokkos::single(Kokkos::PerTeam(teamHandle), [=]() { - for (std::size_t i = 0; i < numElementsToMove; ++i) { + for (difference_type i = 0; i < numElementsToMove; ++i) { first[i] = std::move(first[i + n]); } }); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp index cac20bfbba..0414e6f1c2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp @@ -103,26 +103,6 @@ IteratorType shift_right_exespace_impl( return first + n; } -template -struct StdShiftRightTeamSingleFunctor { - Iterator m_first; - Iterator m_last; - std::size_t m_shift; - - KOKKOS_FUNCTION - void operator()() const { - // the impl function calling this functor guarantees that - // - m_shift is non-negative - // - m_first, m_last identify a valid range with m_last > m_first - // - m_shift is less than m_last - m_first - // so I can safely use std::size_t here - } - - KOKKOS_FUNCTION - StdShiftRightTeamSingleFunctor(Iterator _first, Iterator _last, std::size_t n) - : m_first(std::move(_first)), m_last(std::move(_last)), m_shift(n) {} -}; - template KOKKOS_FUNCTION IteratorType shift_right_team_impl( const TeamHandleType& teamHandle, IteratorType first, IteratorType last, @@ -145,10 +125,11 @@ KOKKOS_FUNCTION IteratorType shift_right_team_impl( // execution space impl because for this team impl we are // within a parallel region, so for now we solve serially - const std::size_t numElementsToMove = + using difference_type = typename IteratorType::difference_type; + const difference_type numElementsToMove = ::Kokkos::Experimental::distance(first, last - n); Kokkos::single(Kokkos::PerTeam(teamHandle), [=]() { - for (std::size_t i = 0; i < numElementsToMove; ++i) { + for (difference_type i = 0; i < numElementsToMove; ++i) { last[-i - 1] = std::move(last[-n - i - 1]); } }); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp index 5bc77ed7dd..930a14ac48 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp @@ -21,7 +21,6 @@ #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" #include -#include #include namespace Kokkos { @@ -36,7 +35,7 @@ struct StdSwapRangesFunctor { KOKKOS_FUNCTION void operator()(index_type i) const { - ::Kokkos::Experimental::swap(m_first1[i], m_first2[i]); + ::Kokkos::kokkos_swap(m_first1[i], m_first2[i]); } KOKKOS_FUNCTION diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp index 11afa8ed6e..2863582458 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp @@ -105,7 +105,9 @@ IteratorType unique_exespace_impl(const std::string& label, // using the same algorithm used for unique_copy but we now move things using value_type = typename IteratorType::value_type; using tmp_view_type = Kokkos::View; - tmp_view_type tmp_view("std_unique_tmp_view", num_elements_to_explore); + tmp_view_type tmp_view(Kokkos::view_alloc(ex, Kokkos::WithoutInitializing, + "std_unique_tmp_view"), + num_elements_to_explore); // scan extent is: num_elements_to_explore - 1 // for same reason as the one explained in unique_copy diff --git a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt index 419f5ec1d1..db184bc8a9 100644 --- a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt +++ b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt @@ -25,6 +25,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) set(ALGO_SORT_SOURCES) foreach(SOURCE_Input TestSort + TestSortByKey TestSortCustomComp TestBinSortA TestBinSortB @@ -57,35 +58,37 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) configure_file(${dir}/dummy.cpp ${file}) list(APPEND ALGO_RANDOM_SOURCES ${file}) endforeach() + endif() +endforeach() - # ------------------------------------------ - # std set A - # ------------------------------------------ - set(STDALGO_SOURCES_A) - foreach(Name +# ------------------------------------------ +# std set A +# ------------------------------------------ +set(STDALGO_SOURCES_A) +foreach(Name StdReducers StdAlgorithmsConstraints RandomAccessIterator - ) - list(APPEND STDALGO_SOURCES_A Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_A Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set B - # ------------------------------------------ - set(STDALGO_SOURCES_B) - foreach(Name +# ------------------------------------------ +# std set B +# ------------------------------------------ +set(STDALGO_SOURCES_B) +foreach(Name StdAlgorithmsCommon StdAlgorithmsMinMaxElementOps - ) - list(APPEND STDALGO_SOURCES_B Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_B Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set C - # ------------------------------------------ - set(STDALGO_SOURCES_C) - foreach(Name +# ------------------------------------------ +# std set C +# ------------------------------------------ +set(STDALGO_SOURCES_C) +foreach(Name StdAlgorithmsCommon StdAlgorithmsLexicographicalCompare StdAlgorithmsForEach @@ -100,15 +103,15 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsSearch_n StdAlgorithmsMismatch StdAlgorithmsMoveBackward - ) - list(APPEND STDALGO_SOURCES_C Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_C Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set D - # ------------------------------------------ - set(STDALGO_SOURCES_D) - foreach(Name +# ------------------------------------------ +# std set D +# ------------------------------------------ +set(STDALGO_SOURCES_D) +foreach(Name StdAlgorithmsCommon StdAlgorithmsModOps StdAlgorithmsModSeqOps @@ -128,15 +131,15 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsReverse StdAlgorithmsShiftLeft StdAlgorithmsShiftRight - ) - list(APPEND STDALGO_SOURCES_D Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_D Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set E - # ------------------------------------------ - set(STDALGO_SOURCES_E) - foreach(Name +# ------------------------------------------ +# std set E +# ------------------------------------------ +set(STDALGO_SOURCES_E) +foreach(Name StdAlgorithmsCommon StdAlgorithmsIsSorted StdAlgorithmsIsSortedUntil @@ -149,83 +152,83 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTransformUnaryOp StdAlgorithmsTransformExclusiveScan StdAlgorithmsTransformInclusiveScan - ) - list(APPEND STDALGO_SOURCES_E Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_E Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team Q - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_Q) - foreach(Name +# ------------------------------------------ +# std team Q +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_Q) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamInclusiveScan StdAlgorithmsTeamTransformInclusiveScan - ) - list(APPEND STDALGO_TEAM_SOURCES_Q Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_Q Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team P - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_P) - foreach(Name +# ------------------------------------------ +# std team P +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_P) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamExclusiveScan StdAlgorithmsTeamTransformExclusiveScan - ) - list(APPEND STDALGO_TEAM_SOURCES_P Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_P Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team M - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_M) - foreach(Name +# ------------------------------------------ +# std team M +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_M) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamTransformUnaryOp StdAlgorithmsTeamTransformBinaryOp StdAlgorithmsTeamGenerate StdAlgorithmsTeamGenerate_n StdAlgorithmsTeamSwapRanges - ) - list(APPEND STDALGO_TEAM_SOURCES_M Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_M Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team L - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_L) - foreach(Name +# ------------------------------------------ +# std team L +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_L) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamIsSorted StdAlgorithmsTeamIsSortedUntil StdAlgorithmsTeamIsPartitioned StdAlgorithmsTeamPartitionCopy StdAlgorithmsTeamPartitionPoint - ) - list(APPEND STDALGO_TEAM_SOURCES_L Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_L Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team I - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_I) - foreach(Name +# ------------------------------------------ +# std team I +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_I) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamUnique StdAlgorithmsTeamAdjacentDifference StdAlgorithmsTeamReduce StdAlgorithmsTeamTransformReduce - ) - list(APPEND STDALGO_TEAM_SOURCES_I Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_I Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team H - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_H) - foreach(Name +# ------------------------------------------ +# std team H +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_H) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamCopy StdAlgorithmsTeamCopy_n @@ -236,43 +239,43 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamRemoveIf StdAlgorithmsTeamRemoveCopy StdAlgorithmsTeamRemoveCopyIf - ) - list(APPEND STDALGO_TEAM_SOURCES_H Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_H Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team G - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_G) - foreach(Name +# ------------------------------------------ +# std team G +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_G) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamMove StdAlgorithmsTeamMoveBackward StdAlgorithmsTeamShiftLeft StdAlgorithmsTeamShiftRight - ) - list(APPEND STDALGO_TEAM_SOURCES_G Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_G Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team F - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_F) - foreach(Name +# ------------------------------------------ +# std team F +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_F) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamReverse StdAlgorithmsTeamReverseCopy StdAlgorithmsTeamRotate StdAlgorithmsTeamRotateCopy - ) - list(APPEND STDALGO_TEAM_SOURCES_F Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_F Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team E - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_E) - foreach(Name +# ------------------------------------------ +# std team E +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_E) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamFill StdAlgorithmsTeamFill_n @@ -280,28 +283,28 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamReplaceIf StdAlgorithmsTeamReplaceCopy StdAlgorithmsTeamReplaceCopyIf - ) - list(APPEND STDALGO_TEAM_SOURCES_E Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_E Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team D - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_D) - foreach(Name +# ------------------------------------------ +# std team D +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_D) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamMinElement StdAlgorithmsTeamMaxElement StdAlgorithmsTeamMinMaxElement - ) - list(APPEND STDALGO_TEAM_SOURCES_D Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_D Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team C - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_C) - foreach(Name +# ------------------------------------------ +# std team C +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_C) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamFind StdAlgorithmsTeamFindIf @@ -310,29 +313,29 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamAnyOf StdAlgorithmsTeamNoneOf StdAlgorithmsTeamSearchN - ) - list(APPEND STDALGO_TEAM_SOURCES_C Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_C Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team B - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_B) - foreach(Name +# ------------------------------------------ +# std team B +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_B) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamEqual StdAlgorithmsTeamSearch StdAlgorithmsTeamFindEnd StdAlgorithmsTeamFindFirstOf - ) - list(APPEND STDALGO_TEAM_SOURCES_B Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_B Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team A - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_A) - foreach(Name +# ------------------------------------------ +# std team A +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_A) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamAdjacentFind StdAlgorithmsTeamCount @@ -341,11 +344,8 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamForEachN StdAlgorithmsTeamLexicographicalCompare StdAlgorithmsTeamMismatch - ) - list(APPEND STDALGO_TEAM_SOURCES_A Test${Name}.cpp) - endforeach() - - endif() + ) + list(APPEND STDALGO_TEAM_SOURCES_A Test${Name}.cpp) endforeach() # FIXME_OPENMPTARGET - remove sort test as it leads to ICE with clang/16 and above at compile time. diff --git a/lib/kokkos/algorithms/unit_tests/Makefile b/lib/kokkos/algorithms/unit_tests/Makefile index 601217799a..d3946c149b 100644 --- a/lib/kokkos/algorithms/unit_tests/Makefile +++ b/lib/kokkos/algorithms/unit_tests/Makefile @@ -27,13 +27,13 @@ TARGETS = tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ $(if $(filter Test$(device).cpp, $(shell ls Test$(device).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " > Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ ) \ ) diff --git a/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp b/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp new file mode 100644 index 0000000000..16f68eaaf2 --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp @@ -0,0 +1,241 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_ALGORITHMS_UNITTESTS_TEST_SORT_BY_KEY_HPP +#define KOKKOS_ALGORITHMS_UNITTESTS_TEST_SORT_BY_KEY_HPP + +#include +#include +#include +#include + +#include // pair + +namespace Test { +namespace SortImpl { + +struct Less { + template + KOKKOS_INLINE_FUNCTION bool operator()(const ValueType &lhs, + const ValueType &rhs) const { + return lhs < rhs; + } +}; + +struct Greater { + template + KOKKOS_INLINE_FUNCTION bool operator()(const ValueType &lhs, + const ValueType &rhs) const { + return lhs > rhs; + } +}; + +template +struct is_sorted_by_key_struct { + Keys keys; + Keys keys_orig; + Permute permute; + Comparator comparator; + + is_sorted_by_key_struct(Keys keys_, Keys keys_orig_, Permute permute_, + Comparator comparator_ = Comparator{}) + : keys(keys_), + keys_orig(keys_orig_), + permute(permute_), + comparator(comparator_) {} + KOKKOS_INLINE_FUNCTION + void operator()(int i, unsigned int &count) const { + if (i < keys.extent_int(0) - 1 && comparator(keys(i + 1), keys(i))) ++count; + if (keys(i) != keys_orig(permute(i))) ++count; + } +}; + +template +void iota(ExecutionSpace const &space, ViewType const &v, + typename ViewType::value_type value = 0) { + using ValueType = typename ViewType::value_type; + Kokkos::parallel_for( + "ArborX::Algorithms::iota", + Kokkos::RangePolicy(space, 0, v.extent(0)), + KOKKOS_LAMBDA(int i) { v(i) = value + (ValueType)i; }); +} + +} // namespace SortImpl + +TEST(TEST_CATEGORY, SortByKeyEmptyView) { + using ExecutionSpace = TEST_EXECSPACE; + + // does not matter if we use int or something else + Kokkos::View keys("keys", 0); + Kokkos::View values("values", 0); + + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values)); +} + +TEST(TEST_CATEGORY, SortByKey) { + using ExecutionSpace = TEST_EXECSPACE; + using MemorySpace = typename ExecutionSpace::memory_space; + + ExecutionSpace space{}; + + for (auto keys_vector : {std::vector{36, 19, 25, 17, 3, 7, 1, 2, 9}, + std::vector{36, 19, 25, 17, 3, 9, 1, 2, 7}, + std::vector{100, 19, 36, 17, 3, 25, 1, 2, 7}, + std::vector{15, 5, 11, 3, 4, 8}}) { + auto const n = keys_vector.size(); + + auto keys = Kokkos::create_mirror_view_and_copy( + MemorySpace{}, + Kokkos::View( + keys_vector.data(), n)); + + auto keys_orig = Kokkos::create_mirror(space, keys); + Kokkos::deep_copy(space, keys_orig, keys); + + Kokkos::View permute("permute", n); + SortImpl::iota(space, permute); + + Kokkos::Experimental::sort_by_key(space, keys, permute); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct(keys, keys_orig, + permute), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); + } +} + +TEST(TEST_CATEGORY, SortByKeyWithComparator) { + using ExecutionSpace = TEST_EXECSPACE; + using MemorySpace = typename ExecutionSpace::memory_space; + + ExecutionSpace space{}; + + SortImpl::Greater comparator; + + for (auto keys_vector : {std::vector{36, 19, 25, 17, 3, 7, 1, 2, 9}, + std::vector{36, 19, 25, 17, 3, 9, 1, 2, 7}, + std::vector{100, 19, 36, 17, 3, 25, 1, 2, 7}, + std::vector{15, 5, 11, 3, 4, 8}}) { + auto const n = keys_vector.size(); + + auto keys = Kokkos::create_mirror_view_and_copy( + MemorySpace{}, + Kokkos::View( + keys_vector.data(), n)); + + auto keys_orig = Kokkos::create_mirror(space, keys); + Kokkos::deep_copy(space, keys_orig, keys); + + Kokkos::View permute("permute", n); + SortImpl::iota(space, permute); + + Kokkos::Experimental::sort_by_key(space, keys, permute, comparator); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct( + keys, keys_orig, permute, comparator), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); + } +} + +TEST(TEST_CATEGORY, SortByKeyStaticExtents) { + using ExecutionSpace = TEST_EXECSPACE; + + ExecutionSpace space{}; + + Kokkos::View keys("keys"); + + Kokkos::View values_static("values_static"); + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(space, keys, values_static)); + + Kokkos::View values_dynamic("values_dynamic", 10); + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(space, keys, values_dynamic)); +} + +template +void buildViewsForStrided(ExecutionSpace const &space, int n, Keys &keys, + Values &values) { + Kokkos::parallel_for( + "create_data", + Kokkos::MDRangePolicy, ExecutionSpace>(space, {0, 0, 0}, + {n, n, n}), + KOKKOS_LAMBDA(int i, int j, int k) { + keys(i, j, k) = n - i; + values(i, j, k) = j; + }); +} + +TEST(TEST_CATEGORY, SortByKeyWithStrides) { + using ExecutionSpace = TEST_EXECSPACE; + + ExecutionSpace space{}; + + auto const n = 10; + + Kokkos::View keys("keys", n, n, n); + Kokkos::View values("values", n, n, n); + buildViewsForStrided(space, n, keys, values); + + auto keys_sub = Kokkos::subview(keys, Kokkos::ALL(), 1, 2); + auto values_sub = Kokkos::subview(values, 4, Kokkos::ALL(), 6); + + auto keys_orig = Kokkos::create_mirror(space, keys_sub); + Kokkos::deep_copy(space, keys_orig, keys_sub); + + Kokkos::Experimental::sort_by_key(space, keys_sub, values_sub); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct( + keys_sub, keys_orig, values_sub), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); +} + +TEST(TEST_CATEGORY, SortByKeyKeysLargerThanValues) { + using ExecutionSpace = TEST_EXECSPACE; + + // does not matter if we use int or something else + Kokkos::View keys("keys", 3); + Kokkos::View values("values", 1); + + ASSERT_DEATH( + Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values), + "values and keys extents must be the same"); + ASSERT_DEATH(Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values, + SortImpl::Greater{}), + "values and keys extents must be the same"); +} + +} // namespace Test +#endif diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp index 3eb963faf2..67052e2f9d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp @@ -239,16 +239,8 @@ KOKKOS_FUNCTION bool team_members_have_matching_result( // set accum to 1 if a mismach is found const bool mismatch = memberValue != target; int accum = static_cast(mismatch); - // FIXME_OPENMPTARGET: team API does not meet the TeamHandle concept and - // ignores the reducer passed -#if defined KOKKOS_ENABLE_OPENMPTARGET - Kokkos::Sum dummyReducer(accum); - const auto result = teamHandle.team_reduce(accum, dummyReducer); - return (result == 0); -#else teamHandle.team_reduce(Kokkos::Sum(accum)); return (accum == 0); -#endif } template diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp index 6ab68a1987..b364c53a88 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -132,47 +133,6 @@ void my_host_exclusive_scan(it1 first, it1 last, it2 dest, ValType init, } } -template -void verify_data(ViewType1 data_view, // contains data - ViewType2 test_view, // the view to test - ValueType init_value, BinaryOp bop) { - //! always careful because views might not be deep copyable - - auto data_view_dc = create_deep_copyable_compatible_clone(data_view); - auto data_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); - - using gold_view_value_type = typename ViewType2::value_type; - Kokkos::View gold_h( - "goldh", data_view.extent(0)); - my_host_exclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), - KE::begin(gold_h), init_value, bop); - - auto test_view_dc = create_deep_copyable_compatible_clone(test_view); - auto test_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); - if (test_view_h.extent(0) > 0) { - for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { - ASSERT_EQ(gold_h(i), test_view_h(i)); - } else { - const auto error = - std::abs(static_cast(gold_h(i) - test_view_h(i))); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(static_cast(gold_h(i) - test_view_h(i))) - << std::endl; - } - EXPECT_LT(error, 1e-10); - } - } - } -} - template struct MultiplyFunctor { KOKKOS_INLINE_FUNCTION @@ -189,107 +149,153 @@ struct SumFunctor { } }; +struct VerifyData { + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + ValueType init_value, BinaryOp bop) { + //! always careful because views might not be deep copyable + + auto data_view_dc = create_deep_copyable_compatible_clone(data_view); + auto data_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); + + using gold_view_value_type = typename ViewType2::value_type; + Kokkos::View gold_h( + "goldh", data_view.extent(0)); + my_host_exclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), + KE::begin(gold_h), init_value, bop); + + auto test_view_dc = create_deep_copyable_compatible_clone(test_view); + auto test_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); + if (test_view_h.extent(0) > 0) { + for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { + if (std::is_same::value) { + ASSERT_EQ(gold_h(i), test_view_h(i)); + } else { + const auto error = + std::abs(static_cast(gold_h(i) - test_view_h(i))); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); + } + } + } + } + + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + ValueType init_value) { + (*this)(data_view, test_view, init_value, SumFunctor()); + } +}; + std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void run_single_scenario_default_op(const InfoType& scenario_info, - ValueType init_value) { - using default_op = SumFunctor; +template +void run_single_scenario(const InfoType& scenario_info, ValueType init_value, + OpOrEmpty... empty_or_op) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "exclusive_scan default op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; auto view_dest = create_view(Tag{}, view_ext, "exclusive_scan"); auto view_from = create_view(Tag{}, view_ext, "exclusive_scan"); fill_view(view_from, name); + // view_dest is filled with zeros before calling the algorithm everytime to + // ensure the algorithm does something meaningful { fill_zero(view_dest); auto r = KE::exclusive_scan(exespace(), KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); - auto r = KE::exclusive_scan(exespace(), view_from, view_dest, init_value); + auto r = KE::exclusive_scan(exespace(), view_from, view_dest, init_value, + empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); auto r = KE::exclusive_scan("label", exespace(), view_from, view_dest, - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } Kokkos::fence(); } -template -void run_single_scenario_custom_op(const InfoType& scenario_info, - ValueType init_value, BinaryOp bop) { +template +void run_single_scenario_inplace(const InfoType& scenario_info, + ValueType init_value, + OpOrEmpty... empty_or_op) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "exclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; - auto view_dest = create_view(Tag{}, view_ext, "exclusive_scan"); - auto view_from = create_view(Tag{}, view_ext, "exclusive_scan"); - fill_view(view_from, name); + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place + auto view1 = + create_view(Tag{}, view_ext, "exclusive_scan_inplace_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "exclusive_scan_inplace_view2"); { - fill_zero(view_dest); - auto r = KE::exclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan(exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), init_value, empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = - KE::exclusive_scan(exespace(), view_from, view_dest, init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan(exespace(), view2, view2, init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = KE::exclusive_scan("label", exespace(), view_from, view_dest, - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan("label", exespace(), view2, view2, init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } Kokkos::fence(); @@ -303,34 +309,39 @@ void run_exclusive_scan_all_scenarios() { {"medium", 1103}, {"large", 10513}}; for (const auto& it : scenarios) { - run_single_scenario_default_op(it, ValueType{0}); - run_single_scenario_default_op(it, ValueType{1}); - run_single_scenario_default_op(it, ValueType{-2}); - run_single_scenario_default_op(it, ValueType{3}); + run_single_scenario(it, ValueType{0}); + run_single_scenario(it, ValueType{1}); + run_single_scenario(it, ValueType{-2}); + run_single_scenario(it, ValueType{3}); + + run_single_scenario_inplace(it, ValueType{0}); + run_single_scenario_inplace(it, ValueType{-2}); #if !defined KOKKOS_ENABLE_OPENMPTARGET // custom multiply op is only run for small views otherwise it overflows if (it.first == "small-a" || it.first == "small-b") { using custom_bop_t = MultiplyFunctor; - run_single_scenario_custom_op(it, ValueType{0}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{1}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{-2}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{3}, - custom_bop_t()); + run_single_scenario(it, ValueType{0}, custom_bop_t()); + run_single_scenario(it, ValueType{1}, custom_bop_t()); + run_single_scenario(it, ValueType{-2}, custom_bop_t()); + run_single_scenario(it, ValueType{3}, custom_bop_t()); + + run_single_scenario_inplace(it, ValueType{0}, + custom_bop_t()); + run_single_scenario_inplace(it, ValueType{-2}, + custom_bop_t()); } using custom_bop_t = SumFunctor; - run_single_scenario_custom_op(it, ValueType{0}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{1}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{-2}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{3}, - custom_bop_t()); + run_single_scenario(it, ValueType{0}, custom_bop_t()); + run_single_scenario(it, ValueType{1}, custom_bop_t()); + run_single_scenario(it, ValueType{-2}, custom_bop_t()); + run_single_scenario(it, ValueType{3}, custom_bop_t()); + + run_single_scenario_inplace(it, ValueType{0}, + custom_bop_t()); + run_single_scenario_inplace(it, ValueType{-2}, + custom_bop_t()); #endif } } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp index 8e60a43e5f..a08a737210 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -143,51 +144,6 @@ void my_host_inclusive_scan(it1 first, it1 last, it2 dest, BinOp bop, } } -template -void verify_data(ViewType1 data_view, // contains data - ViewType2 test_view, // the view to test - BinaryOp bop, Args... args /* copy on purpose */) { - //! always careful because views might not be deep copyable - - auto data_view_dc = create_deep_copyable_compatible_clone(data_view); - auto data_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); - - using gold_view_value_type = typename ViewType2::value_type; - Kokkos::View gold_h( - "goldh", data_view.extent(0)); - my_host_inclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), - KE::begin(gold_h), bop, args...); - - auto test_view_dc = create_deep_copyable_compatible_clone(test_view); - auto test_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); - - const auto ext = test_view_h.extent(0); - if (ext > 0) { - for (std::size_t i = 0; i < ext; ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - - if (std::is_same::value) { - ASSERT_EQ(gold_h(i), test_view_h(i)); - } else { - const auto error = - std::abs(static_cast(gold_h(i) - test_view_h(i))); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(static_cast(gold_h(i) - test_view_h(i))) - << std::endl; - } - EXPECT_LT(error, 1e-10); - } - } - // std::cout << " last el: " << test_view_h(ext-1) << std::endl; - } -} - template struct MultiplyFunctor { KOKKOS_INLINE_FUNCTION @@ -204,107 +160,151 @@ struct SumFunctor { } }; +struct VerifyData { + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + BinaryOp bop, Args... args /* copy on purpose */) { + //! always careful because views might not be deep copyable + + auto data_view_dc = create_deep_copyable_compatible_clone(data_view); + auto data_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); + + using gold_view_value_type = typename ViewType2::value_type; + Kokkos::View gold_h( + "goldh", data_view.extent(0)); + my_host_inclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), + KE::begin(gold_h), bop, args...); + + auto test_view_dc = create_deep_copyable_compatible_clone(test_view); + auto test_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); + + const auto ext = test_view_h.extent(0); + if (ext > 0) { + for (std::size_t i = 0; i < ext; ++i) { + if (std::is_same::value) { + ASSERT_EQ(gold_h(i), test_view_h(i)); + } else { + const auto error = + std::abs(static_cast(gold_h(i) - test_view_h(i))); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); + } + } + } + } + + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view) // the view to test + { + using value_type = typename ViewType1::non_const_value_type; + (*this)(data_view, test_view, SumFunctor()); + } +}; + std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void run_single_scenario_default_op(const InfoType& scenario_info) { - using default_op = SumFunctor; +template +void run_single_scenario(const InfoType& scenario_info, + Args... args /* copy on purpose */) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "inclusive_scan default op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << std::endl; auto view_dest = create_view(Tag{}, view_ext, "inclusive_scan"); auto view_from = create_view(Tag{}, view_ext, "inclusive_scan"); fill_view(view_from, name); + // view_dest is filled with zeros before calling the algorithm everytime to + // ensure the algorithm does something meaningful { fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest)); + auto r = + KE::inclusive_scan(exespace(), KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest)); + auto r = + KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), view_from, view_dest); + auto r = KE::inclusive_scan(exespace(), view_from, view_dest, args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), view_from, view_dest); + auto r = + KE::inclusive_scan("label", exespace(), view_from, view_dest, args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } Kokkos::fence(); } -template -void run_single_scenario_custom_op(const InfoType& scenario_info, BinaryOp bop, - Args... args /* copy on purpose */) { +template +void run_single_scenario_inplace(const InfoType& scenario_info, + Args... args /* copy on purpose */) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // if (1 == sizeof...(Args)) { - // std::cout << "inclusive_scan custom op and init value: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " << std::endl; - // } else { - // std::cout << "inclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " << std::endl; - // } + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view_2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place - auto view_dest = create_view(Tag{}, view_ext, "inclusive_scan"); - auto view_from = create_view(Tag{}, view_ext, "inclusive_scan"); - fill_view(view_from, name); + auto view1 = + create_view(Tag{}, view_ext, "inclusive_scan_inplace_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "inclusive_scan_inplace_view2"); { - fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan(exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), view_from, view_dest, bop, args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan(exespace(), view2, view2, args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), view_from, view_dest, bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan("label", exespace(), view2, view2, args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } Kokkos::fence(); @@ -318,27 +318,35 @@ void run_inclusive_scan_all_scenarios() { {"medium-a", 313}, {"medium-b", 1103}, {"large", 10513}}; for (const auto& it : scenarios) { - run_single_scenario_default_op(it); + run_single_scenario(it); + run_single_scenario_inplace(it); #if !defined KOKKOS_ENABLE_OPENMPTARGET // the sum custom op is always run using sum_binary_op = SumFunctor; sum_binary_op sbop; - run_single_scenario_custom_op(it, sbop); - run_single_scenario_custom_op(it, sbop, ValueType{0}); - run_single_scenario_custom_op(it, sbop, ValueType{1}); - run_single_scenario_custom_op(it, sbop, ValueType{-2}); - run_single_scenario_custom_op(it, sbop, ValueType{3}); + run_single_scenario(it, sbop); + run_single_scenario(it, sbop, ValueType{0}); + run_single_scenario(it, sbop, ValueType{1}); + run_single_scenario(it, sbop, ValueType{-2}); + run_single_scenario(it, sbop, ValueType{3}); + + run_single_scenario_inplace(it, sbop, ValueType{0}); + run_single_scenario_inplace(it, sbop, ValueType{-2}); // custom multiply only for small views to avoid overflows if (it.first == "small-a" || it.first == "small-b") { using mult_binary_op = MultiplyFunctor; mult_binary_op mbop; - run_single_scenario_custom_op(it, mbop); - run_single_scenario_custom_op(it, mbop, ValueType{0}); - run_single_scenario_custom_op(it, mbop, ValueType{1}); - run_single_scenario_custom_op(it, mbop, ValueType{-2}); - run_single_scenario_custom_op(it, mbop, ValueType{3}); + run_single_scenario(it, mbop); + run_single_scenario(it, mbop, ValueType{0}); + run_single_scenario(it, mbop, ValueType{1}); + run_single_scenario(it, mbop, ValueType{-2}); + run_single_scenario(it, mbop, ValueType{3}); + + run_single_scenario_inplace(it, mbop); + run_single_scenario_inplace(it, mbop, ValueType{0}); + run_single_scenario_inplace(it, mbop, ValueType{-2}); } #endif } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp index f31d49e06b..75d4f0afeb 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp @@ -146,7 +146,7 @@ void run_single_scenario(const InfoType& scenario_info) { resultsA[3] = KE::is_sorted("label", exespace(), view); const auto allA = std::all_of(resultsA.cbegin(), resultsA.cend(), [=](bool v) { return v == gold; }); - EXPECT_TRUE(allA); + EXPECT_TRUE(allA) << name << ", " << view_tag_to_string(Tag{}); #if !defined KOKKOS_ENABLE_OPENMPTARGET CustomLessThanComparator comp; @@ -159,7 +159,7 @@ void run_single_scenario(const InfoType& scenario_info) { resultsB[3] = KE::is_sorted("label", exespace(), view, comp); const auto allB = std::all_of(resultsB.cbegin(), resultsB.cend(), [=](bool v) { return v == gold; }); - EXPECT_TRUE(allB); + EXPECT_TRUE(allB) << name << ", " << view_tag_to_string(Tag{}); #endif Kokkos::fence(); @@ -173,9 +173,6 @@ void run_is_sorted_all_scenarios() { {"medium-a", 1003}, {"medium-b", 1003}, {"large-a", 101513}, {"large-b", 101513}}; - std::cout << "is_sorted: " << view_tag_to_string(Tag{}) - << ", all overloads \n"; - for (const auto& it : scenarios) { run_single_scenario(it); } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp index dcfe8ad67e..29ac7cc9bc 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp @@ -145,10 +145,10 @@ void run_single_scenario(const InfoType& scenario_info) { KE::is_sorted_until("label", exespace(), KE::begin(view), KE::end(view)); auto r3 = KE::is_sorted_until(exespace(), view); auto r4 = KE::is_sorted_until("label", exespace(), view); - ASSERT_EQ(r1, gold); - ASSERT_EQ(r2, gold); - ASSERT_EQ(r3, gold); - ASSERT_EQ(r4, gold); + ASSERT_EQ(r1, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r2, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r3, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r4, gold) << name << ", " << view_tag_to_string(Tag{}); #if !defined KOKKOS_ENABLE_OPENMPTARGET CustomLessThanComparator comp; @@ -160,10 +160,10 @@ void run_single_scenario(const InfoType& scenario_info) { auto r8 = KE::is_sorted_until("label", exespace(), view, comp); #endif - ASSERT_EQ(r1, gold); - ASSERT_EQ(r2, gold); - ASSERT_EQ(r3, gold); - ASSERT_EQ(r4, gold); + ASSERT_EQ(r1, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r2, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r3, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r4, gold) << name << ", " << view_tag_to_string(Tag{}); Kokkos::fence(); } @@ -176,9 +176,6 @@ void run_is_sorted_until_all_scenarios() { {"medium-a", 1003}, {"medium-b", 1003}, {"large-a", 101513}, {"large-b", 101513}}; - std::cout << "is_sorted_until: " << view_tag_to_string(Tag{}) - << ", all overloads \n"; - for (const auto& it : scenarios) { run_single_scenario(it); } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp index 4604764097..1b1a02f39c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp @@ -48,7 +48,7 @@ struct MyMovableType { TEST(std_algorithms_mod_ops_test, move) { MyMovableType a; using move_t = decltype(std::move(a)); - static_assert(std::is_rvalue_reference::value, ""); + static_assert(std::is_rvalue_reference::value); // move constr MyMovableType b(std::move(a)); @@ -70,7 +70,7 @@ struct StdAlgoModSeqOpsTestMove { void operator()(const int index) const { typename ViewType::value_type a{11}; using move_t = decltype(std::move(a)); - static_assert(std::is_rvalue_reference::value, ""); + static_assert(std::is_rvalue_reference::value); m_view(index) = std::move(a); } @@ -89,50 +89,6 @@ TEST(std_algorithms_mod_ops_test, move_within_parfor) { } } -// ------------ -// swap -// ------------ -TEST(std_algorithms_mod_ops_test, swap) { - { - int a = 1; - int b = 2; - KE::swap(a, b); - ASSERT_EQ(a, 2); - ASSERT_EQ(b, 1); - } - - { - double a = 3.; - double b = 1.; - KE::swap(a, b); - EXPECT_DOUBLE_EQ(a, 1.); - EXPECT_DOUBLE_EQ(b, 3.); - } -} - -template -struct StdAlgoModSeqOpsTestSwap { - ViewType m_view; - - KOKKOS_INLINE_FUNCTION - void operator()(const int index) const { - typename ViewType::value_type newval{11}; - KE::swap(m_view(index), newval); - } - - StdAlgoModSeqOpsTestSwap(ViewType aIn) : m_view(aIn) {} -}; - -TEST(std_algorithms_mod_ops_test, swap_within_parfor) { - auto a = create_view(stdalgos::DynamicTag{}, 10, "a"); - StdAlgoModSeqOpsTestSwap fnc(a); - Kokkos::parallel_for(a.extent(0), fnc); - auto a_h = Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), a); - for (std::size_t i = 0; i < a.extent(0); ++i) { - EXPECT_DOUBLE_EQ(a_h(0), 11.); - } -} - // ------------ // iter_swap // ------------ diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp index f169fd9ce8..a36c9db2b9 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp @@ -110,11 +110,9 @@ void verify_data(const std::string& name, ResultType my_result, ViewTypeDestFalse view_dest_false, PredType pred) { using value_type = typename ViewTypeFrom::value_type; static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); const std::size_t ext = view_from.extent(0); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp index b5aa27c7c3..7c3c465dc8 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp @@ -166,6 +166,10 @@ void run_all_scenarios() { } TEST(std_algorithms_copy_if_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp index c6b2566c6c..2c8fee02f4 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp @@ -121,7 +121,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -147,9 +149,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // exclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -168,12 +167,19 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -223,11 +229,16 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef exclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { @@ -236,16 +247,24 @@ void run_all_scenarios() { #else for (int apiId : {0, 1}) { #endif - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } } TEST(std_algorithms_exclusive_scan_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamExclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp index 0daf9dbfe8..b5f4cdd612 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp @@ -139,7 +139,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -165,9 +167,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // inclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -186,12 +185,20 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -251,25 +258,38 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef inclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1, 2, 3, 4, 5}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } } TEST(std_algorithms_inclusive_scan_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamInclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp index 24b840154b..6bb0d24998 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp @@ -212,6 +212,10 @@ void run_all_scenarios() { } TEST(std_algorithms_remove_copy_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp index ce18eb4d31..cff9aa178a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp @@ -168,6 +168,10 @@ void run_all_scenarios() { } TEST(std_algorithms_remove_copy_if_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp index 9f30812d8e..60fa369af1 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp @@ -108,7 +108,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -134,9 +136,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // tranform_exclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -156,12 +155,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, unaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, unaryOp, + apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, unaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -200,16 +208,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef transform_exclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } @@ -219,6 +232,10 @@ TEST(std_algorithms_transform_exclusive_scan_team_test, test) { run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamTransformExclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp index 4b31660232..10454d6551 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp @@ -131,7 +131,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -157,9 +159,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // tranform_inclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -179,12 +178,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, unaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, unaryOp, + apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, unaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -236,16 +244,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { } #undef transform_inclusive_scan - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1, 2, 3}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } @@ -255,6 +268,10 @@ TEST(std_algorithms_transform_inclusive_scan_team_test, test) { run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamTransformInclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp index 87687b60a1..0d3289e196 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp @@ -186,6 +186,10 @@ void run_all_scenarios() { } TEST(std_algorithms_unique_copy_team_test, test) { + // FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp index 9dac3ce75f..fa2804256a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -160,24 +161,15 @@ void verify_data(ViewType1 data_view, // contains data create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); if (test_view_h.extent(0) > 0) { for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { ASSERT_EQ(gold_h(i), test_view_h(i)); } else { const auto error = std::abs(gold_h(i) - test_view_h(i)); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - } - EXPECT_LT(error, 1e-10); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); } } - // std::cout << " last el: " << test_view_h(test_view_h.extent(0)-1) << - // std::endl; } } @@ -205,17 +197,13 @@ void run_single_scenario(const InfoType& scenario_info, ValueType init_value, BinaryOp bop, UnaryOp uop) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "transform_exclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; - auto view_dest = - create_view(Tag{}, view_ext, "transform_exclusive_scan"); - auto view_from = - create_view(Tag{}, view_ext, "transform_exclusive_scan"); + auto view_from = create_view(Tag{}, view_ext, + "transform_exclusive_scan_view_from"); fill_view(view_from, name); + auto view_dest = create_view(Tag{}, view_ext, + "transform_exclusive_scan_view_dest"); { fill_zero(view_dest); auto r = KE::transform_exclusive_scan( @@ -253,6 +241,65 @@ void run_single_scenario(const InfoType& scenario_info, ValueType init_value, Kokkos::fence(); } +template +void run_single_scenario_inplace(const InfoType& scenario_info, + ValueType init_value, BinaryOp bop, + UnaryOp uop) { + const auto name = std::get<0>(scenario_info); + const std::size_t view_ext = std::get<1>(scenario_info); + + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place + + auto view1 = + create_view(Tag{}, view_ext, "transform_exclusive_scan_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "transform_exclusive_scan_view2"); + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan(exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), + init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan( + "label", exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan(exespace(), view2, view2, init_value, + bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan("label", exespace(), view2, view2, + init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + Kokkos::fence(); +} + template void run_all_scenarios() { const std::map scenarios = { @@ -267,6 +314,11 @@ void run_all_scenarios() { run_single_scenario(it, ValueType{1}, bop_t(), uop_t()); run_single_scenario(it, ValueType{-2}, bop_t(), uop_t()); run_single_scenario(it, ValueType{3}, bop_t(), uop_t()); + + run_single_scenario_inplace(it, ValueType{0}, bop_t(), + uop_t()); + run_single_scenario_inplace(it, ValueType{-2}, bop_t(), + uop_t()); } } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp index a90a68ca1d..fb81ae91b0 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -172,24 +173,15 @@ void verify_data(ViewType1 data_view, // contains data create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); if (test_view_h.extent(0) > 0) { for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { ASSERT_EQ(gold_h(i), test_view_h(i)); } else { const auto error = std::abs(gold_h(i) - test_view_h(i)); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - } - EXPECT_LT(error, 1e-10); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); } } - // std::cout << " last el: " << test_view_h(test_view_h.extent(0)-1) << - // std::endl; } } @@ -210,30 +202,11 @@ struct SumBinaryFunctor { std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void print_scenario_details(const std::string& name, BopT bop, UopT uop) { - (void)bop; - (void)uop; - std::cout << "transform_inclusive_scan: " << name << ", " - << view_tag_to_string(Tag{}) << std::endl; -} - -template -void print_scenario_details(const std::string& name, BopT bop, UopT uop, - ValueType init_value) { - (void)bop; - (void)uop; - std::cout << "transform_inclusive_scan: " << name << ", " - << view_tag_to_string(Tag{}) << ", " - << "init = " << init_value << std::endl; -} - template void run_single_scenario(const InfoType& scenario_info, Args... args /* by value on purpose*/) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // print_scenario_details(name, args...); auto view_dest = create_view(Tag{}, view_ext, "transform_inclusive_scan"); @@ -278,6 +251,63 @@ void run_single_scenario(const InfoType& scenario_info, Kokkos::fence(); } +template +void run_single_scenario_inplace(const InfoType& scenario_info, + Args... args /* by value on purpose*/) { + const auto name = std::get<0>(scenario_info); + const std::size_t view_ext = std::get<1>(scenario_info); + + // since here we call the in-place operation, we need to use two views: + // view1: filled according to scenario and is not modified + // view2: filled according scenario and used for the in-place op + // Therefore, after the op is done, view_2 should contain the + // result of doing exclusive scan. + // NOTE: view2 must be filled before every call to the algorithm + // because the algorithm acts in place + + auto view_1 = create_view(Tag{}, view_ext, + "transform_inclusive_scan_view_1"); + fill_view(view_1, name); + + auto view_2 = create_view(Tag{}, view_ext, + "transform_inclusive_scan_view_2"); + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan(exespace(), KE::cbegin(view_2), + KE::cend(view_2), KE::begin(view_2), + args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan("label", exespace(), + KE::cbegin(view_2), KE::cend(view_2), + KE::begin(view_2), args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan(exespace(), view_2, view_2, args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan("label", exespace(), view_2, view_2, + args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + Kokkos::fence(); +} + template void run_all_scenarios() { const std::map scenarios = { @@ -294,15 +324,23 @@ void run_all_scenarios() { run_single_scenario(it, bop_t(), uop_t(), ValueType{2}); run_single_scenario(it, bop_t(), uop_t(), ValueType{-1}); run_single_scenario(it, bop_t(), uop_t(), ValueType{-2}); + + run_single_scenario_inplace(it, bop_t(), uop_t()); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{0}); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{2}); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{-2}); } } #if !defined KOKKOS_ENABLE_OPENMPTARGET TEST(std_algorithms_numeric_ops_test, transform_inclusive_scan) { run_all_scenarios(); - // run_all_scenarios(); - // run_all_scenarios(); - // run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } #endif diff --git a/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp b/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp index 3847e1e6a3..c05006a161 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp @@ -83,9 +83,6 @@ auto run_min_or_max_test(ViewType view, StdReducersTestEnumOrder enValue) { static_assert(std::is_same::value, "test is only enabled for HostSpace"); - std::cout << "checking reduction with order: " << order_to_string(enValue) - << "\n"; - using view_value_type = typename ViewType::value_type; using reducer_type = std::conditional_t< (flag == 0), Kokkos::MaxFirstLoc, @@ -132,18 +129,24 @@ TEST(std_algorithms_reducers, max_first_loc) { const auto pair1 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::LeftToRight); - ASSERT_EQ(pair1.first, gold_value); - ASSERT_EQ(pair1.second, gold_location); + ASSERT_EQ(pair1.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::LeftToRight); + ASSERT_EQ(pair1.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::LeftToRight); const auto pair2 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::RightToLeft); - ASSERT_EQ(pair2.first, gold_value); - ASSERT_EQ(pair2.second, gold_location); + ASSERT_EQ(pair2.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::RightToLeft); + ASSERT_EQ(pair2.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::RightToLeft); const auto pair3 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::Random); - ASSERT_EQ(pair3.first, gold_value); - ASSERT_EQ(pair3.second, gold_location); + ASSERT_EQ(pair3.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::Random); + ASSERT_EQ(pair3.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::Random); } TEST(std_algorithms_reducers, min_first_loc) { @@ -191,9 +194,6 @@ void run_min_max_test(ViewType view, StdReducersTestEnumOrder enValue, static_assert(std::is_same::value, "test is only enabled for HostSpace"); - std::cout << "checking reduction with order: " << order_to_string(enValue) - << "\n"; - using view_value_type = typename ViewType::value_type; using reducer_type = Kokkos::MinMaxFirstLastLoc; @@ -212,10 +212,10 @@ void run_min_max_test(ViewType view, StdReducersTestEnumOrder enValue, reduction_value_type{view(index), view(index), index, index}); } - ASSERT_EQ(red_result.min_val, gold_values.first); - ASSERT_EQ(red_result.max_val, gold_values.second); - ASSERT_EQ(red_result.min_loc, gold_locs.first); - ASSERT_EQ(red_result.max_loc, gold_locs.second); + ASSERT_EQ(red_result.min_val, gold_values.first) << order_to_string(enValue); + ASSERT_EQ(red_result.max_val, gold_values.second) << order_to_string(enValue); + ASSERT_EQ(red_result.min_loc, gold_locs.first) << order_to_string(enValue); + ASSERT_EQ(red_result.max_loc, gold_locs.second) << order_to_string(enValue); } TEST(std_algorithms_reducers, min_max_first_last_loc) { diff --git a/lib/kokkos/benchmarks/CMakeLists.txt b/lib/kokkos/benchmarks/CMakeLists.txt index 42279bf55d..abf5028359 100644 --- a/lib/kokkos/benchmarks/CMakeLists.txt +++ b/lib/kokkos/benchmarks/CMakeLists.txt @@ -1 +1,12 @@ +#FIXME_OPENMPTARGET - compiling in debug mode causes ICE. +KOKKOS_ADD_BENCHMARK_DIRECTORIES(atomic) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(gather) KOKKOS_ADD_BENCHMARK_DIRECTORIES(gups) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(launch_latency) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(stream) + +#FIXME_OPENMPTARGET - These two benchmarks cause ICE. Commenting them for now but a deeper analysis on the cause and a possible fix will follow. +IF(NOT Kokkos_ENABLE_OPENMPTARGET) + KOKKOS_ADD_BENCHMARK_DIRECTORIES(policy_performance) + KOKKOS_ADD_BENCHMARK_DIRECTORIES(bytes_and_flops) +ENDIF() diff --git a/lib/kokkos/benchmarks/atomic/CMakeLists.txt b/lib/kokkos/benchmarks/atomic/CMakeLists.txt new file mode 100644 index 0000000000..85f7412f49 --- /dev/null +++ b/lib/kokkos/benchmarks/atomic/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + atomic + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt b/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt new file mode 100644 index 0000000000..0ce44a6f1a --- /dev/null +++ b/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + bytes_and_flops + SOURCES bench_double.cpp bench_float.cpp bench_int32_t.cpp bench_int64_t.cpp main.cpp +) diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp index 2589fd7309..88830af624 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp @@ -37,22 +37,22 @@ struct RunStride { }; #define STRIDE 1 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 2 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 4 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 8 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 16 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 32 -#include +#include "bench_stride.hpp" #undef STRIDE template diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp index f955c99666..2fda1ae3d4 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp index 137ff67d40..3210116a9e 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp index 29ccec0141..24a5dcd389 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp index c153d5eff3..0634700c31 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp index b63d486fc9..80f017fbe8 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp @@ -15,28 +15,28 @@ //@HEADER #define UNROLL 1 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 2 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 3 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 4 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 5 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 6 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 7 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 8 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL template diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp index 0f7a298c1b..78cfd48eff 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp @@ -26,7 +26,7 @@ struct Run { Kokkos::deep_copy(C, Scalar(3.5)); Kokkos::Timer timer; - for (int i = 0; i < I; ++i) { + for (int iter = 0; iter < I; ++iter) { Kokkos::parallel_for( "BenchmarkKernel", Kokkos::TeamPolicy<>(N, T).set_scratch_size(0, Kokkos::PerTeam(S)), diff --git a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp index 20077757d1..fdfcc4ea64 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include "bench.hpp" #include extern template void run_stride_unroll(int, int, int, int, int, int, int, @@ -86,7 +86,7 @@ int main(int argc, char* argv[]) { printf("D must be one of 1,2,4,8,16,32\n"); return 0; } - if ((P < 1) && (P > 2)) { + if ((P < 1) || (P > 4)) { printf("P must be one of 1,2,3,4\n"); return 0; } diff --git a/lib/kokkos/benchmarks/gather/CMakeLists.txt b/lib/kokkos/benchmarks/gather/CMakeLists.txt new file mode 100644 index 0000000000..24c7062772 --- /dev/null +++ b/lib/kokkos/benchmarks/gather/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + gather + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/gather/gather.hpp b/lib/kokkos/benchmarks/gather/gather.hpp index d83461702c..90b1101c1d 100644 --- a/lib/kokkos/benchmarks/gather/gather.hpp +++ b/lib/kokkos/benchmarks/gather/gather.hpp @@ -20,28 +20,28 @@ struct RunGather { }; #define UNROLL 1 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 2 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 3 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 4 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 5 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 6 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 7 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 8 -#include +#include "gather_unroll.hpp" #undef UNROLL template diff --git a/lib/kokkos/benchmarks/gather/gather_unroll.hpp b/lib/kokkos/benchmarks/gather/gather_unroll.hpp index 5ee5742a3f..1aa73091bc 100644 --- a/lib/kokkos/benchmarks/gather/gather_unroll.hpp +++ b/lib/kokkos/benchmarks/gather/gather_unroll.hpp @@ -138,7 +138,7 @@ struct RunGather { printf( "SNKDRUF: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: " "%lf GGather/s: %lf\n", - sizeof(Scalar) / 4, N, K, D, R, UNROLL, F, seconds, + static_cast(sizeof(Scalar) / 4), N, K, D, R, UNROLL, F, seconds, 1.0 * bytes / seconds / 1024 / 1024 / 1024, 1.e-9 * flops / seconds, 1.e-9 * gather_ops / seconds); } diff --git a/lib/kokkos/benchmarks/gather/main.cpp b/lib/kokkos/benchmarks/gather/main.cpp index 7f4fc9ede6..07fca9fdc6 100644 --- a/lib/kokkos/benchmarks/gather/main.cpp +++ b/lib/kokkos/benchmarks/gather/main.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include "gather.hpp" #include int main(int argc, char* argv[]) { diff --git a/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt b/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt new file mode 100644 index 0000000000..bb14da749d --- /dev/null +++ b/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + launch_latency + SOURCES launch_latency.cpp +) diff --git a/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp b/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp new file mode 100644 index 0000000000..73b176ab8d --- /dev/null +++ b/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp @@ -0,0 +1,283 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +/*! \file launch_latency.cpp + + Tests of parallel_for and parallel_reduce latency for different + circumstances. + + Three launch kinds are tested: parallel_for, parallel_reduce into scalar, + and parallel_reduce into view + + N controls how large the parallel loops is + V controls how large the functor is + M controls across how many launches the latency is averaged + K controls how larege the nested loop is (no larger than V) + + For each launch kind, + 1. Avg functor dispatch latency: (time to do M launches) / M + 2. Avg functor completion throughput: (M launches + sync) / M + 3. Avg functor completion latency: (M (launch + sync)) / M +*/ + +#include + +template +struct TestFunctor { + double values[V]; + Kokkos::View a; + int K; + TestFunctor(Kokkos::View a_, int K_) : a(a_), K(K_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { + for (int j = 0; j < K; j++) a(i) += 1.0 * i * values[j]; + } +}; + +template +struct TestRFunctor { + double values[V]; + Kokkos::View a; + int K; + TestRFunctor(Kokkos::View a_, int K_) : a(a_), K(K_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, double& lsum) const { + for (int j = 0; j < K; j++) a(i) += 1.0 * i * values[j]; + lsum += a(i); + } +}; + +struct Opts { + bool par_for = true; + bool par_reduce = true; + bool par_reduce_view = true; +}; + +template +void run(int N, int M, int K, const Opts& opts) { + std::string l_no_fence, l_fence, l_red_no_fence, l_red_fence, + l_red_view_no_fence, l_red_view_fence; + { + std::ostringstream ostream; + ostream << "RunNoFence_" << N << "_" << K << std::endl; + l_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunFence_" << N << "_" << K << std::endl; + l_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceNoFence_" << N << "_" << K << std::endl; + l_red_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceFence_" << N << "_" << K << std::endl; + l_red_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceViewNoFence_" << N << "_" << K << std::endl; + l_red_view_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceViewFence_" << N << "_" << K << std::endl; + l_red_view_fence = ostream.str(); + } + + double result; + Kokkos::View a("A", N); + Kokkos::View v_result("result"); + TestFunctor f(a, K); + TestRFunctor rf(a, K); + Kokkos::Timer timer; + + // initialize to an obviously wrong value + double time_no_fence = -1; // launch loop + double time_no_fence_fenced = -1; // launch loop then fence + double time_fence = -1; // launch&fence loop + + double time_red_no_fence = -1; + double time_red_no_fence_fenced = -1; + double time_red_fence = -1; + + double time_red_view_no_fence = -1; + double time_red_view_no_fence_fenced = -1; + double time_red_view_fence = -1; + + if (opts.par_for) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_for(l_no_fence, N, f); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_for(l_no_fence, N, f); + } + time_no_fence = timer.seconds(); + Kokkos::fence(); + time_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_for(l_fence, N, f); + Kokkos::fence(); + } + time_fence = timer.seconds(); + } + + if (opts.par_reduce) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_reduce(l_red_no_fence, N, rf, result); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_no_fence, N, rf, result); + } + time_red_no_fence = timer.seconds(); + Kokkos::fence(); + time_red_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_fence, N, rf, result); + Kokkos::fence(); + } + time_red_fence = timer.seconds(); + Kokkos::fence(); + } + + if (opts.par_reduce_view) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_reduce(l_red_view_no_fence, N, rf, v_result); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_view_no_fence, N, rf, v_result); + } + time_red_view_no_fence = timer.seconds(); + Kokkos::fence(); + time_red_view_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_view_fence, N, rf, v_result); + Kokkos::fence(); + } + time_red_view_fence = timer.seconds(); + Kokkos::fence(); + timer.reset(); + } + + const double x = 1.e6 / M; + printf("%i %i %i %i", N, V, K, M); + if (opts.par_for) { + printf(" parallel_for: %lf %lf ( %lf )", x * time_no_fence, x * time_fence, + x * time_no_fence_fenced); + } + if (opts.par_reduce) { + printf(" parallel_reduce: %lf %lf ( %lf )", x * time_red_no_fence, + x * time_red_fence, x * time_red_no_fence_fenced); + } + if (opts.par_reduce_view) { + printf(" parallel_reduce(view): %lf %lf ( %lf )", + x * time_red_view_no_fence, x * time_red_view_fence, + x * time_red_view_no_fence_fenced); + } + printf("\n"); +} +int main(int argc, char* argv[]) { + Kokkos::initialize(argc, argv); + { + int N = 10000; + int M = 20; + int K = 1; + + Opts opts; + + printf("==========================\n"); + printf("Kokkos Launch Latency Test\n"); + printf("==========================\n"); + printf("\n"); + printf("Usage: %s ARGUMENTS [OPTIONS...]\n\n", argv[0]); + printf("Arguments: N M K\n"); + printf(" N: loop length\n"); + printf(" M: how many kernels to dispatch\n"); + printf( + " K: nested loop length (capped by size of functor member array\n\n"); + printf("Options:\n"); + printf(" --no-parallel-for: skip parallel_for benchmark\n"); + printf(" --no-parallel-reduce: skip parallel_reduce benchmark\n"); + printf( + " --no-parallel-reduce-view: skip parallel_reduce into view " + "benchmark\n"); + printf("\n\n"); + printf(" Output V is the size of the functor member array\n"); + printf("\n\n"); + + for (int i = 1; i < argc; ++i) { + const std::string_view arg(argv[i]); + + // anything that doesn't start with -- + if (arg.size() < 2 || + (arg.size() >= 2 && arg[0] != '-' && arg[1] != '-')) { + if (i == 1) + N = atoi(arg.data()); + else if (i == 2) + M = atoi(arg.data()); + else if (i == 3) + K = atoi(arg.data()); + else { + throw std::runtime_error("unexpected argument!"); + } + } else if (arg == "--no-parallel-for") { + opts.par_for = false; + } else if (arg == "--no-parallel-reduce") { + opts.par_reduce = false; + } else if (arg == "--no-parallel-reduce-view") { + opts.par_reduce_view = false; + } else { + std::stringstream ss; + ss << "unexpected argument \"" << arg << "\" at position " << i; + throw std::runtime_error(ss.str()); + } + } + + printf("N V K M time_no_fence time_fence (time_no_fence_fenced)\n"); + + /* A backend may have different launch strategies for functors of different + * sizes: test a variety of functor sizes.*/ + run<1>(N, M, K <= 1 ? K : 1, opts); + run<16>(N, M, K <= 16 ? K : 16, opts); + run<200>(N, M, K <= 200 ? K : 200, opts); + run<3000>(N, M, K <= 3000 ? K : 3000, opts); + run<30000>(N, M, K <= 30000 ? K : 30000, opts); + } + Kokkos::finalize(); +} diff --git a/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt b/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt new file mode 100644 index 0000000000..929b9c9702 --- /dev/null +++ b/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + policy_performance + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/policy_performance/main.cpp b/lib/kokkos/benchmarks/policy_performance/main.cpp index 28cfde552a..0983a3d535 100644 --- a/lib/kokkos/benchmarks/policy_performance/main.cpp +++ b/lib/kokkos/benchmarks/policy_performance/main.cpp @@ -106,8 +106,9 @@ int main(int argc, char* argv[]) { Kokkos::parallel_reduce( "parallel_reduce warmup", Kokkos::TeamPolicy<>(10, 1), - KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type team, - double& lval) { lval += 1; }, + KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type&, double& lval) { + lval += 1; + }, result); using view_type_1d = Kokkos::View; diff --git a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp index cc2cc40257..0e23d221f6 100644 --- a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp +++ b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp @@ -21,13 +21,13 @@ struct ParallelScanFunctor { using value_type = double; ViewType v; - ParallelScanFunctor(const ViewType& v_) : v(v_) {} + explicit ParallelScanFunctor(const ViewType& v_) : v(v_) {} KOKKOS_INLINE_FUNCTION - void operator()(const int idx, value_type& val, const bool& final) const { + void operator()(const int idx, value_type& val, const bool& is_final) const { // inclusive scan val += v(idx); - if (final) { + if (is_final) { v(idx) = val; } } @@ -109,7 +109,7 @@ void test_policy(int team_range, int thread_range, int vector_range, vector_result = 0.0; Kokkos::parallel_reduce( Kokkos::ThreadVectorRange(team, vector_range), - [&](const int vi, double& vval) { vval += 1; }, + [&](const int, double& vval) { vval += 1; }, vector_result); } v2(idx, t) = vector_result; @@ -128,7 +128,7 @@ void test_policy(int team_range, int thread_range, int vector_range, team_result = 0.0; Kokkos::parallel_reduce( Kokkos::TeamThreadRange(team, thread_range), - [&](const int t, double& lval) { lval += 1; }, team_result); + [&](const int, double& lval) { lval += 1; }, team_result); } v1(idx) = team_result; // prevent compiler optimizing loop away @@ -170,13 +170,13 @@ void test_policy(int team_range, int thread_range, int vector_range, for (int tr = 0; tr < thread_repeat; ++tr) { Kokkos::parallel_reduce( Kokkos::TeamThreadRange(team, thread_range), - [&](const int t, double& lval) { + [&](const int, double& lval) { double vector_result = 0.0; for (int vr = 0; vr < inner_repeat; ++vr) { vector_result = 0.0; Kokkos::parallel_reduce( Kokkos::ThreadVectorRange(team, vector_range), - [&](const int vi, double& vval) { vval += 1; }, + [&](const int, double& vval) { vval += 1; }, vector_result); lval += vector_result; } diff --git a/lib/kokkos/benchmarks/stream/CMakeLists.txt b/lib/kokkos/benchmarks/stream/CMakeLists.txt new file mode 100644 index 0000000000..0dded6e3a5 --- /dev/null +++ b/lib/kokkos/benchmarks/stream/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + stream + SOURCES stream-kokkos.cpp +) diff --git a/lib/kokkos/bin/nvcc_wrapper b/lib/kokkos/bin/nvcc_wrapper index c140087240..9b935835d5 100755 --- a/lib/kokkos/bin/nvcc_wrapper +++ b/lib/kokkos/bin/nvcc_wrapper @@ -229,7 +229,7 @@ do fi ;; #Handle known nvcc args - --dryrun|--verbose|--keep|--source-in-ptx|-src-in-ptx|--keep-dir*|-G|-lineinfo|-extended-lambda|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|--fmad=*|--use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) + --dryrun|-dryrun|--verbose|--keep|-keep|--source-in-ptx|-src-in-ptx|--keep-dir*|-keep-dir*|-G|-lineinfo|--generate-line-info|-extended-lambda|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|-res-usage|-fmad=*|--use_fast_math|-use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) cuda_args="$cuda_args $1" ;; #Handle more known nvcc args diff --git a/lib/kokkos/cmake/KokkosConfig.cmake.in b/lib/kokkos/cmake/KokkosConfig.cmake.in index e26c75b312..1b6d1b66ff 100644 --- a/lib/kokkos/cmake/KokkosConfig.cmake.in +++ b/lib/kokkos/cmake/KokkosConfig.cmake.in @@ -39,10 +39,12 @@ IF("launch_compiler" IN_LIST Kokkos_FIND_COMPONENTS) GLOBAL CHECK_CUDA_COMPILES) -ELSEIF(@Kokkos_ENABLE_CUDA@ AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) +ELSEIF(@Kokkos_ENABLE_CUDA@ + AND NOT @KOKKOS_COMPILE_LANGUAGE@ STREQUAL CUDA + AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) # - # if CUDA was enabled, separable compilation was not specified, and current compiler - # cannot compile CUDA, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and + # if CUDA was enabled, the compilation language was not set to CUDA, and separable compilation was not + # specified, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and # kokkos_launch_compiler will re-direct to the compiler used to compile CUDA code during installation. # kokkos_launch_compiler will re-direct if ${CMAKE_CXX_COMPILER} and -DKOKKOS_DEPENDENCE is present, # otherwise, the original command will be executed diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in index 9930d2abf0..2df0f6c520 100644 --- a/lib/kokkos/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -23,8 +23,6 @@ #cmakedefine KOKKOS_ENABLE_CUDA #cmakedefine KOKKOS_ENABLE_HIP #cmakedefine KOKKOS_ENABLE_HPX -#cmakedefine KOKKOS_ENABLE_MEMKIND -#cmakedefine KOKKOS_ENABLE_LIBRT #cmakedefine KOKKOS_ENABLE_SYCL #cmakedefine KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED @@ -32,6 +30,7 @@ #cmakedefine KOKKOS_ENABLE_CXX17 #cmakedefine KOKKOS_ENABLE_CXX20 #cmakedefine KOKKOS_ENABLE_CXX23 +#cmakedefine KOKKOS_ENABLE_CXX26 #cmakedefine KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE #cmakedefine KOKKOS_ENABLE_CUDA_UVM @@ -45,7 +44,6 @@ #cmakedefine KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK #cmakedefine KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK #cmakedefine KOKKOS_ENABLE_TUNING -#cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE_3 #cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE_4 #cmakedefine KOKKOS_ENABLE_DEPRECATION_WARNINGS #cmakedefine KOKKOS_ENABLE_LARGE_MEM_TESTS @@ -53,17 +51,15 @@ #cmakedefine KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION // deprecated #cmakedefine KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION #cmakedefine KOKKOS_ENABLE_IMPL_MDSPAN +#cmakedefine KOKKOS_ENABLE_ATOMICS_BYPASS /* TPL Settings */ #cmakedefine KOKKOS_ENABLE_HWLOC -#cmakedefine KOKKOS_USE_LIBRT -#cmakedefine KOKKOS_ENABLE_HBWSPACE #cmakedefine KOKKOS_ENABLE_LIBDL #cmakedefine KOKKOS_ENABLE_LIBQUADMATH -#cmakedefine KOKKOS_IMPL_CUDA_CLANG_WORKAROUND #cmakedefine KOKKOS_ENABLE_ONEDPL +#cmakedefine KOKKOS_ENABLE_ROCTHRUST -#cmakedefine KOKKOS_ARCH_SSE42 #cmakedefine KOKKOS_ARCH_ARMV80 #cmakedefine KOKKOS_ARCH_ARMV8_THUNDERX #cmakedefine KOKKOS_ARCH_ARMV81 @@ -78,6 +74,7 @@ #cmakedefine KOKKOS_ARCH_POWER7 #cmakedefine KOKKOS_ARCH_POWER8 #cmakedefine KOKKOS_ARCH_POWER9 +#cmakedefine KOKKOS_ARCH_RISCV_SG2042 #cmakedefine KOKKOS_ARCH_INTEL_GEN #cmakedefine KOKKOS_ARCH_INTEL_DG1 #cmakedefine KOKKOS_ARCH_INTEL_GEN9 diff --git a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake index 792c92c07e..5a62c530fc 100644 --- a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake @@ -7,7 +7,8 @@ IF (NOT CUDAToolkit_ROOT) ENDIF() ENDIF() -IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0") +# FIXME CMake 3.28.4 creates more targets than we export +IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0" AND CMAKE_VERSION VERSION_LESS "3.28.4") find_package(CUDAToolkit) ELSE() include(${CMAKE_CURRENT_LIST_DIR}/CudaToolkit.cmake) diff --git a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake b/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake deleted file mode 100644 index e75da56b5b..0000000000 --- a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake +++ /dev/null @@ -1 +0,0 @@ -KOKKOS_FIND_IMPORTED(LIBRT HEADER time.h LIBRARY rt) diff --git a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake b/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake deleted file mode 100644 index 20aaff2295..0000000000 --- a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake +++ /dev/null @@ -1 +0,0 @@ -KOKKOS_FIND_IMPORTED(MEMKIND HEADER memkind.h LIBRARY memkind) diff --git a/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake b/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake index 01791cff44..603510c315 100644 --- a/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake @@ -43,4 +43,7 @@ ELSE() COMPILE_DEFINITIONS PSTL_USE_PARALLEL_POLICIES=0 _GLIBCXX_USE_TBB_PAR_BACKEND=0 ) ENDIF() + + # Export oneDPL as a Kokkos dependency + KOKKOS_EXPORT_CMAKE_TPL(oneDPL) ENDIF() diff --git a/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake b/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake new file mode 100644 index 0000000000..dae7dc3c95 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake @@ -0,0 +1,15 @@ +# ROCm 5.6 and earlier set AMDGPU_TARGETS and GPU_TARGETS to all the supported +# architectures. Therefore, we end up compiling Kokkos for all the supported +# architecture. Starting with ROCm 5.7 AMDGPU_TARGETS and GPU_TARGETS are empty. +# It is the user's job to set the variables. Since we are injecting the +# architecture flag ourselves, we can let the variables empty. To replicate the +# behavior of ROCm 5.7 and later for earlier version of ROCm we set +# AMDGPU_TARGETS and GPU_TARGETS to empty and set the values in the cache. If +# the values are not cached, FIND_PACKAGE(rocthrust) will overwrite them. +SET(AMDGPU_TARGETS "" CACHE STRING "AMD GPU targets to compile for") +SET(GPU_TARGETS "" CACHE STRING "GPU targets to compile for") +FIND_PACKAGE(rocthrust REQUIRED) +KOKKOS_CREATE_IMPORTED_TPL(ROCTHRUST INTERFACE LINK_LIBRARIES roc::rocthrust) + +# Export ROCTHRUST as a Kokkos dependency +KOKKOS_EXPORT_CMAKE_TPL(rocthrust) diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake index 30764bde86..34e9f05986 100644 --- a/lib/kokkos/cmake/kokkos_arch.cmake +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -49,7 +49,6 @@ DECLARE_AND_CHECK_HOST_ARCH(ARMV81 "ARMv8.1 Compatible CPU") DECLARE_AND_CHECK_HOST_ARCH(ARMV8_THUNDERX "ARMv8 Cavium ThunderX CPU") DECLARE_AND_CHECK_HOST_ARCH(ARMV8_THUNDERX2 "ARMv8 Cavium ThunderX2 CPU") DECLARE_AND_CHECK_HOST_ARCH(A64FX "ARMv8.2 with SVE Support") -DECLARE_AND_CHECK_HOST_ARCH(WSM "Intel Westmere CPU") DECLARE_AND_CHECK_HOST_ARCH(SNB "Intel Sandy/Ivy Bridge CPUs") DECLARE_AND_CHECK_HOST_ARCH(HSW "Intel Haswell CPUs") DECLARE_AND_CHECK_HOST_ARCH(BDW "Intel Broadwell Xeon E-class CPUs") @@ -60,13 +59,12 @@ DECLARE_AND_CHECK_HOST_ARCH(SKX "Intel Skylake Xeon Server CPUs (A DECLARE_AND_CHECK_HOST_ARCH(KNC "Intel Knights Corner Xeon Phi") DECLARE_AND_CHECK_HOST_ARCH(KNL "Intel Knights Landing Xeon Phi") DECLARE_AND_CHECK_HOST_ARCH(SPR "Intel Sapphire Rapids Xeon Server CPUs (AVX512)") -DECLARE_AND_CHECK_HOST_ARCH(BGQ "IBM Blue Gene Q") -DECLARE_AND_CHECK_HOST_ARCH(POWER7 "IBM POWER7 CPUs") DECLARE_AND_CHECK_HOST_ARCH(POWER8 "IBM POWER8 CPUs") DECLARE_AND_CHECK_HOST_ARCH(POWER9 "IBM POWER9 CPUs") DECLARE_AND_CHECK_HOST_ARCH(ZEN "AMD Zen architecture") DECLARE_AND_CHECK_HOST_ARCH(ZEN2 "AMD Zen2 architecture") DECLARE_AND_CHECK_HOST_ARCH(ZEN3 "AMD Zen3 architecture") +DECLARE_AND_CHECK_HOST_ARCH(RISCV_SG2042 "SG2042 (RISC-V) CPUs") IF(Kokkos_ENABLE_CUDA OR Kokkos_ENABLE_OPENMPTARGET OR Kokkos_ENABLE_OPENACC OR Kokkos_ENABLE_SYCL) SET(KOKKOS_SHOW_CUDA_ARCHS ON) @@ -191,9 +189,6 @@ IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) ELSEIF(CUDAToolkit_BIN_DIR) GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS --cuda-path=${CUDAToolkit_BIN_DIR}/..) ENDIF() - IF (KOKKOS_ENABLE_CUDA) - SET(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND ON CACHE BOOL "enable CUDA Clang workarounds" FORCE) - ENDIF() ELSEIF (KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) SET(CUDA_ARCH_FLAG "-gpu") GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS -cuda) @@ -342,18 +337,6 @@ IF (KOKKOS_ARCH_ZEN3) SET(KOKKOS_ARCH_AVX2 ON) ENDIF() -IF (KOKKOS_ARCH_WSM) - COMPILER_SPECIFIC_FLAGS( - COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID - Cray NO-VALUE-SPECIFIED - Intel -xSSE4.2 - MSVC NO-VALUE-SPECIFIED - NVHPC -tp=px - DEFAULT -msse4.2 - ) - SET(KOKKOS_ARCH_SSE42 ON) -ENDIF() - IF (KOKKOS_ARCH_SNB OR KOKKOS_ARCH_AMDAVX) SET(KOKKOS_ARCH_AVX ON) COMPILER_SPECIFIC_FLAGS( @@ -378,6 +361,23 @@ IF (KOKKOS_ARCH_HSW) ) ENDIF() +IF (KOKKOS_ARCH_RISCV_SG2042) + IF(NOT + (KOKKOS_CXX_COMPILER_ID STREQUAL GNU + AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12) + OR + (KOKKOS_CXX_COMPILER_ID STREQUAL Clang + AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14) + ) + MESSAGE(SEND_ERROR "Only gcc >= 12 and clang >= 14 support RISC-V.") + ENDIF() + COMPILER_SPECIFIC_FLAGS( + COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID + DEFAULT -march=rv64imafdcv + ) +ENDIF() + + IF (KOKKOS_ARCH_BDW) SET(KOKKOS_ARCH_AVX2 ON) COMPILER_SPECIFIC_FLAGS( @@ -571,6 +571,11 @@ IF (KOKKOS_ENABLE_HIP) COMPILER_SPECIFIC_FLAGS( DEFAULT -fgpu-rdc ) + IF (NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC) + COMPILER_SPECIFIC_LINK_OPTIONS( + DEFAULT --hip-link + ) + ENDIF() ELSE() COMPILER_SPECIFIC_FLAGS( DEFAULT -fno-gpu-rdc @@ -588,32 +593,44 @@ IF (KOKKOS_ENABLE_SYCL) ENDIF() # Check support for device_global variables -# FIXME_SYCL Once the feature test macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL is -# available, use that instead. -IF(KOKKOS_ENABLE_SYCL AND NOT BUILD_SHARED_LIBS) - INCLUDE(CheckCXXSourceCompiles) +# FIXME_SYCL If SYCL_EXT_ONEAPI_DEVICE_GLOBAL is defined, we can use device +# global variables with shared libraries using the "non-separable compilation" +# implementation. Otherwise, the feature is not supported when building shared +# libraries. Thus, we don't even check for support if shared libraries are +# requested and SYCL_EXT_ONEAPI_DEVICE_GLOBAL is not defined. +IF(KOKKOS_ENABLE_SYCL) STRING(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${KOKKOS_COMPILE_OPTIONS}") - CHECK_CXX_SOURCE_COMPILES(" - #include - using namespace sycl::ext::oneapi::experimental; - using namespace sycl; + INCLUDE(CheckCXXSymbolExists) + CHECK_CXX_SYMBOL_EXISTS(SYCL_EXT_ONEAPI_DEVICE_GLOBAL "sycl/sycl.hpp" KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + IF (KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + SET(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED ON) + # Use the non-separable compilation implementation to support shared libraries as well. + COMPILER_SPECIFIC_FLAGS(DEFAULT -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED) + ELSEIF(NOT BUILD_SHARED_LIBS) + INCLUDE(CheckCXXSourceCompiles) + CHECK_CXX_SOURCE_COMPILES(" + #include + using namespace sycl::ext::oneapi::experimental; + using namespace sycl; - SYCL_EXTERNAL device_global Foo; + SYCL_EXTERNAL device_global Foo; - void bar(queue q) { - q.single_task([=] { - Foo = 42; - }); - } + void bar(queue q) { + q.single_task([=] { + Foo = 42; + }); + } - int main(){ return 0; } - " - KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) + int main(){ return 0; } + " + KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) - IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) - COMPILER_SPECIFIC_FLAGS( - DEFAULT -fsycl-device-code-split=off -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED - ) + IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) + # Only the separable compilation implementation is supported. + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fsycl-device-code-split=off -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED + ) + ENDIF() ENDIF() ENDIF() @@ -767,30 +784,35 @@ IF (KOKKOS_ENABLE_OPENMPTARGET) COMPILER_SPECIFIC_FLAGS( IntelLLVM -fopenmp-targets=spir64 -D__STRICT_ANSI__ ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN9) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" -D__STRICT_ANSI__ + ELSE() + COMPILER_SPECIFIC_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -D__STRICT_ANSI__ ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN11) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen11" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN12LP) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen12lp" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_DG1) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device dg1" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_XEHP) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.50.4" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_PVC) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.60.7" -D__STRICT_ANSI__ + IF(KOKKOS_ARCH_INTEL_GEN9) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" + ) + ELSEIF(KOKKOS_ARCH_INTEL_GEN11) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen11" + ) + ELSEIF(KOKKOS_ARCH_INTEL_GEN12LP) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen12lp" + ) + ELSEIF(KOKKOS_ARCH_INTEL_DG1) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device dg1" + ) + ELSEIF(KOKKOS_ARCH_INTEL_XEHP) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.50.4" + ) + ELSEIF(KOKKOS_ARCH_INTEL_PVC) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.60.7" ) + ENDIF() ENDIF() ENDIF() @@ -1130,3 +1152,14 @@ MESSAGE(STATUS "Architectures:") FOREACH(Arch ${KOKKOS_ENABLED_ARCH_LIST}) MESSAGE(STATUS " ${Arch}") ENDFOREACH() + + +IF(KOKKOS_ENABLE_ATOMICS_BYPASS) + IF(NOT _HOST_PARALLEL STREQUAL "NoTypeDefined" OR NOT _DEVICE_PARALLEL STREQUAL "NoTypeDefined") + MESSAGE(FATAL_ERROR "Not allowed to disable atomics (via -DKokkos_ENABLE_AROMICS_BYPASS=ON) if neither a host parallel nor a device backend is enabled!") + ENDIF() + IF(NOT KOKKOS_ENABLE_SERIAL) + MESSAGE(FATAL_ERROR "Implementation bug") # safeguard + ENDIF() + MESSAGE(STATUS "Atomics: **DISABLED**") +ENDIF() diff --git a/lib/kokkos/cmake/kokkos_compiler_id.cmake b/lib/kokkos/cmake/kokkos_compiler_id.cmake index 04589befc3..9135ca2b41 100644 --- a/lib/kokkos/cmake/kokkos_compiler_id.cmake +++ b/lib/kokkos/cmake/kokkos_compiler_id.cmake @@ -152,6 +152,7 @@ ENDIF() SET(KOKKOS_MESSAGE_TEXT "Compiler not supported by Kokkos. Required compiler versions:") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(CPU) 8.0.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(CUDA) 10.0.0 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(OpenMPTarget) 15.0.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n GCC 8.2.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Intel 19.0.5 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n IntelLLVM(CPU) 2021.1.1 or higher") @@ -210,6 +211,10 @@ ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") ENDIF() ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL XL OR KOKKOS_CXX_COMPILER_ID STREQUAL XLClang) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND Kokkos_ENABLE_OPENMPTARGET) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 15.0.0) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() ENDIF() IF(NOT DEFINED KOKKOS_CXX_HOST_COMPILER_ID) diff --git a/lib/kokkos/cmake/kokkos_enable_options.cmake b/lib/kokkos/cmake/kokkos_enable_options.cmake index 89e23b019b..a437f6132a 100644 --- a/lib/kokkos/cmake/kokkos_enable_options.cmake +++ b/lib/kokkos/cmake/kokkos_enable_options.cmake @@ -48,7 +48,6 @@ KOKKOS_ENABLE_OPTION(CUDA_LAMBDA ${CUDA_LAMBDA_DEFAULT} "Whether to allow lambda # resolved but we keep the option around a bit longer to be safe. KOKKOS_ENABLE_OPTION(IMPL_CUDA_MALLOC_ASYNC ON "Whether to enable CudaMallocAsync (requires CUDA Toolkit 11.2)") KOKKOS_ENABLE_OPTION(IMPL_NVHPC_AS_DEVICE_COMPILER OFF "Whether to allow nvc++ as Cuda device compiler") -KOKKOS_ENABLE_OPTION(DEPRECATED_CODE_3 OFF "Whether code deprecated in major release 3 is available" ) KOKKOS_ENABLE_OPTION(DEPRECATED_CODE_4 ON "Whether code deprecated in major release 4 is available" ) KOKKOS_ENABLE_OPTION(DEPRECATION_WARNINGS ON "Whether to emit deprecation warnings" ) KOKKOS_ENABLE_OPTION(HIP_RELOCATABLE_DEVICE_CODE OFF "Whether to enable relocatable device code (RDC) for HIP") @@ -74,6 +73,7 @@ KOKKOS_ENABLE_OPTION(HIP_MULTIPLE_KERNEL_INSTANTIATIONS OFF "Whether multiple ke # This option will go away eventually, but allows fallback to old implementation when needed. KOKKOS_ENABLE_OPTION(DESUL_ATOMICS_EXTERNAL OFF "Whether to use an external desul installation") +KOKKOS_ENABLE_OPTION(ATOMICS_BYPASS OFF "**NOT RECOMMENDED** Whether to make atomics non-atomic for non-threaded MPI-only use cases") KOKKOS_ENABLE_OPTION(IMPL_MDSPAN OFF "Whether to enable experimental mdspan support") KOKKOS_ENABLE_OPTION(MDSPAN_EXTERNAL OFF BOOL "Whether to use an external version of mdspan") diff --git a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake index d4eca651d4..ae14a10d53 100644 --- a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake @@ -7,6 +7,7 @@ KOKKOS_OPTION(CXX_STANDARD "" STRING "[[DEPRECATED - USE CMAKE_CXX_STANDARD INST SET(KOKKOS_ENABLE_CXX17 OFF) SET(KOKKOS_ENABLE_CXX20 OFF) SET(KOKKOS_ENABLE_CXX23 OFF) +SET(KOKKOS_ENABLE_CXX26 OFF) IF (KOKKOS_CXX_STANDARD) MESSAGE(FATAL_ERROR "Setting the variable Kokkos_CXX_STANDARD in configuration is deprecated - set CMAKE_CXX_STANDARD directly instead") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake index 7ad49fdd2d..b075a3e36b 100644 --- a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake @@ -74,6 +74,10 @@ ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "23") kokkos_set_cxx_standard_feature(23) SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2B") SET(KOKKOS_ENABLE_CXX23 ON) +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "26") + kokkos_set_cxx_standard_feature(26) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2C") + SET(KOKKOS_ENABLE_CXX26 ON) ELSE() MESSAGE(FATAL_ERROR "Kokkos requires C++17 or newer but requested ${KOKKOS_CXX_STANDARD}!") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_tpls.cmake b/lib/kokkos/cmake/kokkos_tpls.cmake index f124596a84..6ef3b79bde 100644 --- a/lib/kokkos/cmake/kokkos_tpls.cmake +++ b/lib/kokkos/cmake/kokkos_tpls.cmake @@ -32,19 +32,21 @@ FUNCTION(KOKKOS_TPL_OPTION PKG DEFAULT) ENDFUNCTION() KOKKOS_TPL_OPTION(HWLOC Off TRIBITS HWLOC) -KOKKOS_TPL_OPTION(MEMKIND Off) -IF(KOKKOS_ENABLE_MEMKIND) - SET(KOKKOS_ENABLE_HBWSPACE ON) -ENDIF() KOKKOS_TPL_OPTION(CUDA ${Kokkos_ENABLE_CUDA} TRIBITS CUDA) -KOKKOS_TPL_OPTION(LIBRT Off) IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC AND NOT KOKKOS_HAS_TRILINOS) SET(ROCM_DEFAULT ON) ELSE() SET(ROCM_DEFAULT OFF) ENDIF() +IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_HAS_TRILINOS) + SET(ROCTHRUST_DEFAULT ON) +ELSE() + SET(ROCTHRUST_DEFAULT OFF) +ENDIF() KOKKOS_TPL_OPTION(ROCM ${ROCM_DEFAULT}) +KOKKOS_TPL_OPTION(ROCTHRUST ${ROCTHRUST_DEFAULT}) + IF(KOKKOS_ENABLE_SYCL AND NOT KOKKOS_HAS_TRILINOS) SET(ONEDPL_DEFAULT ON) ELSE() @@ -77,21 +79,18 @@ KOKKOS_TPL_OPTION(LIBQUADMATH ${LIBQUADMATH_DEFAULT} TRIBITS quadmath) #Make sure we use our local FindKokkosCuda.cmake KOKKOS_IMPORT_TPL(HPX INTERFACE) -IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) - KOKKOS_IMPORT_TPL(CUDA INTERFACE) -ENDIF() +KOKKOS_IMPORT_TPL(CUDA INTERFACE) KOKKOS_IMPORT_TPL(HWLOC) -KOKKOS_IMPORT_TPL(LIBRT) KOKKOS_IMPORT_TPL(LIBDL) -KOKKOS_IMPORT_TPL(MEMKIND) IF (NOT WIN32) KOKKOS_IMPORT_TPL(THREADS INTERFACE) ENDIF() IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) KOKKOS_IMPORT_TPL(ROCM INTERFACE) - KOKKOS_IMPORT_TPL(ONEDPL INTERFACE) ENDIF() +KOKKOS_IMPORT_TPL(ONEDPL INTERFACE) KOKKOS_IMPORT_TPL(LIBQUADMATH) +KOKKOS_IMPORT_TPL(ROCTHRUST) IF (Kokkos_ENABLE_DESUL_ATOMICS_EXTERNAL) find_package(desul REQUIRED COMPONENTS atomics) @@ -119,7 +118,3 @@ STRING(REPLACE ";" "\n" KOKKOS_TPL_EXPORT_TEMP "${KOKKOS_TPL_EXPORTS}") #Convert to a regular variable UNSET(KOKKOS_TPL_EXPORTS CACHE) SET(KOKKOS_TPL_EXPORTS ${KOKKOS_TPL_EXPORT_TEMP}) -IF (KOKKOS_ENABLE_MEMKIND) - SET(KOKKOS_ENABLE_HBWSPACE) - LIST(APPEND KOKKOS_MEMSPACE_LIST HBWSpace) -ENDIF() diff --git a/lib/kokkos/cmake/kokkos_tribits.cmake b/lib/kokkos/cmake/kokkos_tribits.cmake index b30ca70ab9..060a7a8472 100644 --- a/lib/kokkos/cmake/kokkos_tribits.cmake +++ b/lib/kokkos/cmake/kokkos_tribits.cmake @@ -237,18 +237,10 @@ ENDMACRO() ## KOKKOS_DECLARE is the declaration set ## KOKKOS_POST_INCLUDE is included at the end of Kokkos_Core.hpp MACRO(KOKKOS_CONFIGURE_CORE) - SET(FWD_BACKEND_LIST) - FOREACH(MEMSPACE ${KOKKOS_MEMSPACE_LIST}) - LIST(APPEND FWD_BACKEND_LIST ${MEMSPACE}) - ENDFOREACH() - FOREACH(BACKEND_ ${KOKKOS_ENABLED_DEVICES}) - LIST(APPEND FWD_BACKEND_LIST ${BACKEND_}) - ENDFOREACH() - MESSAGE(STATUS "Kokkos Devices: ${KOKKOS_ENABLED_DEVICES}, Kokkos Backends: ${FWD_BACKEND_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_FwdBackend.hpp "KOKKOS_FWD" "fwd/Kokkos_Fwd" "${FWD_BACKEND_LIST}") + MESSAGE(STATUS "Kokkos Backends: ${KOKKOS_ENABLED_DEVICES}") + KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_FwdBackend.hpp "KOKKOS_FWD" "fwd/Kokkos_Fwd" "${KOKKOS_ENABLED_DEVICES}") KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_SetupBackend.hpp "KOKKOS_SETUP" "setup/Kokkos_Setup" "${DEVICE_SETUP_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_DeclareBackend.hpp "KOKKOS_DECLARE" "decl/Kokkos_Declare" "${FWD_BACKEND_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_PostInclude.hpp "KOKKOS_POST_INCLUDE" "Kokkos_Post_Include" "${KOKKOS_BACKEND_POST_INCLUDE_LIST}") + KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_DeclareBackend.hpp "KOKKOS_DECLARE" "decl/Kokkos_Declare" "${KOKKOS_ENABLED_DEVICES}") SET(_DEFAULT_HOST_MEMSPACE "::Kokkos::HostSpace") KOKKOS_OPTION(DEFAULT_DEVICE_MEMORY_SPACE "" STRING "Override default device memory space") KOKKOS_OPTION(DEFAULT_HOST_MEMORY_SPACE "" STRING "Override default host memory space") @@ -309,7 +301,6 @@ MACRO(KOKKOS_INSTALL_ADDITIONAL_FILES) "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_FwdBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_SetupBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_DeclareBackend.hpp" - "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_PostInclude.hpp" DESTINATION ${KOKKOS_HEADER_DIR}) ENDMACRO() diff --git a/lib/kokkos/config/test_all_sandia b/lib/kokkos/config/test_all_sandia deleted file mode 100755 index 193a162a4e..0000000000 --- a/lib/kokkos/config/test_all_sandia +++ /dev/null @@ -1,773 +0,0 @@ -#!/bin/bash -e - -# -# Global config -# - -set -o pipefail - -# Determine current machine. - -MACHINE="" -HOSTNAME=$(hostname) -PROCESSOR=`uname -p` - -if [[ "$HOSTNAME" =~ (white|ride).* ]]; then - MACHINE=white - module load git -fi - -if [[ "$HOSTNAME" =~ .*bowman.* ]]; then - MACHINE=bowman - module load git -fi - -if [[ "$HOSTNAME" == n* ]]; then # Warning: very generic name - if [[ "$PROCESSOR" = "aarch64" ]]; then - MACHINE=sullivan - module load git - fi -fi - -if [[ "$HOSTNAME" == node* ]]; then # Warning: very generic name - if [[ "$MACHINE" = "" ]]; then - MACHINE=shepard - module load git - fi -fi - -if [[ "$HOSTNAME" == apollo\.* ]]; then - MACHINE=apollo - module load git -fi - -if [[ "$HOSTNAME" == sullivan ]]; then - MACHINE=sullivan - module load git -fi - -if [[ "$HOSTNAME" == mayer\.* ]]; then - MACHINE=mayer -# module load git -fi -if [[ "$HOSTNAME" == cn* ]]; then # Warning: very generic name - MACHINE=mayer -fi - -if [ ! -z "$SEMS_MODULEFILES_ROOT" ]; then - if [[ "$MACHINE" = "" ]]; then - MACHINE=sems - module load sems-git - fi -fi - -if [[ "$MACHINE" = "" ]]; then - echo "Unrecognized machine" >&2 - exit 1 -fi - -echo "Running on machine: $MACHINE" - -GCC_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" -IBM_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" -ARM_GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" -INTEL_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" -CLANG_BUILD_LIST="Pthread,Serial,Pthread_Serial" -CUDA_BUILD_LIST="Cuda_OpenMP,Cuda_Pthread,Cuda_Serial" -CUDA_IBM_BUILD_LIST="Cuda_OpenMP,Cuda_Serial" - -GCC_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wignored-qualifiers,-Wempty-body,-Wclobbered,-Wuninitialized" -IBM_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CLANG_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -INTEL_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -#CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Wsign-compare,-Wtype-limits,-Wuninitialized" -PGI_WARNING_FLAGS="" - -# Default. Machine specific can override. -DEBUG=False -ARGS="" -CUSTOM_BUILD_LIST="" -DRYRUN=False -BUILD_ONLY=False -declare -i NUM_JOBS_TO_RUN_IN_PARALLEL=1 -TEST_SCRIPT=False -SKIP_HWLOC=False -SPOT_CHECK=False - -PRINT_HELP=False -OPT_FLAG="" -CXX_FLAGS_EXTRA="" -LD_FLAGS_EXTRA="" -KOKKOS_OPTIONS="" - -# -# Handle arguments. -# - -while [[ $# > 0 ]] -do - key="$1" - - case $key in - --kokkos-path*) - KOKKOS_PATH="${key#*=}" - ;; - --build-list*) - CUSTOM_BUILD_LIST="${key#*=}" - ;; - --debug*) - DEBUG=True - ;; - --build-only*) - BUILD_ONLY=True - ;; - --test-script*) - TEST_SCRIPT=True - ;; - --skip-hwloc*) - SKIP_HWLOC=True - ;; - --num*) - NUM_JOBS_TO_RUN_IN_PARALLEL="${key#*=}" - ;; - --dry-run*) - DRYRUN=True - ;; - --spot-check*) - SPOT_CHECK=True - ;; - --arch*) - ARCH_FLAG="--arch=${key#*=}" - ;; - --opt-flag*) - OPT_FLAG="${key#*=}" - ;; - --with-cuda-options*) - KOKKOS_CUDA_OPTIONS="--with-cuda-options=${key#*=}" - ;; - --with-options*) - KOKKOS_OPTIONS="--with-options=enable_large_mem_tests,${key#*=}" - ;; - --cxxflags-extra*) - CXX_FLAGS_EXTRA="${key#*=}" - ;; - --ldflags-extra*) - LD_FLAGS_EXTRA="${key#*=}" - ;; - --help*) - PRINT_HELP=True - ;; - *) - # args, just append - ARGS="$ARGS $1" - ;; - esac - - shift -done - -SCRIPT_KOKKOS_ROOT=$( cd "$( dirname "$0" )" && cd .. && pwd ) - -# Set kokkos path. -if [ -z "$KOKKOS_PATH" ]; then - KOKKOS_PATH=$SCRIPT_KOKKOS_ROOT -else - # Ensure KOKKOS_PATH is abs path. - KOKKOS_PATH=$( cd $KOKKOS_PATH && pwd ) -fi - -UNCOMMITTED=`cd ${KOKKOS_PATH}; git status --porcelain 2>/dev/null` -if ! [ -z "$UNCOMMITTED" ]; then - echo "WARNING!! THE FOLLOWING CHANGES ARE UNCOMMITTED!! :" - echo "$UNCOMMITTED" - echo "" -fi - -GITSTATUS=`cd ${KOKKOS_PATH}; git log -n 1 --format=oneline` -echo "Repository Status: " ${GITSTATUS} -echo "" -echo "" - -# -# Machine specific config. -# - -if [ "$MACHINE" = "sems" ]; then - source /projects/sems/modulefiles/utils/sems-modules-init.sh - - BASE_MODULE_LIST="sems-env,kokkos-env,kokkos-hwloc/1.10.1/base,sems-/" - CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" - CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="" - fi - - if [ "$SPOT_CHECK" = "True" ]; then - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/5.3.0 $BASE_MODULE_LIST "OpenMP" g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" - "intel/17.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - else - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "intel/15.0.2 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.3 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.7.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.8.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "cuda/7.0.28 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/7.5.18 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - fi -elif [ "$MACHINE" = "white" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/" - IBM_MODULE_LIST="/xl/" - CUDA_MODULE_LIST="/,gcc/6.4.0,ibm/xl/16.1.0" - - # Don't do pthread on white. - GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/5.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "ibm/16.1.0 $IBM_MODULE_LIST $IBM_BUILD_LIST xlC $IBM_WARNING_FLAGS" - "cuda/9.0.103 $CUDA_MODULE_LIST $CUDA_IBM_BUILD_LIST ${KOKKOS_PATH}/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=Power8,Kepler37" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "bowman" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/compilers/" - - OLD_INTEL_BUILD_LIST="Pthread,Serial,Pthread_Serial" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("intel/16.4.258 $BASE_MODULE_LIST $OLD_INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/17.2.174 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/18.0.128 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=KNL" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "sullivan" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=96 - - BASE_MODULE_LIST="/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/6.1.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS") - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=ARMv8-ThunderX" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "mayer" ]; then - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=96 - - BASE_MODULE_LIST="/" - ARM_MODULE_LIST="/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/7.2.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "arm/1.4.0 $ARM_MODULE_LIST $ARM_GCC_BUILD_LIST armclang++ $CLANG_WARNING_FLAGS") - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=ARMv8-TX2" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "shepard" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/" - BASE_MODULE_LIST_INTEL="/compilers/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("intel/17.4.196 $BASE_MODULE_LIST_INTEL $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/18.0.128 $BASE_MODULE_LIST_INTEL $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "pgi/17.10.0 $BASE_MODULE_LIST $GCC_BUILD_LIST pgc++ $PGI_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=HSW" - fi - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "apollo" ]; then - source /projects/sems/modulefiles/utils/sems-modules-init.sh - module use /home/projects/modulefiles/local/x86-64 - module load kokkos-env - - module load sems-git - module load sems-tex - module load sems-cmake/3.5.2 - module load sems-gdb - - SKIP_HWLOC=True - - BASE_MODULE_LIST="sems-env,kokkos-env,sems-/,kokkos-hwloc/1.10.1/base" - CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" - CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - - CLANG_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,cuda/9.0.69" - NVCC_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,sems-gcc/5.3.0" - - BUILD_LIST_CUDA_NVCC="Cuda_Serial,Cuda_OpenMP" - BUILD_LIST_CUDA_CLANG="Cuda_Serial,Cuda_Pthread" - BUILD_LIST_CLANG="Serial,Pthread,OpenMP" - - if [ "$SPOT_CHECK" = "True" ]; then - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST "OpenMP,Pthread" g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "clang/6.0 $CLANG_MODULE_LIST "Cuda_Pthread,OpenMP" clang++ $CUDA_WARNING_FLAGS" - "cuda/9.1 $CUDA_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - else - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("cuda/9.1 $CUDA8_MODULE_LIST $BUILD_LIST_CUDA_NVCC $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "clang/6.0 $CLANG_MODULE_LIST $BUILD_LIST_CUDA_CLANG clang++ $CUDA_WARNING_FLAGS" - "clang/3.9.0 $CLANG_MODULE_LIST $BUILD_LIST_CLANG clang++ $CLANG_WARNING_FLAGS" - "gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "intel/15.0.2 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/17.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "clang/3.5.2 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - ) - fi - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=SNB,Volta70" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -else - echo "Unhandled machine $MACHINE" >&2 - exit 1 -fi - -export OMP_NUM_THREADS=4 - -declare -i NUM_RESULTS_TO_KEEP=7 - -RESULT_ROOT_PREFIX=TestAll - -if [ "$PRINT_HELP" = "True" ]; then - echo "test_all_sandia :" - echo "--kokkos-path=/Path/To/Kokkos: Path to the Kokkos root directory" - echo " Defaults to root repo containing this script" - echo "--debug: Run tests in debug. Defaults to False" - echo "--test-script: Test this script, not Kokkos" - echo "--skip-hwloc: Do not do hwloc tests" - echo "--num=N: Number of jobs to run in parallel" - echo "--spot-check: Minimal test set to issue pull request" - echo "--dry-run: Just print what would be executed" - echo "--build-only: Just do builds, don't run anything" - echo "--opt-flag=FLAG: Optimization flag (default: -O3)" - echo "--cxxflags-extra=FLAGS: Extra flags to be added to CXX_FLAGS" - echo "--ldflags-extra=FLAGS: Extra flags to be added to LD_FLAGS" - echo "--arch=ARCHITECTURE: overwrite architecture flags" - echo "--with-cuda-options=OPT: set KOKKOS_CUDA_OPTIONS" - echo "--build-list=BUILD,BUILD,BUILD..." - echo " Provide a comma-separated list of builds instead of running all builds" - echo " Valid items:" - echo " OpenMP, Pthread, Serial, OpenMP_Serial, Pthread_Serial" - echo " Cuda_OpenMP, Cuda_Pthread, Cuda_Serial" - echo "" - - echo "ARGS: list of expressions matching compilers to test" - echo " supported compilers sems" - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - COMPILER=${ARR[0]} - echo " $COMPILER" - done - echo "" - - echo "Examples:" - echo " Run all tests" - echo " % test_all_sandia" - echo "" - echo " Run all gcc tests" - echo " % test_all_sandia gcc" - echo "" - echo " Run all gcc/4.8.4 and all intel tests" - echo " % test_all_sandia gcc/4.8.4 intel" - echo "" - echo " Run all tests in debug" - echo " % test_all_sandia --debug" - echo "" - echo " Run gcc/4.8.4 and only do OpenMP and OpenMP_Serial builds" - echo " % test_all_sandia gcc/4.8.4 --build-list=OpenMP,OpenMP_Serial" - echo "" - echo "If you want to kill the tests, do:" - echo " hit ctrl-z" - echo " % kill -9 %1" - echo - exit 0 -fi - -# Set build type. -if [ "$DEBUG" = "True" ]; then - BUILD_TYPE=debug -else - BUILD_TYPE=release -fi - -# If no args provided, do all compilers. -if [ -z "$ARGS" ]; then - ARGS='?' -fi - -# Process args to figure out which compilers to test. -COMPILERS_TO_TEST="" - -for ARG in $ARGS; do - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - COMPILER=${ARR[0]} - - if [[ "$COMPILER" = $ARG* ]]; then - if [[ "$COMPILERS_TO_TEST" != *${COMPILER}* ]]; then - COMPILERS_TO_TEST="$COMPILERS_TO_TEST $COMPILER" - else - echo "Tried to add $COMPILER twice" - fi - fi - done -done - -# -# Functions. -# - -# get_compiler_name -get_compiler_name() { - echo $1 | cut -d/ -f1 -} - -# get_compiler_version -get_compiler_version() { - echo $1 | cut -d/ -f2 -} - -# Do not call directly. -get_compiler_data() { - local compiler=$1 - local item=$2 - local compiler_name=$(get_compiler_name $compiler) - local compiler_vers=$(get_compiler_version $compiler) - - local compiler_data - for compiler_data in "${COMPILERS[@]}" ; do - local arr=($compiler_data) - - if [ "$compiler" = "${arr[0]}" ]; then - echo "${arr[$item]}" | tr , ' ' | sed -e "s//$compiler_name/g" -e "s//$compiler_vers/g" - return 0 - fi - done - - # Not found. - echo "Unreconized compiler $compiler" >&2 - exit 1 -} - -# -# For all getters, usage: -# - -get_compiler_modules() { - get_compiler_data $1 1 -} - -get_compiler_build_list() { - get_compiler_data $1 2 -} - -get_compiler_exe_name() { - get_compiler_data $1 3 -} - -get_compiler_warning_flags() { - get_compiler_data $1 4 -} - -run_cmd() { - echo "RUNNING: $*" - if [ "$DRYRUN" != "True" ]; then - eval "$* 2>&1" - fi -} - -# report_and_log_test_results -report_and_log_test_result() { - # Use sane var names. - local success=$1; local desc=$2; local comment=$3; - - if [ "$success" = "0" ]; then - echo " PASSED $desc" - echo $comment > $PASSED_DIR/$desc - else - # For failures, comment should be the name of the phase that failed. - echo " FAILED $desc" >&2 - echo $comment > $FAILED_DIR/$desc - cat ${desc}.${comment}.log - fi -} - -setup_env() { - local compiler=$1 - local compiler_modules=$(get_compiler_modules $compiler) - - module purge - - local mod - for mod in $compiler_modules; do - echo "Loading module $mod" - module load $mod 2>&1 - # It is ridiculously hard to check for the success of a loaded - # module. Module does not return error codes and piping to grep - # causes module to run in a subshell. - module list 2>&1 | grep "$mod" >& /dev/null || return 1 - done - - return 0 -} - -# single_build_and_test -single_build_and_test() { - # Use sane var names. - local compiler=$1; local build=$2; local build_type=$3; - - # Set up env. - mkdir -p $ROOT_DIR/$compiler/"${build}-$build_type" - cd $ROOT_DIR/$compiler/"${build}-$build_type" - local desc=$(echo "${compiler}-${build}-${build_type}" | sed 's:/:-:g') - setup_env $compiler >& ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } - - # Set up flags. - local compiler_warning_flags=$(get_compiler_warning_flags $compiler) - local compiler_exe=$(get_compiler_exe_name $compiler) - - if [[ "$build_type" = hwloc* ]]; then - local extra_args=--with-hwloc=$(dirname $(dirname $(which hwloc-info))) - fi - - if [[ "$OPT_FLAG" = "" ]]; then - OPT_FLAG="-O3" - fi - - if [[ "$build_type" = *debug* ]]; then - local extra_args="$extra_args --debug" - local cxxflags="-g $compiler_warning_flags" - local ldflags="-g" - else - local cxxflags="$OPT_FLAG $compiler_warning_flags" - local ldflags="${OPT_FLAG}" - fi - - local cxxflags="${cxxflags} ${CXX_FLAGS_EXTRA}" - local ldflags="${ldflags} ${LD_FLAGS_EXTRA}" - - if [[ "$KOKKOS_CUDA_OPTIONS" != "" ]]; then - local extra_args="$extra_args $KOKKOS_CUDA_OPTIONS" - fi - if [[ "$KOKKOS_OPTIONS" != "" ]]; then - local extra_args="$extra_args $KOKKOS_OPTIONS" - else - local extra_args="$extra_args --with-options=enable_large_mem_tests" - fi - - echo " Starting job $desc" - - local comment="no_comment" - - if [ "$TEST_SCRIPT" = "True" ]; then - local rand=$[ 1 + $[ RANDOM % 10 ]] - sleep $rand - - if [ $rand -gt 5 ]; then - run_cmd ls fake_problem >& ${desc}.configure.log || { report_and_log_test_result 1 $desc configure && return 0; } - fi - else - run_cmd ${KOKKOS_PATH}/generate_makefile.bash --with-devices=$build $ARCH_FLAG --compiler=$(which $compiler_exe) --cxxflags=\"$cxxflags\" --ldflags=\"$ldflags\" $extra_args &>> ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } - local -i build_start_time=$(date +%s) - run_cmd make -j 48 build-test >& ${desc}.build.log || { report_and_log_test_result 1 ${desc} build && return 0; } - local -i build_end_time=$(date +%s) - comment="build_time=$(($build_end_time-$build_start_time))" - - if [[ "$BUILD_ONLY" == False ]]; then - run_cmd make test >& ${desc}.test.log || { report_and_log_test_result 1 ${desc} test && return 0; } - local -i run_end_time=$(date +%s) - comment="$comment run_time=$(($run_end_time-$build_end_time))" - fi - fi - - report_and_log_test_result 0 $desc "$comment" - - return 0 -} - -# wait_for_jobs -wait_for_jobs() { - local -i max_jobs=$1 - local -i num_active_jobs=$(jobs | wc -l) - while [ $num_active_jobs -ge $max_jobs ] - do - sleep 1 - num_active_jobs=$(jobs | wc -l) - jobs >& /dev/null - done -} - -# run_in_background -run_in_background() { - local compiler=$1 - - local -i num_jobs=$NUM_JOBS_TO_RUN_IN_PARALLEL - # Don't override command line input. - # if [[ "$BUILD_ONLY" == True ]]; then - # num_jobs=8 - # else - if [[ "$compiler" == cuda* ]]; then - num_jobs=1 - fi - if [[ "$compiler" == clang ]]; then - num_jobs=1 - fi - # fi - wait_for_jobs $num_jobs - - single_build_and_test $* & -} - -# build_and_test_all -build_and_test_all() { - # Get compiler data. - local compiler=$1 - if [ -z "$CUSTOM_BUILD_LIST" ]; then - local compiler_build_list=$(get_compiler_build_list $compiler) - else - local compiler_build_list=$(echo "$CUSTOM_BUILD_LIST" | tr , ' ') - fi - - # Do builds. - local build - for build in $compiler_build_list - do - run_in_background $compiler $build $BUILD_TYPE - - # If not cuda, do a hwloc test too. - if [[ "$compiler" != cuda* && "$SKIP_HWLOC" == False ]]; then - run_in_background $compiler $build "hwloc-$BUILD_TYPE" - fi - done - - return 0 -} - -get_test_root_dir() { - local existing_results=$(find . -maxdepth 1 -name "$RESULT_ROOT_PREFIX*" | sort) - local -i num_existing_results=$(echo $existing_results | tr ' ' '\n' | wc -l) - local -i num_to_delete=${num_existing_results}-${NUM_RESULTS_TO_KEEP} - - if [ $num_to_delete -gt 0 ]; then - /bin/rm -rf $(echo $existing_results | tr ' ' '\n' | head -n $num_to_delete) - fi - - echo $(pwd)/${RESULT_ROOT_PREFIX}_$(date +"%Y-%m-%d_%H.%M.%S") -} - -wait_summarize_and_exit() { - wait_for_jobs 1 - - echo "#######################################################" - echo "PASSED TESTS" - echo "#######################################################" - - local passed_test - for passed_test in $(\ls -1 $PASSED_DIR | sort) - do - echo $passed_test $(cat $PASSED_DIR/$passed_test) - done - - local -i rv=0 - if [ "$(ls -A $FAILED_DIR)" ]; then - echo "#######################################################" - echo "FAILED TESTS" - echo "#######################################################" - - local failed_test - for failed_test in $(\ls -1 $FAILED_DIR | sort) - do - echo $failed_test "("$(cat $FAILED_DIR/$failed_test)" failed)" - rv=$rv+1 - done - fi - - exit $rv -} - -# -# Main. -# - -ROOT_DIR=$(get_test_root_dir) -mkdir -p $ROOT_DIR -cd $ROOT_DIR - -PASSED_DIR=$ROOT_DIR/results/passed -FAILED_DIR=$ROOT_DIR/results/failed -mkdir -p $PASSED_DIR -mkdir -p $FAILED_DIR - -echo "Going to test compilers: " $COMPILERS_TO_TEST -for COMPILER in $COMPILERS_TO_TEST; do - echo "Testing compiler $COMPILER" - build_and_test_all $COMPILER -done - -wait_summarize_and_exit diff --git a/lib/kokkos/config/yaml/volta.yaml b/lib/kokkos/config/yaml/volta.yaml deleted file mode 100644 index f67af9c2a4..0000000000 --- a/lib/kokkos/config/yaml/volta.yaml +++ /dev/null @@ -1,4 +0,0 @@ -packages: - kokkos: - variants: +cuda +openmp +volta70 +cuda_lambda +wrapper ^cuda@10.1 - compiler: [gcc@7.2.0] diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index cd5ca4ea51..f50ab0a0f7 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -28,24 +28,6 @@ namespace Kokkos { -namespace Impl { -//! Either append to the label if the property already exists, or set it. -template -auto with_updated_label(const ViewCtorProp& view_ctor_prop, - const std::string& label) { - using vcp_t = ViewCtorProp; - //! If the label property is already set, append. Otherwise, set label. - if constexpr (vcp_t::has_label) { - vcp_t new_ctor_props(view_ctor_prop); - static_cast&>(new_ctor_props) - .value.append(label); - return new_ctor_props; - } else { - return Impl::with_properties_if_unset(view_ctor_prop, label); - } -} -} // namespace Impl - template class Bitset; @@ -92,9 +74,10 @@ class Bitset { using block_view_type = View>; public: - /// constructor + Bitset() = default; + /// arg_size := number of bit in set - Bitset(unsigned arg_size = 0u) : Bitset(Kokkos::view_alloc(), arg_size) {} + Bitset(unsigned arg_size) : Bitset(Kokkos::view_alloc(), arg_size) {} template Bitset(const Impl::ViewCtorProp& arg_prop, unsigned arg_size) @@ -108,9 +91,8 @@ class Bitset { "Allocation properties should not contain the 'pointer' property."); //! Update 'label' property and allocate. - const auto prop_copy = Kokkos::Impl::with_updated_label( - Impl::with_properties_if_unset(arg_prop, std::string("Bitset")), - " - blocks"); + const auto prop_copy = + Impl::with_properties_if_unset(arg_prop, std::string("Bitset")); m_blocks = block_view_type(prop_copy, ((m_size + block_mask) >> block_shift)); @@ -310,8 +292,8 @@ class Bitset { } private: - unsigned m_size; - unsigned m_last_block_mask; + unsigned m_size = 0; + unsigned m_last_block_mask = 0; block_view_type m_blocks; private: diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index 84bced2cc4..e821570a8d 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -292,15 +292,6 @@ class DualView : public ViewTraits { d_view(src.d_view), h_view(src.h_view) {} - //! Copy assignment operator (shallow copy assignment) - template - DualView& operator=(const DualView& src) { - modified_flags = src.modified_flags; - d_view = src.d_view; - h_view = src.h_view; - return *this; - } - //! Subview constructor template DualView(const DualView& src, const Arg0& arg0, Args... args) diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index 52aa86d8ee..5fa59f1b7c 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -1340,7 +1340,7 @@ class ViewMapping< template struct apply { - static_assert(Kokkos::is_memory_traits::value, ""); + static_assert(Kokkos::is_memory_traits::value); using traits_type = Kokkos::ViewTraits::type, Args...>( - v.data(), v.impl_map().layout()); + auto layout = v.impl_map().layout(); + + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + for (int i = N; i < 7; ++i) + layout.dimension[i] = KOKKOS_IMPL_CTOR_DEFAULT_ARG; + } + + return View::type, Args...>(v.data(), layout); } template diff --git a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp index 92aead2878..91a7e4a927 100644 --- a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp +++ b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp @@ -124,15 +124,8 @@ KOKKOS_INLINE_FUNCTION void offsetview_verify_operator_bounds( args...); Kokkos::Impl::throw_runtime_exception(std::string(buffer));)) - KOKKOS_IF_ON_DEVICE(( - /* Check #1: is there a SharedAllocationRecord? - (we won't use it, but if it is not there then there isn't - a corresponding SharedAllocationHeader containing a label). - This check should cover the case of Views that don't - have the Unmanaged trait but were initialized by pointer. */ - if (tracker.has_record()) { - Kokkos::Impl::operator_bounds_error_on_device(map); - } else { Kokkos::abort("OffsetView bounds error"); })) + KOKKOS_IF_ON_DEVICE( + (Kokkos::abort("OffsetView bounds error"); (void)tracker;)) } } diff --git a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp index e001c062de..78a6a238ec 100644 --- a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp +++ b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp @@ -243,16 +243,16 @@ class UnorderedMap { using const_map_type = UnorderedMap; - static const bool is_set = std::is_void::value; - static const bool has_const_key = - std::is_same::value; - static const bool has_const_value = - is_set || std::is_same::value; + static constexpr bool is_set = std::is_void_v; + static constexpr bool has_const_key = + std::is_same_v; + static constexpr bool has_const_value = + is_set || std::is_same_v; - static const bool is_insertable_map = + static constexpr bool is_insertable_map = !has_const_key && (is_set || !has_const_value); - static const bool is_modifiable_map = has_const_key && !has_const_value; - static const bool is_const_map = has_const_key && has_const_value; + static constexpr bool is_modifiable_map = has_const_key && !has_const_value; + static constexpr bool is_const_map = has_const_key && has_const_value; using insert_result = UnorderedMapInsertResult; @@ -337,27 +337,27 @@ class UnorderedMap { Impl::get_property(prop_copy) + " - size")); m_available_indexes = - bitset_type(Kokkos::Impl::with_updated_label(prop_copy, " - bitset"), + bitset_type(Kokkos::Impl::append_to_label(prop_copy, " - bitset"), calculate_capacity(capacity_hint)); m_hash_lists = size_type_view( - Kokkos::Impl::with_updated_label(prop_copy_noinit, " - hash list"), + Kokkos::Impl::append_to_label(prop_copy_noinit, " - hash list"), Impl::find_hash_size(capacity())); m_next_index = size_type_view( - Kokkos::Impl::with_updated_label(prop_copy_noinit, " - next index"), + Kokkos::Impl::append_to_label(prop_copy_noinit, " - next index"), capacity() + 1); // +1 so that the *_at functions can always return a // valid reference - m_keys = key_type_view( - Kokkos::Impl::with_updated_label(prop_copy, " - keys"), capacity()); + m_keys = key_type_view(Kokkos::Impl::append_to_label(prop_copy, " - keys"), + capacity()); - m_values = value_type_view( - Kokkos::Impl::with_updated_label(prop_copy, " - values"), - is_set ? 0 : capacity()); + m_values = + value_type_view(Kokkos::Impl::append_to_label(prop_copy, " - values"), + is_set ? 0 : capacity()); m_scalars = - scalars_view(Kokkos::Impl::with_updated_label(prop_copy, " - scalars")); + scalars_view(Kokkos::Impl::append_to_label(prop_copy, " - scalars")); /** * Deep copies should also be done using the space instance if given. diff --git a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp index 8f8cd9523b..a979ee40d8 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp @@ -27,6 +27,18 @@ namespace Kokkos { namespace Impl { +//! Append to the label contained in view_ctor_prop. +template +auto append_to_label(const ViewCtorProp& view_ctor_prop, + const std::string& label) { + using vcp_t = ViewCtorProp; + static_assert(vcp_t::has_label); + vcp_t new_ctor_props(view_ctor_prop); + static_cast&>(new_ctor_props) + .value.append(label); + return new_ctor_props; +} + uint32_t find_hash_size(uint32_t size); template diff --git a/lib/kokkos/containers/unit_tests/Makefile b/lib/kokkos/containers/unit_tests/Makefile index 2e35832cc8..18410882bc 100644 --- a/lib/kokkos/containers/unit_tests/Makefile +++ b/lib/kokkos/containers/unit_tests/Makefile @@ -35,8 +35,8 @@ TESTS = Bitset DualView DynamicView DynViewAPI_generic DynViewAPI_rank12345 DynV tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ tmp2 := $(foreach test, $(TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include" > Test$(device)_$(test).cpp); \ - $(shell echo "\#include" >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include" > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include" >> Test$(device)_$(test).cpp); \ )\ ) \ ) diff --git a/lib/kokkos/containers/unit_tests/TestBitset.hpp b/lib/kokkos/containers/unit_tests/TestBitset.hpp index 3ad0d2bf57..9923453f72 100644 --- a/lib/kokkos/containers/unit_tests/TestBitset.hpp +++ b/lib/kokkos/containers/unit_tests/TestBitset.hpp @@ -23,6 +23,8 @@ #include #include +#include <../../core/unit_test/tools/include/ToolTestingUtilities.hpp> + namespace Test { namespace Impl { @@ -155,7 +157,7 @@ void test_bitset() { { unsigned ts = 100u; - bitset_type b1; + bitset_type b1(Kokkos::view_alloc("MyBitset"), 0); ASSERT_TRUE(b1.is_allocated()); b1 = bitset_type(ts); @@ -165,6 +167,9 @@ void test_bitset() { ASSERT_TRUE(b1.is_allocated()); ASSERT_TRUE(b2.is_allocated()); ASSERT_TRUE(b3.is_allocated()); + + bitset_type b4; + ASSERT_FALSE(b4.is_allocated()); } std::array test_sizes = { @@ -237,6 +242,24 @@ void test_bitset() { } TEST(TEST_CATEGORY, bitset) { test_bitset(); } + +TEST(TEST_CATEGORY, bitset_default_constructor_no_alloc) { + using namespace Kokkos::Test::Tools; + listen_tool_events(Config::DisableAll(), Config::EnableAllocs()); + + auto success = validate_absence( + [&]() { + Kokkos::Bitset bs; + EXPECT_FALSE(bs.is_allocated()); + }, + [&](AllocateDataEvent) { + return MatchDiagnostic{true, {"Found alloc event"}}; + }); + ASSERT_TRUE(success); + + listen_tool_events(Config::DisableAll()); +} + } // namespace Test #endif // KOKKOS_TEST_BITSET_HPP diff --git a/lib/kokkos/core/perf_test/CMakeLists.txt b/lib/kokkos/core/perf_test/CMakeLists.txt index 7f3916da31..e0dba03e1e 100644 --- a/lib/kokkos/core/perf_test/CMakeLists.txt +++ b/lib/kokkos/core/perf_test/CMakeLists.txt @@ -50,8 +50,8 @@ ELSE() FetchContent_Declare( googlebenchmark DOWNLOAD_EXTRACT_TIMESTAMP FALSE - URL https://github.com/google/benchmark/archive/refs/tags/v1.6.2.tar.gz - URL_HASH MD5=14d14849e075af116143a161bc3b927b + URL https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz + URL_HASH MD5=0459a6c530df9851bee6504c3e37c2e7 ) FetchContent_MakeAvailable(googlebenchmark) list(POP_BACK CMAKE_MESSAGE_INDENT) diff --git a/lib/kokkos/core/src/CMakeLists.txt b/lib/kokkos/core/src/CMakeLists.txt index 012af0a7d0..b84677e61b 100644 --- a/lib/kokkos/core/src/CMakeLists.txt +++ b/lib/kokkos/core/src/CMakeLists.txt @@ -18,10 +18,16 @@ IF (NOT desul_FOUND) ENDIF() IF(KOKKOS_ENABLE_SYCL) SET(DESUL_ATOMICS_ENABLE_SYCL ON) + IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED AND NOT KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + SET(DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION ON) + ENDIF() ENDIF() IF(KOKKOS_ENABLE_OPENMPTARGET) SET(DESUL_ATOMICS_ENABLE_OPENMP ON) # not a typo Kokkos OpenMPTarget -> Desul OpenMP ENDIF() + IF(KOKKOS_ENABLE_OPENACC) + SET(DESUL_ATOMICS_ENABLE_OPENACC ON) + ENDIF() CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/../../tpls/desul/Config.hpp.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/desul/atomics/Config.hpp @@ -80,10 +86,6 @@ IF (KOKKOS_ENABLE_HPX) APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/HPX/*.hpp) ENDIF() -IF (NOT KOKKOS_ENABLE_MEMKIND) - LIST(REMOVE_ITEM KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/Kokkos_HBWSpace.cpp) -ENDIF() - IF (KOKKOS_ENABLE_SERIAL) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.cpp) APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.hpp) @@ -180,20 +182,15 @@ IF (Kokkos_ENABLE_IMPL_MDSPAN) ENDIF() KOKKOS_LINK_TPL(kokkoscore PUBLIC HWLOC) -KOKKOS_LINK_TPL(kokkoscore PUBLIC MEMKIND) -IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) - KOKKOS_LINK_TPL(kokkoscore PUBLIC CUDA) -ENDIF() +KOKKOS_LINK_TPL(kokkoscore PUBLIC CUDA) KOKKOS_LINK_TPL(kokkoscore PUBLIC HPX) KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBDL) -KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBRT) # On *nix-like systems (Linux, macOS) we need pthread for C++ std::thread IF (NOT WIN32) KOKKOS_LINK_TPL(kokkoscore PUBLIC THREADS) ENDIF() IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) KOKKOS_LINK_TPL(kokkoscore PUBLIC ROCM) - KOKKOS_LINK_TPL(kokkoscore PUBLIC ONEDPL) ENDIF() # FIXME: We need a proper solution to figure out whether to enable diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp index 8bfaf8317b..276d03da26 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp @@ -46,7 +46,6 @@ static_assert(false, namespace Kokkos { namespace Impl { -class CudaExec; class CudaInternal; } // namespace Impl } // namespace Kokkos @@ -129,33 +128,16 @@ class Cuda { /// \brief True if and only if this method is being called in a /// thread-parallel function. - KOKKOS_INLINE_FUNCTION static int in_parallel() { + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__CUDA_ARCH__) return true; #else return false; #endif } - - /** \brief Set the device in a "sleep" state. - * - * This function sets the device in a "sleep" state in which it is - * not ready for work. This may consume less resources than if the - * device were in an "awake" state, but it may also take time to - * bring the device from a sleep state to be ready for work. - * - * \return True if the device is in the "sleep" state, else false if - * the device is actively working and could not enter the "sleep" - * state. - */ - static bool sleep(); - - /// \brief Wake the device from the 'sleep' state so it is ready for work. - /// - /// \return True if the device is in the "ready" state, else "false" - /// if the device is actively working (which also means that it's - /// awake). - static bool wake(); +#endif /// \brief Wait until all dispatched functors complete. /// @@ -199,18 +181,37 @@ class Cuda { //! Initialize, telling the CUDA run-time library which device to use. static void impl_initialize(InitializationSettings const&); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 /// \brief Cuda device architecture of the selected device. /// /// This matches the __CUDA_ARCH__ specification. - static size_type device_arch(); + KOKKOS_DEPRECATED static size_type device_arch() { + const cudaDeviceProp& cudaProp = Cuda().cuda_device_prop(); + return cudaProp.major * 100 + cudaProp.minor; + } //! Query device count. - static size_type detect_device_count(); + KOKKOS_DEPRECATED static size_type detect_device_count() { + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + return count; + } /** \brief Detect the available devices and their architecture * as defined by the __CUDA_ARCH__ specification. */ - static std::vector detect_device_arch(); + KOKKOS_DEPRECATED static std::vector detect_device_arch() { + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + std::vector out; + for (int i = 0; i < count; ++i) { + cudaDeviceProp prop; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceProperties(&prop, i)); + out.push_back(prop.major * 100 + prop.minor); + } + return out; + } +#endif cudaStream_t cuda_stream() const; int cuda_device() const; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp index c6512f44da..0944937e1b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp @@ -33,7 +33,6 @@ //#include #include -#include #include @@ -83,11 +82,11 @@ void DeepCopyAsyncCuda(void *dst, const void *src, size_t n) { KOKKOS_IMPL_CUDA_SAFE_CALL( (CudaInternal::singleton().cuda_memcpy_async_wrapper( dst, src, n, cudaMemcpyDefault, s))); - Impl::cuda_stream_synchronize( - s, + Kokkos::Tools::Experimental::Impl::profile_fence_event( + "Kokkos::Impl::DeepCopyAsyncCuda: Deep Copy Stream Sync", Kokkos::Tools::Experimental::SpecialSynchronizationCases:: DeepCopyResourceSynchronization, - "Kokkos::Impl::DeepCopyAsyncCuda: Deep Copy Stream Sync"); + [&]() { KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamSynchronize(s)); }); } } // namespace Impl @@ -135,11 +134,23 @@ void kokkos_impl_cuda_set_pin_uvm_to_host(bool val) { namespace Kokkos { -CudaSpace::CudaSpace() : m_device(Kokkos::Cuda().cuda_device()) {} +CudaSpace::CudaSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaSpace::CudaSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} -CudaUVMSpace::CudaUVMSpace() : m_device(Kokkos::Cuda().cuda_device()) {} +CudaUVMSpace::CudaUVMSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaUVMSpace::CudaUVMSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} -CudaHostPinnedSpace::CudaHostPinnedSpace() {} +CudaHostPinnedSpace::CudaHostPinnedSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaHostPinnedSpace::CudaHostPinnedSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} size_t memory_threshold_g = 40000; // 40 kB @@ -161,52 +172,38 @@ void *CudaSpace::allocate(const char *arg_label, const size_t arg_alloc_size, } namespace { -void *impl_allocate_common(const Cuda &exec_space, const char *arg_label, - const size_t arg_alloc_size, +void *impl_allocate_common(const int device_id, + [[maybe_unused]] const cudaStream_t stream, + const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle, - bool exec_space_provided) { + [[maybe_unused]] bool stream_sync_only) { void *ptr = nullptr; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(device_id)); + cudaError_t error_code = cudaSuccess; #ifndef CUDART_VERSION #error CUDART_VERSION undefined! #elif (defined(KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC) && CUDART_VERSION >= 11020) - cudaError_t error_code; if (arg_alloc_size >= memory_threshold_g) { - if (exec_space_provided) { - error_code = - exec_space.impl_internal_space_instance()->cuda_malloc_async_wrapper( - &ptr, arg_alloc_size); - exec_space.fence("Kokkos::Cuda: backend fence after async malloc"); - } else { - error_code = Impl::CudaInternal::singleton().cuda_malloc_async_wrapper( - &ptr, arg_alloc_size); - Impl::cuda_device_synchronize( - "Kokkos::Cuda: backend fence after async malloc"); + error_code = cudaMallocAsync(&ptr, arg_alloc_size, stream); + + if (error_code == cudaSuccess) { + if (stream_sync_only) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamSynchronize(stream)); + } else { + Impl::cuda_device_synchronize( + "Kokkos::Cuda: backend fence after async malloc"); + } } - } else { - error_code = - (exec_space_provided - ? exec_space.impl_internal_space_instance()->cuda_malloc_wrapper( - &ptr, arg_alloc_size) - : Impl::CudaInternal::singleton().cuda_malloc_wrapper( - &ptr, arg_alloc_size)); - } -#else - cudaError_t error_code; - if (exec_space_provided) { - error_code = exec_space.impl_internal_space_instance()->cuda_malloc_wrapper( - &ptr, arg_alloc_size); - } else { - error_code = Impl::CudaInternal::singleton().cuda_malloc_wrapper( - &ptr, arg_alloc_size); - } + } else #endif + { error_code = cudaMalloc(&ptr, arg_alloc_size); } if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - exec_space.impl_internal_space_instance()->cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: @@ -226,7 +223,7 @@ void *CudaSpace::impl_allocate( const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle) const { - return impl_allocate_common(Kokkos::Cuda{}, arg_label, arg_alloc_size, + return impl_allocate_common(m_device, m_stream, arg_label, arg_alloc_size, arg_logical_size, arg_handle, false); } @@ -234,8 +231,9 @@ void *CudaSpace::impl_allocate( const Cuda &exec_space, const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle) const { - return impl_allocate_common(exec_space, arg_label, arg_alloc_size, - arg_logical_size, arg_handle, true); + return impl_allocate_common( + exec_space.cuda_device(), exec_space.cuda_stream(), arg_label, + arg_alloc_size, arg_logical_size, arg_handle, true); } void *CudaUVMSpace::allocate(const size_t arg_alloc_size) const { @@ -256,28 +254,27 @@ void *CudaUVMSpace::impl_allocate( if (arg_alloc_size > 0) { Kokkos::Impl::num_uvm_allocations++; - auto error_code = - Impl::CudaInternal::singleton().cuda_malloc_managed_wrapper( - &ptr, arg_alloc_size, cudaMemAttachGlobal); - -#ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST - if (Kokkos::CudaUVMSpace::cuda_pin_uvm_to_host()) - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_mem_advise_wrapper( - ptr, arg_alloc_size, cudaMemAdviseSetPreferredLocation, - cudaCpuDeviceId))); -#endif + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + cudaError_t error_code = + cudaMallocManaged(&ptr, arg_alloc_size, cudaMemAttachGlobal); if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - Impl::CudaInternal::singleton().cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: CudaMallocManaged); } + +#ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST + if (Kokkos::CudaUVMSpace::cuda_pin_uvm_to_host()) + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMemAdvise(ptr, arg_alloc_size, cudaMemAdviseSetPreferredLocation, + cudaCpuDeviceId)); +#endif } Cuda::impl_static_fence( "Kokkos::CudaUVMSpace::impl_allocate: Post UVM Allocation"); @@ -302,13 +299,14 @@ void *CudaHostPinnedSpace::impl_allocate( const Kokkos::Tools::SpaceHandle arg_handle) const { void *ptr = nullptr; - auto error_code = Impl::CudaInternal::singleton().cuda_host_alloc_wrapper( - &ptr, arg_alloc_size, cudaHostAllocDefault); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + cudaError_t error_code = + cudaHostAlloc(&ptr, arg_alloc_size, cudaHostAllocDefault); if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - Impl::CudaInternal::singleton().cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: @@ -350,18 +348,17 @@ void CudaSpace::impl_deallocate( if (arg_alloc_size >= memory_threshold_g) { Impl::cuda_device_synchronize( "Kokkos::Cuda: backend fence before async free"); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_async_wrapper( - arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFreeAsync(arg_alloc_ptr, m_stream)); Impl::cuda_device_synchronize( "Kokkos::Cuda: backend fence after async free"); } else { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } #else - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); #endif } catch (...) { } @@ -393,8 +390,8 @@ void CudaUVMSpace::impl_deallocate( try { if (arg_alloc_ptr != nullptr) { Kokkos::Impl::num_uvm_allocations--; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } } catch (...) { } @@ -424,8 +421,8 @@ void CudaHostPinnedSpace::impl_deallocate( reported_size); } try { - KOKKOS_IMPL_CUDA_SAFE_CALL(( - Impl::CudaInternal::singleton().cuda_free_host_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFreeHost(arg_alloc_ptr)); } catch (...) { } } @@ -438,160 +435,6 @@ void CudaHostPinnedSpace::impl_deallocate( namespace Kokkos { namespace Impl { -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -//============================================================================== -// {{{1 - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -void SharedAllocationRecord::deep_copy_header_no_exec( - void *ptr, const void *header) { - Kokkos::Cuda exec; - Kokkos::Impl::DeepCopy(exec, ptr, header, - sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -// end SharedAllocationRecord destructors }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::CudaSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Cuda exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::Cuda &arg_exec_space, const Kokkos::CudaSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_exec_space, arg_space, - arg_label, arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Impl::DeepCopy(arg_exec_space, - RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::CudaUVMSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::CudaHostPinnedSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -// end SharedAllocationRecord constructors }}}1 -//============================================================================== - void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, bool to_device) { if ((ptr == nullptr) || (bytes == 0)) return; @@ -620,19 +463,12 @@ void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class SharedAllocationRecordCommon; -template class HostInaccessibleSharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaUVMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaHostPinnedSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp index b8fa335cd3..0e20193e8b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp @@ -68,6 +68,11 @@ class CudaSpace { /*--------------------------------*/ CudaSpace(); + + private: + CudaSpace(int device_id, cudaStream_t stream); + + public: CudaSpace(CudaSpace&& rhs) = default; CudaSpace(const CudaSpace& rhs) = default; CudaSpace& operator=(CudaSpace&& rhs) = default; @@ -89,9 +94,11 @@ class CudaSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; + static CudaSpace impl_create(int device_id, cudaStream_t stream) { + return CudaSpace(device_id, stream); + } + private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const Cuda& exec_space, const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, @@ -112,10 +119,10 @@ class CudaSpace { static constexpr const char* name() { return m_name; } private: - int m_device; ///< Which Cuda device + int m_device; + cudaStream_t m_stream; static constexpr const char* m_name = "Cuda"; - friend class Kokkos::Impl::SharedAllocationRecord; }; template <> @@ -149,6 +156,11 @@ class CudaUVMSpace { /*--------------------------------*/ CudaUVMSpace(); + + private: + CudaUVMSpace(int device_id, cudaStream_t stream); + + public: CudaUVMSpace(CudaUVMSpace&& rhs) = default; CudaUVMSpace(const CudaUVMSpace& rhs) = default; CudaUVMSpace& operator=(CudaUVMSpace&& rhs) = default; @@ -156,6 +168,16 @@ class CudaUVMSpace { ~CudaUVMSpace() = default; /**\brief Allocate untracked memory in the cuda space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -167,8 +189,6 @@ class CudaUVMSpace { const size_t arg_logical_size = 0) const; private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -189,8 +209,13 @@ class CudaUVMSpace { #endif /*--------------------------------*/ + static CudaUVMSpace impl_create(int device_id, cudaStream_t stream) { + return CudaUVMSpace(device_id, stream); + } + private: - int m_device; ///< Which Cuda device + int m_device; + cudaStream_t m_stream; #ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST static bool kokkos_impl_cuda_pin_uvm_to_host_v; @@ -223,6 +248,11 @@ class CudaHostPinnedSpace { /*--------------------------------*/ CudaHostPinnedSpace(); + + private: + CudaHostPinnedSpace(int device_id, cudaStream_t stream); + + public: CudaHostPinnedSpace(CudaHostPinnedSpace&& rhs) = default; CudaHostPinnedSpace(const CudaHostPinnedSpace& rhs) = default; CudaHostPinnedSpace& operator=(CudaHostPinnedSpace&& rhs) = default; @@ -230,6 +260,16 @@ class CudaHostPinnedSpace { ~CudaHostPinnedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -240,9 +280,11 @@ class CudaHostPinnedSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; + static CudaHostPinnedSpace impl_create(int device_id, cudaStream_t stream) { + return CudaHostPinnedSpace(device_id, stream); + } + private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -258,6 +300,9 @@ class CudaHostPinnedSpace { static constexpr const char* name() { return m_name; } private: + int m_device; + cudaStream_t m_stream; + static constexpr const char* m_name = "CudaHostPinned"; /*--------------------------------*/ @@ -280,15 +325,12 @@ const std::unique_ptr& cuda_get_deep_copy_space( bool initialize = true); static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); -static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); +static_assert(Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaUVMSpace, Kokkos::CudaUVMSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); //---------------------------------------- @@ -516,179 +558,10 @@ struct DeepCopy -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon { - private: - friend class SharedAllocationRecord; - friend class SharedAllocationRecordCommon; - friend class HostInaccessibleSharedAllocationRecordCommon; - - using RecordBase = SharedAllocationRecord; - using base_t = - HostInaccessibleSharedAllocationRecordCommon; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const Kokkos::CudaSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - // workaround for issue with NVCC and MSVC - // https://github.com/kokkos/kokkos/issues/5258 - deep_copy_header_no_exec(RecordBase::m_alloc_ptr, &header); - } - - SharedAllocationRecord( - const Kokkos::Cuda& exec_space, const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::CudaSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - // helper function to work around MSVC+NVCC issue - // https://github.com/kokkos/kokkos/issues/5258 - static void deep_copy_header_no_exec(void*, const void*); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static RecordBase s_root_record; - - const Kokkos::CudaUVMSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - - using RecordBase = SharedAllocationRecord; - using base_t = SharedAllocationRecordCommon; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static RecordBase s_root_record; - - const Kokkos::CudaHostPinnedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::CudaSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::CudaUVMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::CudaHostPinnedSpace); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp index f68e05f780..c4458c910c 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp @@ -27,10 +27,6 @@ namespace Kokkos { namespace Impl { -void cuda_stream_synchronize( - const cudaStream_t stream, - Kokkos::Tools::Experimental::SpecialSynchronizationCases reason, - const std::string& name); void cuda_device_synchronize(const std::string& name); void cuda_stream_synchronize(const cudaStream_t stream, const std::string& name); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp index a4d064e544..5a821ab64a 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp @@ -23,8 +23,7 @@ #include -#include // GraphAccess needs to be complete -#include // SharedAllocationRecord +#include // GraphAccess needs to be complete #include #include @@ -50,10 +49,6 @@ class GraphNodeKernelImpl m_graph_ptr = nullptr; Kokkos::ObservingRawPtr m_graph_node_ptr = nullptr; - // Note: owned pointer to CudaSpace memory (used for global memory launches), - // which we're responsible for deallocating, but not responsible for calling - // its destructor. - using Record = Kokkos::Impl::SharedAllocationRecord; // Basically, we have to make this mutable for the same reasons that the // global kernel buffers in the Cuda instance are mutable... mutable Kokkos::OwningRawPtr m_driver_storage = nullptr; @@ -82,9 +77,7 @@ class GraphNodeKernelImpl allocate_driver_memory_buffer() const { KOKKOS_EXPECTS(m_driver_storage == nullptr) - - auto* record = Record::allocate( - Kokkos::CudaSpace{}, "GraphNodeKernel global memory functor storage", - sizeof(base_t)); - - Record::increment(record); - m_driver_storage = reinterpret_cast(record->data()); + m_driver_storage = static_cast(Kokkos::CudaSpace().allocate( + "GraphNodeKernel global memory functor storage", sizeof(base_t))); KOKKOS_ENSURES(m_driver_storage != nullptr) return m_driver_storage; } diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp index d7f853d991..849e8b3b30 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -26,10 +26,10 @@ #include -#include -#include -#include -#include +//#include +//#include +//#include +//#include #include #include #include @@ -97,21 +97,21 @@ __global__ void query_cuda_kernel_arch(int *d_arch) { } /** Query what compute capability is actually launched to the device: */ -int cuda_kernel_arch() { +int cuda_kernel_arch(int device_id) { int arch = 0; int *d_arch = nullptr; - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_malloc_wrapper( - reinterpret_cast(&d_arch), sizeof(int)))); - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_memcpy_wrapper( - d_arch, &arch, sizeof(int), cudaMemcpyDefault))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&d_arch), sizeof(int))); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMemcpy(d_arch, &arch, sizeof(int), cudaMemcpyDefault)); query_cuda_kernel_arch<<<1, 1>>>(d_arch); - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_memcpy_wrapper( - &arch, d_arch, sizeof(int), cudaMemcpyDefault))); KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_free_wrapper(d_arch))); + cudaMemcpy(&arch, d_arch, sizeof(int), cudaMemcpyDefault)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(d_arch)); return arch; } @@ -135,7 +135,6 @@ Kokkos::View cuda_global_unique_token_locks( return locks; } -// FIXME_CUDA_MULTIPLE_DEVICES void cuda_device_synchronize(const std::string &name) { Kokkos::Tools::Experimental::Impl::profile_fence_event( name, @@ -144,16 +143,16 @@ void cuda_device_synchronize(const std::string &name) { #if defined(KOKKOS_COMPILER_CLANG) // annotate with __host__ silence a clang warning about using // cudaDeviceSynchronize in device code - [] __host__() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_synchronize_wrapper())); - }); + [] __host__() #else - []() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_synchronize_wrapper())); - }); + []() #endif + { + for (int cuda_device : Kokkos::Impl::CudaInternal::cuda_devices) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaDeviceSynchronize()); + } + }); } void cuda_stream_synchronize(const cudaStream_t stream, const CudaInternal *ptr, @@ -168,25 +167,11 @@ void cuda_stream_synchronize(const cudaStream_t stream, const CudaInternal *ptr, }); } -void cuda_stream_synchronize( - const cudaStream_t stream, - Kokkos::Tools::Experimental::SpecialSynchronizationCases reason, - const std::string &name) { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, reason, [&]() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_stream_synchronize_wrapper( - stream))); - }); -} - void cuda_internal_error_throw(cudaError e, const char *name, const char *file, const int line) { std::ostringstream out; - out << name << " error( " - << CudaInternal::singleton().cuda_get_error_name_wrapper(e) - << "): " - << CudaInternal::singleton().cuda_get_error_string_wrapper(e); + out << name << " error( " << cudaGetErrorName(e) + << "): " << cudaGetErrorString(e); if (file) { out << " " << file << ":" << line; } @@ -196,10 +181,8 @@ void cuda_internal_error_throw(cudaError e, const char *name, const char *file, void cuda_internal_error_abort(cudaError e, const char *name, const char *file, const int line) { std::ostringstream out; - out << name << " error( " - << CudaInternal::singleton().cuda_get_error_name_wrapper(e) - << "): " - << CudaInternal::singleton().cuda_get_error_string_wrapper(e); + out << name << " error( " << cudaGetErrorName(e) + << "): " << cudaGetErrorString(e); if (file) { out << " " << file << ":" << line; } @@ -208,96 +191,6 @@ void cuda_internal_error_abort(cudaError e, const char *name, const char *file, host_abort(out.str().c_str()); } -//---------------------------------------------------------------------------- -// Some significant cuda device properties: -// -// cudaDeviceProp::name : Text label for device -// cudaDeviceProp::major : Device major number -// cudaDeviceProp::minor : Device minor number -// cudaDeviceProp::warpSize : number of threads per warp -// cudaDeviceProp::multiProcessorCount : number of multiprocessors -// cudaDeviceProp::sharedMemPerBlock : capacity of shared memory per block -// cudaDeviceProp::totalConstMem : capacity of constant memory -// cudaDeviceProp::totalGlobalMem : capacity of global memory -// cudaDeviceProp::maxGridSize[3] : maximum grid size - -// -// Section 4.4.2.4 of the CUDA Toolkit Reference Manual -// -// struct cudaDeviceProp { -// char name[256]; -// size_t totalGlobalMem; -// size_t sharedMemPerBlock; -// int regsPerBlock; -// int warpSize; -// size_t memPitch; -// int maxThreadsPerBlock; -// int maxThreadsDim[3]; -// int maxGridSize[3]; -// size_t totalConstMem; -// int major; -// int minor; -// int clockRate; -// size_t textureAlignment; -// int deviceOverlap; -// int multiProcessorCount; -// int kernelExecTimeoutEnabled; -// int integrated; -// int canMapHostMemory; -// int computeMode; -// int concurrentKernels; -// int ECCEnabled; -// int pciBusID; -// int pciDeviceID; -// int tccDriver; -// int asyncEngineCount; -// int unifiedAddressing; -// int memoryClockRate; -// int memoryBusWidth; -// int l2CacheSize; -// int maxThreadsPerMultiProcessor; -// }; - -namespace { - -class CudaInternalDevices { - public: - enum { MAXIMUM_DEVICE_COUNT = 64 }; - struct cudaDeviceProp m_cudaProp[MAXIMUM_DEVICE_COUNT]; - int m_cudaDevCount; - - CudaInternalDevices(); - - static const CudaInternalDevices &singleton(); -}; - -CudaInternalDevices::CudaInternalDevices() { - // See 'cudaSetDeviceFlags' for host-device thread interaction - // Section 4.4.2.6 of the CUDA Toolkit Reference Manual - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_device_count_wrapper( - &m_cudaDevCount))); - - if (m_cudaDevCount > MAXIMUM_DEVICE_COUNT) { - Kokkos::abort( - "Sorry, you have more GPUs per node than we thought anybody would ever " - "have. Please report this to github.com/kokkos/kokkos."); - } - for (int i = 0; i < m_cudaDevCount; ++i) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_device_properties_wrapper( - m_cudaProp + i, i))); - } -} - -const CudaInternalDevices &CudaInternalDevices::singleton() { - static CudaInternalDevices self; - return self; -} - -} // namespace - //---------------------------------------------------------------------------- int Impl::CudaInternal::concurrency() { @@ -307,8 +200,6 @@ int Impl::CudaInternal::concurrency() { } void CudaInternal::print_configuration(std::ostream &s) const { - const CudaInternalDevices &dev_info = CudaInternalDevices::singleton(); - #if defined(KOKKOS_ENABLE_CUDA) s << "macro KOKKOS_ENABLE_CUDA : defined\n"; #endif @@ -317,22 +208,23 @@ void CudaInternal::print_configuration(std::ostream &s) const { << CUDA_VERSION / 1000 << "." << (CUDA_VERSION % 1000) / 10 << '\n'; #endif - for (int i = 0; i < dev_info.m_cudaDevCount; ++i) { - s << "Kokkos::Cuda[ " << i << " ] " << dev_info.m_cudaProp[i].name - << " capability " << dev_info.m_cudaProp[i].major << "." - << dev_info.m_cudaProp[i].minor << ", Total Global Memory: " - << human_memory_size(dev_info.m_cudaProp[i].totalGlobalMem) + for (int i : get_visible_devices()) { + cudaDeviceProp prop; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceProperties(&prop, i)); + s << "Kokkos::Cuda[ " << i << " ] " << prop.name << " capability " + << prop.major << "." << prop.minor + << ", Total Global Memory: " << human_memory_size(prop.totalGlobalMem) << ", Shared Memory per Block: " - << human_memory_size(dev_info.m_cudaProp[i].sharedMemPerBlock); + << human_memory_size(prop.sharedMemPerBlock); if (m_cudaDev == i) s << " : Selected"; - s << std::endl; + s << '\n'; } } //---------------------------------------------------------------------------- CudaInternal::~CudaInternal() { - if (m_stream || m_scratchSpace || m_scratchFlags || m_scratchUnified) { + if (m_scratchSpace || m_scratchFlags || m_scratchUnified) { std::cerr << "Kokkos::Cuda ERROR: Failed to call Kokkos::Cuda::finalize()" << std::endl; } @@ -370,45 +262,53 @@ void CudaInternal::fence() const { fence("Kokkos::CudaInternal::fence(): Unnamed Instance Fence"); } -void CudaInternal::initialize(cudaStream_t stream, bool manage_stream) { +void CudaInternal::initialize(cudaStream_t stream) { KOKKOS_EXPECTS(!is_initialized()); if (was_finalized) Kokkos::abort("Calling Cuda::initialize after Cuda::finalize is illegal\n"); was_initialized = true; + // Check that the device associated with the stream matches cuda_device + CUcontext context; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuStreamGetCtx(stream, &context))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuCtxPushCurrent(context))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuCtxGetDevice(&m_cudaDev))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_cudaDev)); + + m_stream = stream; + CudaInternal::cuda_devices.insert(m_cudaDev); + + // Allocate a staging buffer for constant mem in pinned host memory + // and an event to avoid overwriting driver for previous kernel launches + if (!constantMemHostStagingPerDevice[m_cudaDev]) + KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_malloc_host_wrapper( + reinterpret_cast(&constantMemHostStagingPerDevice[m_cudaDev]), + CudaTraits::ConstantMemoryUsage))); + + if (!constantMemReusablePerDevice[m_cudaDev]) + KOKKOS_IMPL_CUDA_SAFE_CALL( + (cuda_event_create_wrapper(&constantMemReusablePerDevice[m_cudaDev]))); + //---------------------------------- // Multiblock reduction uses scratch flags for counters // and scratch space for partial reduction values. // Allocate some initial space. This will grow as needed. { - const unsigned reduce_block_count = - m_maxWarpCount * Impl::CudaTraits::WarpSize; + // Maximum number of warps, + // at most one warp per thread in a warp for reduction. + auto const maxWarpCount = std::min( + m_deviceProp.maxThreadsPerBlock / CudaTraits::WarpSize, + CudaTraits::WarpSize); + unsigned const reduce_block_count = + maxWarpCount * Impl::CudaTraits::WarpSize; (void)scratch_unified(16 * sizeof(size_type)); (void)scratch_flags(reduce_block_count * 2 * sizeof(size_type)); (void)scratch_space(reduce_block_count * 16 * sizeof(size_type)); } - // Init the array for used for arbitrarily sized atomics - if (this == &singleton()) { - desul::Impl::init_lock_arrays(); // FIXME - } - - // Allocate a staging buffer for constant mem in pinned host memory - // and an event to avoid overwriting driver for previous kernel launches - if (this == &singleton()) { - KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_malloc_host_wrapper( - reinterpret_cast(&constantMemHostStaging), - CudaTraits::ConstantMemoryUsage))); - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_event_create_wrapper(&constantMemReusable))); - } - - m_stream = stream; - m_manage_stream = manage_stream; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -427,22 +327,23 @@ void CudaInternal::initialize(cudaStream_t stream, bool manage_stream) { Cuda::size_type *CudaInternal::scratch_flags(const std::size_t size) const { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchFlags) { + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + } + m_scratchFlagsCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchFlagsCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "Kokkos::InternalScratchFlags", alloc_size); - - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); + m_scratchFlags = static_cast( + mem_space.allocate("Kokkos::InternalScratchFlags", alloc_size)); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. KOKKOS_IMPL_CUDA_SAFE_CALL( (cuda_memset_wrapper(m_scratchFlags, 0, alloc_size))); } @@ -453,21 +354,19 @@ Cuda::size_type *CudaInternal::scratch_flags(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_space(const std::size_t size) const { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchSpace) { + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + } + m_scratchSpaceCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchSpaceCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "Kokkos::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast( + mem_space.allocate("Kokkos::InternalScratchSpace", alloc_size)); } return m_scratchSpace; @@ -476,23 +375,20 @@ Cuda::size_type *CudaInternal::scratch_space(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_unified(const std::size_t size) const { if (verify_is_initialized("scratch_unified") && m_scratchUnifiedCount < scratch_count(size)) { + auto mem_space = + Kokkos::CudaHostPinnedSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchUnified) { + mem_space.deallocate(m_scratchUnified, + m_scratchUnifiedCount * sizeScratchGrain); + } + m_scratchUnifiedCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchUnified) - Record::decrement(Record::get_record(m_scratchUnified)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchUnifiedCount, sizeScratchGrain); - Record *const r = - Record::allocate(Kokkos::CudaHostPinnedSpace(), - "Kokkos::InternalScratchUnified", alloc_size); - - Record::increment(r); - - m_scratchUnified = reinterpret_cast(r->data()); + m_scratchUnified = static_cast( + mem_space.allocate("Kokkos::InternalScratchUnified", alloc_size)); } return m_scratchUnified; @@ -500,21 +396,16 @@ Cuda::size_type *CudaInternal::scratch_unified(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_functor(const std::size_t size) const { if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchFunctor) { + mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + } + m_scratchFunctorSize = size; - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFunctor) - Record::decrement(Record::get_record(m_scratchFunctor)); - - Record *const r = - Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchFunctor", - m_scratchFunctorSize); - - Record::increment(r); - - m_scratchFunctor = reinterpret_cast(r->data()); + m_scratchFunctor = static_cast(mem_space.allocate( + "Kokkos::InternalScratchFunctor", m_scratchFunctorSize)); } return m_scratchFunctor; @@ -537,21 +428,21 @@ void *CudaInternal::resize_team_scratch_space(int scratch_pool_id, // Multiple ParallelFor/Reduce Teams can call this function at the same time // and invalidate the m_team_scratch_ptr. We use a pool to avoid any race // condition. + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); if (m_team_scratch_current_size[scratch_pool_id] == 0) { m_team_scratch_current_size[scratch_pool_id] = bytes; m_team_scratch_ptr[scratch_pool_id] = - Kokkos::kokkos_malloc( - "Kokkos::CudaSpace::TeamScratchMemory", - m_team_scratch_current_size[scratch_pool_id]); + mem_space.allocate("Kokkos::CudaSpace::TeamScratchMemory", + m_team_scratch_current_size[scratch_pool_id]); } if ((bytes > m_team_scratch_current_size[scratch_pool_id]) || ((bytes < m_team_scratch_current_size[scratch_pool_id]) && (force_shrink))) { + mem_space.deallocate(m_team_scratch_ptr[scratch_pool_id], + m_team_scratch_current_size[scratch_pool_id]); m_team_scratch_current_size[scratch_pool_id] = bytes; m_team_scratch_ptr[scratch_pool_id] = - Kokkos::kokkos_realloc( - m_team_scratch_ptr[scratch_pool_id], - m_team_scratch_current_size[scratch_pool_id]); + mem_space.allocate("Kokkos::CudaSpace::TeamScratchMemory", bytes); } return m_team_scratch_ptr[scratch_pool_id]; } @@ -568,50 +459,33 @@ void CudaInternal::finalize() { was_finalized = true; - // Only finalize this if we're the singleton - if (this == &singleton()) { - (void)Impl::cuda_global_unique_token_locks(true); - desul::Impl::finalize_lock_arrays(); // FIXME - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_free_host_wrapper(constantMemHostStaging))); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_event_destroy_wrapper(constantMemReusable))); - auto &deep_copy_space = - Kokkos::Impl::cuda_get_deep_copy_space(/*initialize*/ false); - if (deep_copy_space) - deep_copy_space->impl_internal_space_instance()->finalize(); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_stream_destroy_wrapper(cuda_get_deep_copy_stream()))); - } - + auto cuda_mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { - using RecordCuda = Kokkos::Impl::SharedAllocationRecord; - using RecordHost = - Kokkos::Impl::SharedAllocationRecord; - - RecordCuda::decrement(RecordCuda::get_record(m_scratchFlags)); - RecordCuda::decrement(RecordCuda::get_record(m_scratchSpace)); - RecordHost::decrement(RecordHost::get_record(m_scratchUnified)); - if (m_scratchFunctorSize > 0) - RecordCuda::decrement(RecordCuda::get_record(m_scratchFunctor)); + auto host_mem_space = + Kokkos::CudaHostPinnedSpace::impl_create(m_cudaDev, m_stream); + cuda_mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + cuda_mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + host_mem_space.deallocate(m_scratchUnified, + m_scratchUnifiedCount * sizeScratchGrain); + if (m_scratchFunctorSize > 0) { + cuda_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + } } for (int i = 0; i < m_n_team_scratch; ++i) { if (m_team_scratch_current_size[i] > 0) - Kokkos::kokkos_free(m_team_scratch_ptr[i]); + cuda_mem_space.deallocate(m_team_scratch_ptr[i], + m_team_scratch_current_size[i]); } - if (m_manage_stream && get_stream() != nullptr) - KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_stream_destroy_wrapper(m_stream))); - m_scratchSpaceCount = 0; m_scratchFlagsCount = 0; m_scratchUnifiedCount = 0; m_scratchSpace = nullptr; m_scratchFlags = nullptr; m_scratchUnified = nullptr; - m_stream = nullptr; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -624,30 +498,6 @@ void CudaInternal::finalize() { //---------------------------------------------------------------------------- -Cuda::size_type cuda_internal_multiprocessor_count() { - return CudaInternal::singleton().m_multiProcCount; -} - -CudaSpace::size_type cuda_internal_maximum_concurrent_block_count() { -#if defined(KOKKOS_ARCH_KEPLER) - // Compute capability 3.0 through 3.7 - enum : int { max_resident_blocks_per_multiprocessor = 16 }; -#else - // Compute capability 5.0 through 6.2 - enum : int { max_resident_blocks_per_multiprocessor = 32 }; -#endif - return CudaInternal::singleton().m_multiProcCount * - max_resident_blocks_per_multiprocessor; -}; - -Cuda::size_type cuda_internal_maximum_warp_count() { - return CudaInternal::singleton().m_maxWarpCount; -} - -std::array cuda_internal_maximum_grid_count() { - return CudaInternal::singleton().m_maxBlock; -} - Cuda::size_type *cuda_internal_scratch_space(const Cuda &instance, const std::size_t size) { return instance.impl_internal_space_instance()->scratch_space(size); @@ -670,10 +520,6 @@ Cuda::size_type *cuda_internal_scratch_unified(const Cuda &instance, namespace Kokkos { -Cuda::size_type Cuda::detect_device_count() { - return Impl::CudaInternalDevices::singleton().m_cudaDevCount; -} - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 int Cuda::concurrency() { #else @@ -687,25 +533,23 @@ int Cuda::impl_is_initialized() { } void Cuda::impl_initialize(InitializationSettings const &settings) { - const int cuda_device_id = Impl::get_gpu(settings); - const auto &dev_info = Impl::CudaInternalDevices::singleton(); + const std::vector &visible_devices = Impl::get_visible_devices(); + const int cuda_device_id = + Impl::get_gpu(settings).value_or(visible_devices[0]); - const struct cudaDeviceProp &cudaProp = dev_info.m_cudaProp[cuda_device_id]; - - Impl::CudaInternal::m_cudaDev = cuda_device_id; + cudaDeviceProp cudaProp; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaGetDeviceProperties(&cudaProp, cuda_device_id)); Impl::CudaInternal::m_deviceProp = cudaProp; - - Kokkos::Impl::cuda_device_synchronize( - "Kokkos::CudaInternal::initialize: Fence on space initialization"); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaDeviceSynchronize()); // Query what compute capability architecture a kernel executes: - Impl::CudaInternal::m_cudaArch = Impl::cuda_kernel_arch(); + Impl::CudaInternal::m_cudaArch = Impl::cuda_kernel_arch(cuda_device_id); if (Impl::CudaInternal::m_cudaArch == 0) { - std::stringstream ss; - ss << "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"; - std::string msg = ss.str(); - Kokkos::abort(msg.c_str()); + Kokkos::abort( + "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"); } int compiled_major = Impl::CudaInternal::m_cudaArch / 100; @@ -761,78 +605,42 @@ Kokkos::Cuda::initialize WARNING: Cuda is allocating into UVMSpace by default } #endif - //---------------------------------- - // number of multiprocessors - Impl::CudaInternal::m_multiProcCount = cudaProp.multiProcessorCount; - - //---------------------------------- - // Maximum number of warps, - // at most one warp per thread in a warp for reduction. - Impl::CudaInternal::m_maxWarpCount = - cudaProp.maxThreadsPerBlock / Impl::CudaTraits::WarpSize; - - if (Impl::CudaTraits::WarpSize < Impl::CudaInternal::m_maxWarpCount) { - Impl::CudaInternal::m_maxWarpCount = Impl::CudaTraits::WarpSize; - } - - //---------------------------------- - // Maximum number of blocks: - - Impl::CudaInternal::m_maxBlock[0] = cudaProp.maxGridSize[0]; - Impl::CudaInternal::m_maxBlock[1] = cudaProp.maxGridSize[1]; - Impl::CudaInternal::m_maxBlock[2] = cudaProp.maxGridSize[2]; - - Impl::CudaInternal::m_shmemPerSM = cudaProp.sharedMemPerMultiprocessor; - Impl::CudaInternal::m_maxShmemPerBlock = cudaProp.sharedMemPerBlock; - Impl::CudaInternal::m_maxBlocksPerSM = - Impl::CudaInternal::m_cudaArch < 500 - ? 16 - : (Impl::CudaInternal::m_cudaArch < 750 - ? 32 - : (Impl::CudaInternal::m_cudaArch == 750 ? 16 : 32)); - Impl::CudaInternal::m_maxThreadsPerSM = cudaProp.maxThreadsPerMultiProcessor; - Impl::CudaInternal::m_maxThreadsPerBlock = cudaProp.maxThreadsPerBlock; - //---------------------------------- cudaStream_t singleton_stream; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamCreate(&singleton_stream)); + + // Init the array for used for arbitrarily sized atomics + desul::Impl::init_lock_arrays(); // FIXME + + Impl::CudaInternal::singleton().initialize(singleton_stream); +} + +void Cuda::impl_finalize() { + (void)Impl::cuda_global_unique_token_locks(true); + desul::Impl::finalize_lock_arrays(); // FIXME + + for (const auto cuda_device : Kokkos::Impl::CudaInternal::cuda_devices) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaFreeHost(Kokkos::Impl::CudaInternal::constantMemHostStagingPerDevice + [cuda_device])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaEventDestroy( + Kokkos::Impl::CudaInternal::constantMemReusablePerDevice[cuda_device])); + } + + auto &deep_copy_space = Impl::cuda_get_deep_copy_space(/*initialize*/ false); + if (deep_copy_space) + deep_copy_space->impl_internal_space_instance()->finalize(); KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_stream_create_wrapper( - &singleton_stream))); + cudaStreamDestroy(Impl::cuda_get_deep_copy_stream())); - auto &cuda_singleton = Impl::CudaInternal::singleton(); - cuda_singleton.initialize(singleton_stream, /*manage*/ true); + Impl::CudaInternal::singleton().finalize(); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaStreamDestroy(Impl::CudaInternal::singleton().m_stream)); } -std::vector Cuda::detect_device_arch() { - const Impl::CudaInternalDevices &s = Impl::CudaInternalDevices::singleton(); - - std::vector output(s.m_cudaDevCount); - - for (int i = 0; i < s.m_cudaDevCount; ++i) { - output[i] = s.m_cudaProp[i].major * 100 + s.m_cudaProp[i].minor; - } - - return output; -} - -Cuda::size_type Cuda::device_arch() { - const int dev_id = Impl::CudaInternal::singleton().m_cudaDev; - - int dev_arch = 0; - - if (0 <= dev_id) { - const struct cudaDeviceProp &cudaProp = - Impl::CudaInternalDevices::singleton().m_cudaProp[dev_id]; - - dev_arch = cudaProp.major * 100 + cudaProp.minor; - } - - return dev_arch; -} - -void Cuda::impl_finalize() { Impl::CudaInternal::singleton().finalize(); } - Cuda::Cuda() : m_space_instance(&Impl::CudaInternal::singleton(), [](Impl::CudaInternal *) {}) { @@ -845,13 +653,17 @@ KOKKOS_DEPRECATED Cuda::Cuda(cudaStream_t stream, bool manage_stream) manage_stream ? Impl::ManageStream::yes : Impl::ManageStream::no) {} Cuda::Cuda(cudaStream_t stream, Impl::ManageStream manage_stream) - : m_space_instance(new Impl::CudaInternal, [](Impl::CudaInternal *ptr) { - ptr->finalize(); - delete ptr; - }) { + : m_space_instance( + new Impl::CudaInternal, [manage_stream](Impl::CudaInternal *ptr) { + ptr->finalize(); + if (static_cast(manage_stream)) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamDestroy(ptr->m_stream)); + } + delete ptr; + }) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); - m_space_instance->initialize(stream, static_cast(manage_stream)); + m_space_instance->initialize(stream); } void Cuda::print_configuration(std::ostream &os, bool /*verbose*/) const { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp index a324adecfe..24f4af3101 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp @@ -22,6 +22,10 @@ #include #include #include +#include "Kokkos_CudaSpace.hpp" + +#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -55,27 +59,10 @@ struct CudaTraits { unsigned long[ConstantMemoryUsage / sizeof(unsigned long)]; static constexpr int ConstantMemoryUseThreshold = 0x000200 /* 512 bytes */; - - KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_count( - CudaSpace::size_type i) { - return (i + WarpIndexMask) >> WarpIndexShift; - } - - KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_align( - CudaSpace::size_type i) { - constexpr CudaSpace::size_type Mask = ~WarpIndexMask; - return (i + WarpIndexMask) & Mask; - } }; //---------------------------------------------------------------------------- -CudaSpace::size_type cuda_internal_multiprocessor_count(); -CudaSpace::size_type cuda_internal_maximum_warp_count(); -std::array cuda_internal_maximum_grid_count(); - -CudaSpace::size_type cuda_internal_maximum_concurrent_block_count(); - CudaSpace::size_type* cuda_internal_scratch_flags(const Cuda&, const std::size_t size); CudaSpace::size_type* cuda_internal_scratch_space(const Cuda&, @@ -101,18 +88,10 @@ class CudaInternal { public: using size_type = Cuda::size_type; - inline static int m_cudaDev = -1; + int m_cudaDev = -1; // Device Properties - inline static int m_cudaArch = -1; - inline static unsigned m_multiProcCount = 0; - inline static unsigned m_maxWarpCount = 0; - inline static std::array m_maxBlock = {0, 0, 0}; - inline static int m_shmemPerSM = 0; - inline static int m_maxShmemPerBlock = 0; - inline static int m_maxBlocksPerSM = 0; - inline static int m_maxThreadsPerSM = 0; - inline static int m_maxThreadsPerBlock = 0; + inline static int m_cudaArch = -1; static int concurrency(); inline static cudaDeviceProp m_deviceProp; @@ -129,7 +108,6 @@ class CudaInternal { mutable size_type* m_scratchFunctor; cudaStream_t m_stream; uint32_t m_instance_id; - bool m_manage_stream; // Team Scratch Level 1 Space int m_n_team_scratch = 10; @@ -142,11 +120,11 @@ class CudaInternal { bool was_initialized = false; bool was_finalized = false; - // FIXME_CUDA: these want to be per-device, not per-stream... use of 'static' - // here will break once there are multiple devices though - inline static unsigned long* constantMemHostStaging = nullptr; - inline static cudaEvent_t constantMemReusable = nullptr; - inline static std::mutex constantMemMutex; + inline static std::set cuda_devices = {}; + inline static std::map constantMemHostStagingPerDevice = + {}; + inline static std::map constantMemReusablePerDevice = {}; + inline static std::map constantMemMutexPerDevice = {}; static CudaInternal& singleton(); @@ -156,7 +134,7 @@ class CudaInternal { return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(cudaStream_t stream, bool manage_stream); + void initialize(cudaStream_t stream); void finalize(); void print_configuration(std::ostream&) const; @@ -247,12 +225,6 @@ class CudaInternal { return cudaDeviceSetLimit(limit, value); } - template - cudaError_t cuda_device_synchronize_wrapper() const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaDeviceSynchronize(); - } - template cudaError_t cuda_event_create_wrapper(cudaEvent_t* event) const { if constexpr (setCudaDevice) set_cuda_device(); @@ -290,37 +262,6 @@ class CudaInternal { return cudaFreeHost(ptr); } - template - cudaError_t cuda_get_device_count_wrapper(int* count) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetDeviceCount(count); - } - - template - cudaError_t cuda_get_device_properties_wrapper(cudaDeviceProp* prop, - int device) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetDeviceProperties(prop, device); - } - - template - const char* cuda_get_error_name_wrapper(cudaError_t error) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetErrorName(error); - } - - template - const char* cuda_get_error_string_wrapper(cudaError_t error) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetErrorString(error); - } - - template - cudaError_t cuda_get_last_error_wrapper() const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetLastError(); - } - template cudaError_t cuda_graph_add_dependencies_wrapper( cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, @@ -506,10 +447,10 @@ class CudaInternal { } template - cudaError_t cuda_func_set_attributes_wrapper(T* entry, cudaFuncAttribute attr, - int value) const { + cudaError_t cuda_func_set_attribute_wrapper(T* entry, cudaFuncAttribute attr, + int value) const { if constexpr (setCudaDevice) set_cuda_device(); - return cudaFuncSetAttributes(entry, attr, value); + return cudaFuncSetAttribute(entry, attr, value); } template diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp index 82a72b6902..b0dadb45f7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp @@ -21,7 +21,6 @@ #ifdef KOKKOS_ENABLE_CUDA #include -#include #include #include #include @@ -118,42 +117,43 @@ inline bool is_empty_launch(dim3 const& grid, dim3 const& block) { } inline void check_shmem_request(CudaInternal const* cuda_instance, int shmem) { - if (cuda_instance->m_maxShmemPerBlock < shmem) { + int const maxShmemPerBlock = cuda_instance->m_deviceProp.sharedMemPerBlock; + if (maxShmemPerBlock < shmem) { Kokkos::Impl::throw_runtime_exception( - std::string("CudaParallelLaunch (or graph node creation) FAILED: shared" - " memory request is too large")); + "CudaParallelLaunch (or graph node creation) FAILED: shared memory " + "request is too large"); } } // These functions need to be templated on DriverType and LaunchBounds // so that the static bool is unique for each type combo // KernelFuncPtr does not necessarily contain that type information. -// FIXME_CUDA_MULTIPLE_DEVICES template const cudaFuncAttributes& get_cuda_kernel_func_attributes( - const KernelFuncPtr& func) { + int cuda_device, const KernelFuncPtr& func) { // Only call cudaFuncGetAttributes once for each unique kernel // by leveraging static variable initialization rules - auto wrap_get_attributes = [&]() -> cudaFuncAttributes { + static std::map func_attr; + if (func_attr.find(cuda_device) == func_attr.end()) { cudaFuncAttributes attr; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_func_get_attributes_wrapper(&attr, - func))); - return attr; - }; - static cudaFuncAttributes func_attr = wrap_get_attributes(); - return func_attr; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFuncGetAttributes(&attr, func)); + func_attr.emplace(cuda_device, attr); + } + return func_attr[cuda_device]; } template -inline void configure_shmem_preference(const KernelFuncPtr& func, +inline void configure_shmem_preference(const int cuda_device, + const KernelFuncPtr& func, const cudaDeviceProp& device_props, const size_t block_size, int& shmem, const size_t occupancy) { #ifndef KOKKOS_ARCH_KEPLER const auto& func_attr = - get_cuda_kernel_func_attributes(func); + get_cuda_kernel_func_attributes(cuda_device, + func); // Compute limits for number of blocks due to registers/SM const size_t regs_per_sm = device_props.regsPerMultiprocessor; @@ -222,7 +222,7 @@ inline void configure_shmem_preference(const KernelFuncPtr& func, // FIXME_CUDA_MULTIPLE_DEVICES auto set_cache_config = [&] { KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_func_set_attributes_wrapper( + (CudaInternal::singleton().cuda_func_set_attribute_wrapper( func, cudaFuncAttributePreferredSharedMemoryCarveout, carveout))); return carveout; }; @@ -387,8 +387,8 @@ struct CudaParallelLaunchKernelInvoker< driver.get_policy().impl_get_desired_occupancy().value(); size_t block_size = block.x * block.y * block.z; Impl::configure_shmem_preference( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } void const* args[] = {&driver}; @@ -487,8 +487,8 @@ struct CudaParallelLaunchKernelInvoker< driver.get_policy().impl_get_desired_occupancy().value(); size_t block_size = block.x * block.y * block.z; Impl::configure_shmem_preference( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } auto* driver_ptr = Impl::allocate_driver_storage_for_kernel(driver); @@ -576,13 +576,16 @@ struct CudaParallelLaunchKernelInvoker< static void invoke_kernel(DriverType const& driver, dim3 const& grid, dim3 const& block, int shmem, CudaInternal const* cuda_instance) { + int cuda_device = cuda_instance->m_cudaDev; // Wait until the previous kernel that uses the constant buffer is done - std::lock_guard lock(CudaInternal::constantMemMutex); + std::lock_guard lock( + CudaInternal::constantMemMutexPerDevice[cuda_device]); KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_instance->cuda_event_synchronize_wrapper( - CudaInternal::constantMemReusable))); + CudaInternal::constantMemReusablePerDevice[cuda_device]))); // Copy functor (synchronously) to staging buffer in pinned host memory - unsigned long* staging = cuda_instance->constantMemHostStaging; + unsigned long* staging = + cuda_instance->constantMemHostStagingPerDevice[cuda_device]; memcpy(staging, &driver, sizeof(DriverType)); // Copy functor asynchronously from there to constant memory on the device @@ -597,7 +600,7 @@ struct CudaParallelLaunchKernelInvoker< // Record an event that says when the constant buffer can be reused KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_instance->cuda_event_record_wrapper( - CudaInternal::constantMemReusable))); + CudaInternal::constantMemReusablePerDevice[cuda_device]))); } inline static void create_parallel_launch_graph_node( @@ -665,8 +668,8 @@ struct CudaParallelLaunchImpl< Impl::configure_shmem_preference< DriverType, Kokkos::LaunchBounds>( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } desul::ensure_cuda_lock_arrays_on_device(); @@ -675,18 +678,17 @@ struct CudaParallelLaunchImpl< base_t::invoke_kernel(driver, grid, block, shmem, cuda_instance); #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_instance->cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); cuda_instance->fence( "Kokkos::Impl::launch_kernel: Debug Only Check for Execution Error"); #endif } } - static cudaFuncAttributes get_cuda_func_attributes() { + static cudaFuncAttributes get_cuda_func_attributes(int cuda_device) { return get_cuda_kernel_func_attributes< DriverType, Kokkos::LaunchBounds>( - base_t::get_kernel_func()); + cuda_device, base_t::get_kernel_func()); } }; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp index 7492ab49e5..2c7eba7a18 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp @@ -40,8 +40,8 @@ template <> inline TileSizeProperties get_tile_size_properties( const Kokkos::Cuda& space) { TileSizeProperties properties; - properties.max_threads = - space.impl_internal_space_instance()->m_maxThreadsPerSM; + properties.max_threads = space.impl_internal_space_instance() + ->m_deviceProp.maxThreadsPerMultiProcessor; properties.default_largest_tile_size = 16; properties.default_tile_size = 2; properties.max_total_tile_size = 512; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp index 49d6c112e3..6303898400 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -42,8 +41,8 @@ namespace Impl { template int max_tile_size_product_helper(const Policy& pol, const LaunchBounds&) { cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + pol.space().cuda_device()); auto const& prop = pol.space().cuda_device_prop(); // Limits due to registers/SM, MDRange doesn't have @@ -96,7 +95,7 @@ class ParallelFor, Kokkos::Cuda> { inline void execute() const { if (m_rp.m_num_tiles == 0) return; - const auto maxblocks = cuda_internal_maximum_grid_count(); + const auto maxblocks = m_rp.space().cuda_device_prop().maxGridSize; if (RP::rank == 2) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], 1); KOKKOS_ASSERT(block.x > 0); @@ -325,19 +324,18 @@ class ParallelReduce( f, n); using closure_type = Impl::ParallelReduce, Policy, Kokkos::Cuda>; - cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(m_policy.space().cuda_device()); while ( - (n && - (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < - shmem_size)) || + (n && (maxShmemPerBlock < shmem_size)) || (n > static_cast( Kokkos::Impl::cuda_get_max_block_size( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp index 3472999281..0f052be3c3 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -86,18 +85,18 @@ class ParallelFor, Kokkos::Cuda> { const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + m_policy.space().cuda_device()); const int block_size = Kokkos::Impl::cuda_get_opt_block_size( m_policy.space().impl_internal_space_instance(), attr, m_functor, 1, 0, 0); KOKKOS_ASSERT(block_size > 0); dim3 block(1, block_size, 1); + const int maxGridSizeX = m_policy.space().cuda_device_prop().maxGridSize[0]; dim3 grid( - std::min( - typename Policy::index_type((nwork + block.y - 1) / block.y), - typename Policy::index_type(cuda_internal_maximum_grid_count()[0])), + std::min(typename Policy::index_type((nwork + block.y - 1) / block.y), + typename Policy::index_type(maxGridSizeX)), 1, 1); #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION if (Kokkos::Impl::CudaInternal::cuda_use_serial_execution()) { @@ -244,10 +243,10 @@ class ParallelReduce, if (CudaTraits::WarpSize < word_count.value) { __syncthreads(); } else if (word_count.value > 1) { - // Inside cuda_single_inter_block_reduce_scan() above, shared[i] below - // might have been updated by a single thread within a warp without - // synchronization afterwards. Synchronize threads within warp to avoid - // potential racecondition. + // Inside cuda_single_inter_block_reduce_scan() and final() above, + // shared[i] below might have been updated by a single thread within a + // warp without synchronization afterwards. Synchronize threads within + // warp to avoid potential race condition. __syncwarp(0xffffffff); } @@ -260,19 +259,18 @@ class ParallelReduce, // Determine block size constrained by shared memory: inline unsigned local_block_size(const FunctorType& f) { unsigned n = CudaTraits::WarpSize * 8; + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; int shmem_size = cuda_single_inter_block_reduce_scan_shmem( f, n); using closure_type = Impl::ParallelReduce, Policy, Kokkos::Cuda>; - cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(m_policy.space().cuda_device()); while ( - (n && - (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < - shmem_size)) || + (n && (maxShmemPerBlock < shmem_size)) || (n > static_cast( Kokkos::Impl::cuda_get_max_block_size( @@ -615,11 +613,11 @@ class ParallelScan, Kokkos::Cuda> { // 4 warps was 10% faster than 8 warps and 20% faster than 16 warps in unit // testing + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; unsigned n = CudaTraits::WarpSize * 4; while (n && - unsigned(m_policy.space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) < + unsigned(maxShmemPerBlock) < cuda_single_inter_block_reduce_scan_shmem(f, n)) { n >>= 1; @@ -939,11 +937,11 @@ class ParallelScanWithTotal, // 4 warps was 10% faster than 8 warps and 20% faster than 16 warps in unit // testing + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; unsigned n = CudaTraits::WarpSize * 4; while (n && - unsigned(m_policy.space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) < + unsigned(maxShmemPerBlock) < cuda_single_inter_block_reduce_scan_shmem(f, n)) { n >>= 1; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp index b4679b4e0d..9f7be45c83 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include @@ -98,7 +98,7 @@ class TeamPolicyInternal Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); int block_size = Kokkos::Impl::cuda_get_max_block_size( @@ -137,7 +137,7 @@ class TeamPolicyInternal Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); const int block_size = Kokkos::Impl::cuda_get_opt_block_size( @@ -262,7 +262,8 @@ class TeamPolicyInternal m_tune_team(bool(team_size_request <= 0)), m_tune_vector(bool(vector_length_request <= 0)) { // Make sure league size is permissible - if (league_size_ >= int(Impl::cuda_internal_maximum_grid_count()[0])) + const int maxGridSizeX = m_space.cuda_device_prop().maxGridSize[0]; + if (league_size_ >= maxGridSizeX) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution " "space."); @@ -369,7 +370,7 @@ class TeamPolicyInternal cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); const int block_size = std::forward(block_size_callable)( space().impl_internal_space_instance(), attr, f, (size_t)impl_vector_length(), @@ -539,8 +540,8 @@ class ParallelFor, auto internal_space_instance = m_policy.space().impl_internal_space_instance(); cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + internal_space_instance->m_cudaDev); m_team_size = m_team_size >= 0 ? m_team_size @@ -575,10 +576,11 @@ class ParallelFor, static_cast(m_league_size)))); } + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; const int shmem_size_total = m_shmem_begin + m_shmem_size; - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - printf("%i %i\n", internal_space_instance->m_maxShmemPerBlock, - shmem_size_total); + if (maxShmemPerBlock < shmem_size_total) { + printf("%i %i\n", maxShmemPerBlock, shmem_size_total); Kokkos::Impl::throw_runtime_exception(std::string( "Kokkos::Impl::ParallelFor< Cuda > insufficient shared memory")); } @@ -623,6 +625,22 @@ class ParallelReduce 4 bytes in size, indexing into shared/global memory relies + // on the block and grid dimensions to ensure that we index at the correct + // offset rather than at every 4 byte word; such that, when the join is + // performed, we have the correct data that was copied over in chunks of 4 + // bytes. + using word_size_type = std::conditional_t< + sizeof(value_type) < sizeof(Kokkos::Cuda::size_type), + std::conditional_t, + Kokkos::Cuda::size_type>; using size_type = Cuda::size_type; using reducer_type = ReducerType; @@ -646,9 +664,11 @@ class ParallelReduce + const integral_nonzero_constant word_count(m_functor_reducer.get_reducer().value_size() / - sizeof(size_type)); + sizeof(word_size_type)); reference_type value = m_functor_reducer.get_reducer().init( - kokkos_impl_cuda_shared_memory() + + kokkos_impl_cuda_shared_memory() + threadIdx.y * word_count.value); // Iterate this block through the league @@ -721,18 +742,19 @@ class ParallelReduce( m_functor_reducer.get_reducer(), blockIdx.x, gridDim.x, - kokkos_impl_cuda_shared_memory(), m_scratch_space, + kokkos_impl_cuda_shared_memory(), m_scratch_space, m_scratch_flags); if (do_final_reduction) { // This is the final block with the final result at the final threads' // location - size_type* const shared = kokkos_impl_cuda_shared_memory() + - (blockDim.y - 1) * word_count.value; + word_size_type* const shared = + kokkos_impl_cuda_shared_memory() + + (blockDim.y - 1) * word_count.value; size_type* const global = m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) + ? reinterpret_cast(m_result_ptr) : (m_unified_space ? m_unified_space : m_scratch_space); if (threadIdx.y == 0) { @@ -787,7 +809,8 @@ class ParallelReduce(m_scratch_space), result, + m_scratch_flags, blockDim.y)) { const unsigned id = threadIdx.y * blockDim.x + threadIdx.x; if (id == 0) { m_functor_reducer.get_reducer().final(&value); @@ -808,13 +831,15 @@ class ParallelReduce(cuda_internal_scratch_space( + m_policy.space(), + m_functor_reducer.get_reducer().value_size() * block_count)); m_scratch_flags = cuda_internal_scratch_flags(m_policy.space(), sizeof(size_type)); - m_unified_space = cuda_internal_scratch_unified( - m_policy.space(), m_functor_reducer.get_reducer().value_size()); + m_unified_space = + reinterpret_cast(cuda_internal_scratch_unified( + m_policy.space(), m_functor_reducer.get_reducer().value_size())); dim3 block(m_vector_size, m_team_size, 1); dim3 grid(block_count, 1, 1); @@ -847,7 +872,8 @@ class ParallelReduce(m_result_ptr, m_scratch_space, size); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); } } } @@ -883,9 +909,8 @@ class ParallelReduce::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(internal_space_instance->m_cudaDev); m_team_size = m_team_size >= 0 ? m_team_size @@ -940,6 +965,8 @@ class ParallelReduce bad team size")); } - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + if (maxShmemPerBlock < shmem_size_total) { Kokkos::Impl::throw_runtime_exception( std::string("Kokkos::Impl::ParallelReduce< Cuda > requested too much " "L0 scratch memory")); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp index 7ccedbfe28..3037c4ab54 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp @@ -103,7 +103,7 @@ template __device__ bool cuda_inter_block_reduction( typename FunctorType::reference_type value, typename FunctorType::reference_type neutral, const FunctorType& reducer, - Cuda::size_type* const m_scratch_space, + typename FunctorType::pointer_type const m_scratch_space, typename FunctorType::pointer_type const /*result*/, Cuda::size_type* const m_scratch_flags, const int max_active_thread = blockDim.y) { @@ -117,7 +117,7 @@ __device__ bool cuda_inter_block_reduction( // One thread in the block writes block result to global scratch_memory if (id == 0) { - pointer_type global = ((pointer_type)m_scratch_space) + blockIdx.x; + pointer_type global = m_scratch_space + blockIdx.x; *global = value; } @@ -140,7 +140,7 @@ __device__ bool cuda_inter_block_reduction( last_block = true; value = neutral; - pointer_type const volatile global = (pointer_type)m_scratch_space; + pointer_type const volatile global = m_scratch_space; // Reduce all global values with splitting work over threads in one warp const int step_size = @@ -702,8 +702,7 @@ inline void check_reduced_view_shmem_size(const Policy& policy, unsigned reqShmemSize = cuda_single_inter_block_reduce_scan_shmem( functor, minBlockSize); - size_t maxShmemPerBlock = - policy.space().impl_internal_space_instance()->m_maxShmemPerBlock; + size_t maxShmemPerBlock = policy.space().cuda_device_prop().sharedMemPerBlock; if (reqShmemSize > maxShmemPerBlock) { Kokkos::Impl::throw_runtime_exception( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp index baff7ef3f5..86d6d91bbe 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp @@ -84,8 +84,8 @@ class TaskQueueSpecialization> { KOKKOS_INLINE_FUNCTION static void iff_single_thread_recursive_execute(scheduler_type const&) {} - static int get_max_team_count(execution_space const&) { - return Kokkos::Impl::cuda_internal_multiprocessor_count() * warps_per_block; + static int get_max_team_count(execution_space const& space) { + return space.cuda_device_prop().multiProcessorCount * warps_per_block; } __device__ static void driver(scheduler_type scheduler, @@ -225,7 +225,11 @@ class TaskQueueSpecialization> { // FIXME_CUDA_MULTIPLE_DEVICES static void execute(scheduler_type const& scheduler) { const int shared_per_warp = 2048; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const Kokkos::Cuda& exec = scheduler.get_execution_space(); + const auto& impl_instance = exec.impl_internal_space_instance(); + const int multi_processor_count = + exec.cuda_device_prop().multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared_total = shared_per_warp * warps_per_block; const cudaStream_t stream = nullptr; @@ -245,34 +249,30 @@ class TaskQueueSpecialization> { // Query the stack size, in bytes: size_t previous_stack_size = 0; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_get_limit_wrapper( - &previous_stack_size, cudaLimitStackSize))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_get_limit_wrapper( + &previous_stack_size, cudaLimitStackSize)); // If not large enough then set the stack size, in bytes: const size_t larger_stack_size = 1 << 11; if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, larger_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, larger_stack_size)); } cuda_task_queue_execute<<>>( scheduler, shared_per_warp); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecialization::execute: Post Task Execution"); if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, previous_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, previous_stack_size)); } } @@ -300,8 +300,8 @@ class TaskQueueSpecialization> { set_cuda_task_base_apply_function_pointer <<<1, 1>>>(ptr_ptr, dtor_ptr); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); + Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecialization::execute: Post Get Function Pointer for Tasks"); @@ -466,7 +466,13 @@ class TaskQueueSpecializationConstrained< static void execute(scheduler_type const& scheduler) { const int shared_per_warp = 2048; const int warps_per_block = 4; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const Kokkos::Cuda exec = Cuda(); // FIXME_CUDA_MULTIPLE_DEVICES + const auto& impl_instance = exec.impl_internal_space_instance(); + const int multi_processor_count = + // FIXME not sure why this didn't work + // exec.cuda_device_prop().multiProcessorCount; + impl_instance->m_deviceProp.multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); // const dim3 grid( 1 , 1 , 1 ); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared_total = shared_per_warp * warps_per_block; @@ -482,34 +488,30 @@ class TaskQueueSpecializationConstrained< // Query the stack size, in bytes: size_t previous_stack_size = 0; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_get_limit_wrapper( - &previous_stack_size, cudaLimitStackSize))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_get_limit_wrapper( + &previous_stack_size, cudaLimitStackSize)); // If not large enough then set the stack size, in bytes: const size_t larger_stack_size = 2048; if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, larger_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, larger_stack_size)); } cuda_task_queue_execute<<>>( scheduler, shared_per_warp); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecializationConstrained::execute: Post Execute Task"); if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, previous_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, previous_stack_size)); } } @@ -532,8 +534,7 @@ class TaskQueueSpecializationConstrained< set_cuda_task_base_apply_function_pointer <<<1, 1>>>(ptr_ptr, dtor_ptr); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecializationConstrained::get_function_pointer: Post Get Function Pointer"); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp index abb747e39a..94a428493f 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp @@ -22,7 +22,6 @@ #include #include -#include namespace Kokkos { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp index a945a716bc..c7ea6988a5 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp @@ -77,7 +77,9 @@ class ParallelFor, inline void execute() { const int warps_per_block = 4; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const int multi_processor_count = + m_policy.space().cuda_device_prop().multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared = 0; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp index c7f0d12d91..517c592af7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp @@ -25,23 +25,14 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const Kokkos::Cuda& exec_space_instance, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const Kokkos::Cuda& exec_space_instance, + const View& dst) { KOKKOS_IMPL_CUDA_SAFE_CALL( (exec_space_instance.impl_internal_space_instance() ->cuda_memset_async_wrapper( dst.data(), 0, dst.size() * sizeof(typename View::value_type)))); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - // FIXME_CUDA_MULTIPLE_DEVICES - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Kokkos::Impl::CudaInternal::singleton().cuda_memset_wrapper( - dst.data(), 0, - dst.size() * sizeof(typename View::value_type)))); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp index f78bfd28b2..309e07fb3f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp @@ -18,6 +18,7 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE #endif +#include #include #include @@ -41,7 +42,9 @@ int HIP::impl_is_initialized() { } void HIP::impl_initialize(InitializationSettings const& settings) { - const int hip_device_id = Impl::get_gpu(settings); + const std::vector& visible_devices = Impl::get_visible_devices(); + const int hip_device_id = + Impl::get_gpu(settings).value_or(visible_devices[0]); Impl::HIPInternal::m_hipDev = hip_device_id; KOKKOS_IMPL_HIP_SAFE_CALL( @@ -89,10 +92,23 @@ void HIP::impl_initialize(InitializationSettings const& settings) { hipStream_t singleton_stream; KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamCreate(&singleton_stream)); - Impl::HIPInternal::singleton().initialize(singleton_stream, /*manage*/ true); + Impl::HIPInternal::singleton().initialize(singleton_stream); } -void HIP::impl_finalize() { Impl::HIPInternal::singleton().finalize(); } +void HIP::impl_finalize() { + (void)Impl::hip_global_unique_token_locks(true); + + desul::Impl::finalize_lock_arrays(); // FIXME + + KOKKOS_IMPL_HIP_SAFE_CALL( + hipEventDestroy(Impl::HIPInternal::constantMemReusable)); + KOKKOS_IMPL_HIP_SAFE_CALL( + hipHostFree(Impl::HIPInternal::constantMemHostStaging)); + + Impl::HIPInternal::singleton().finalize(); + KOKKOS_IMPL_HIP_SAFE_CALL( + hipStreamDestroy(Impl::HIPInternal::singleton().m_stream)); +} HIP::HIP() : m_space_instance(&Impl::HIPInternal::singleton(), @@ -102,13 +118,17 @@ HIP::HIP() } HIP::HIP(hipStream_t const stream, Impl::ManageStream manage_stream) - : m_space_instance(new Impl::HIPInternal, [](Impl::HIPInternal* ptr) { - ptr->finalize(); - delete ptr; - }) { + : m_space_instance( + new Impl::HIPInternal, [manage_stream](Impl::HIPInternal* ptr) { + ptr->finalize(); + if (static_cast(manage_stream)) { + KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(ptr->m_stream)); + } + delete ptr; + }) { Impl::HIPInternal::singleton().verify_is_initialized( "HIP instance constructor"); - m_space_instance->initialize(stream, static_cast(manage_stream)); + m_space_instance->initialize(stream); } KOKKOS_DEPRECATED HIP::HIP(hipStream_t const stream, bool manage_stream) diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp index 61ed346b21..3a88e97ee3 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp @@ -57,13 +57,15 @@ class HIP { //! \name Functions that all Kokkos devices must implement. //@{ - KOKKOS_INLINE_FUNCTION static int in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__HIP_DEVICE_COMPILE__) return true; #else return false; #endif } +#endif /** \brief Wait until all dispatched functors complete. * @@ -94,9 +96,13 @@ class HIP { static int impl_is_initialized(); - // static size_type device_arch(); - - static size_type detect_device_count(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static size_type detect_device_count() { + int count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&count)); + return count; + } +#endif #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp index 576c53426b..5f0df72df1 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp @@ -20,13 +20,11 @@ #include #include -#include #include #include #include -#include #include namespace Kokkos { @@ -43,7 +41,6 @@ class GraphNodeKernelImpl using base_t = typename PatternImplSpecializationFromTag::type; - using Record = Kokkos::Impl::SharedAllocationRecord; // TODO use the name and executionspace template @@ -60,7 +57,7 @@ class GraphNodeKernelImpl ~GraphNodeKernelImpl() { if (m_driver_storage) { - Record::decrement(Record::get_record(m_driver_storage)); + Kokkos::HIPSpace().deallocate(m_driver_storage, sizeof(base_t)); } } @@ -78,15 +75,9 @@ class GraphNodeKernelImpl Kokkos::ObservingRawPtr allocate_driver_memory_buffer() const { KOKKOS_EXPECTS(m_driver_storage == nullptr); - - auto* record = Record::allocate( - Kokkos::HIPSpace{}, "GraphNodeKernel global memory functor storage", - sizeof(base_t)); - - Record::increment(record); - m_driver_storage = reinterpret_cast(record->data()); + m_driver_storage = static_cast(Kokkos::HIPSpace().allocate( + "GraphNodeKernel global memory functor storage", sizeof(base_t))); KOKKOS_ENSURES(m_driver_storage != nullptr); - return m_driver_storage; } diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp index 7f04eb721c..22c0db047f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include /*--------------------------------------------------------------------------*/ @@ -89,10 +90,14 @@ void HIPInternal::print_configuration(std::ostream &s) const { << '\n'; #endif - int hipDevCount; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&hipDevCount)); + s << "macro KOKKOS_ENABLE_ROCTHRUST : " +#if defined(KOKKOS_ENABLE_ROCTHRUST) + << "defined\n"; +#else + << "undefined\n"; +#endif - for (int i = 0; i < hipDevCount; ++i) { + for (int i : get_visible_devices()) { hipDeviceProp_t hipProp; KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceProperties(&hipProp, i)); std::string gpu_type = hipProp.integrated == 1 ? "APU" : "dGPU"; @@ -159,14 +164,13 @@ void HIPInternal::fence(const std::string &name) const { [&]() { KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamSynchronize(m_stream)); }); } -void HIPInternal::initialize(hipStream_t stream, bool manage_stream) { +void HIPInternal::initialize(hipStream_t stream) { KOKKOS_EXPECTS(!is_initialized()); if (was_finalized) Kokkos::abort("Calling HIP::initialize after HIP::finalize is illegal\n"); - m_stream = stream; - m_manage_stream = manage_stream; + m_stream = stream; //---------------------------------- // Multiblock reduction uses scratch flags for counters @@ -192,20 +196,19 @@ void HIPInternal::initialize(hipStream_t stream, bool manage_stream) { Kokkos::HIP::size_type *HIPInternal::scratch_space(const std::size_t size) { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { + Kokkos::HIPSpace mem_space; + + if (m_scratchSpace) { + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + } + m_scratchSpaceCount = scratch_count(size); - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchSpaceCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::HIPSpace(), "Kokkos::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast( + mem_space.allocate("Kokkos::InternalScratchSpace", alloc_size)); } return m_scratchSpace; @@ -214,21 +217,23 @@ Kokkos::HIP::size_type *HIPInternal::scratch_space(const std::size_t size) { Kokkos::HIP::size_type *HIPInternal::scratch_flags(const std::size_t size) { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { + Kokkos::HIPSpace mem_space; + + if (m_scratchFlags) { + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + } + m_scratchFlagsCount = scratch_count(size); - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchFlagsCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::HIPSpace(), "Kokkos::InternalScratchFlags", alloc_size); - - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); + m_scratchFlags = static_cast( + mem_space.allocate("Kokkos::InternalScratchFlags", alloc_size)); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. KOKKOS_IMPL_HIP_SAFE_CALL(hipMemset(m_scratchFlags, 0, alloc_size)); } @@ -238,29 +243,20 @@ Kokkos::HIP::size_type *HIPInternal::scratch_flags(const std::size_t size) { Kokkos::HIP::size_type *HIPInternal::stage_functor_for_execution( void const *driver, std::size_t const size) const { if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { - m_scratchFunctorSize = size; - - using Record = Kokkos::Impl::SharedAllocationRecord; - using RecordHost = - Kokkos::Impl::SharedAllocationRecord; + Kokkos::HIPSpace device_mem_space; + Kokkos::HIPHostPinnedSpace host_mem_space; if (m_scratchFunctor) { - Record::decrement(Record::get_record(m_scratchFunctor)); - RecordHost::decrement(RecordHost::get_record(m_scratchFunctorHost)); + device_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + host_mem_space.deallocate(m_scratchFunctorHost, m_scratchFunctorSize); } - Record *const r = - Record::allocate(Kokkos::HIPSpace(), "Kokkos::InternalScratchFunctor", - m_scratchFunctorSize); - RecordHost *const r_host = RecordHost::allocate( - Kokkos::HIPHostPinnedSpace(), "Kokkos::InternalScratchFunctorHost", - m_scratchFunctorSize); + m_scratchFunctorSize = size; - Record::increment(r); - RecordHost::increment(r_host); - - m_scratchFunctor = reinterpret_cast(r->data()); - m_scratchFunctorHost = reinterpret_cast(r_host->data()); + m_scratchFunctor = static_cast(device_mem_space.allocate( + "Kokkos::InternalScratchFunctor", m_scratchFunctorSize)); + m_scratchFunctorHost = static_cast(host_mem_space.allocate( + "Kokkos::InternalScratchFunctorHost", m_scratchFunctorSize)); } // When using HSA_XNACK=1, it is necessary to copy the driver to the host to @@ -323,23 +319,18 @@ void HIPInternal::finalize() { this->fence("Kokkos::HIPInternal::finalize: fence on finalization"); was_finalized = true; - if (this == &singleton()) { - (void)Kokkos::Impl::hip_global_unique_token_locks(true); - desul::Impl::finalize_lock_arrays(); // FIXME - - KOKKOS_IMPL_HIP_SAFE_CALL(hipHostFree(constantMemHostStaging)); - KOKKOS_IMPL_HIP_SAFE_CALL(hipEventDestroy(constantMemReusable)); - } - if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { - using RecordHIP = Kokkos::Impl::SharedAllocationRecord; + Kokkos::HIPSpace device_mem_space; - RecordHIP::decrement(RecordHIP::get_record(m_scratchFlags)); - RecordHIP::decrement(RecordHIP::get_record(m_scratchSpace)); + device_mem_space.deallocate(m_scratchFlags, + m_scratchSpaceCount * sizeScratchGrain); + device_mem_space.deallocate(m_scratchSpace, + m_scratchFlagsCount * sizeScratchGrain); if (m_scratchFunctorSize > 0) { - RecordHIP::decrement(RecordHIP::get_record(m_scratchFunctor)); - RecordHIP::decrement(RecordHIP::get_record(m_scratchFunctorHost)); + device_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + Kokkos::HIPHostPinnedSpace host_mem_space; + host_mem_space.deallocate(m_scratchFunctorHost, m_scratchFunctorSize); } } @@ -348,14 +339,10 @@ void HIPInternal::finalize() { Kokkos::kokkos_free(m_team_scratch_ptr[i]); } - if (m_manage_stream && m_stream != nullptr) - KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(m_stream)); - m_scratchSpaceCount = 0; m_scratchFlagsCount = 0; m_scratchSpace = nullptr; m_scratchFlags = nullptr; - m_stream = nullptr; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -419,13 +406,3 @@ void Kokkos::Impl::create_HIP_instances(std::vector &instances) { instances[s] = HIP(stream, ManageStream::yes); } } - -//---------------------------------------------------------------------------- - -namespace Kokkos { -HIP::size_type HIP::detect_device_count() { - int hipDevCount; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&hipDevCount)); - return hipDevCount; -} -} // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp index 63ad66686b..142008124a 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp @@ -98,7 +98,6 @@ class HIPInternal { uint32_t m_instance_id = Kokkos::Tools::Experimental::Impl::idForInstance( reinterpret_cast(this)); - bool m_manage_stream = false; // Team Scratch Level 1 Space int m_n_team_scratch = 10; @@ -124,7 +123,7 @@ class HIPInternal { return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(hipStream_t stream, bool manage_stream); + void initialize(hipStream_t stream); void finalize(); void print_configuration(std::ostream &) const; diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp new file mode 100644 index 0000000000..db07c360b5 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp @@ -0,0 +1,173 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_MDRANGE_HPP +#define KOKKOS_HIP_PARALLEL_FOR_MDRANGE_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +// ParallelFor +template +class ParallelFor, HIP> { + public: + using Policy = Kokkos::MDRangePolicy; + using functor_type = FunctorType; + + private: + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + using LaunchBounds = typename Policy::launch_bounds; + + const FunctorType m_functor; + const Policy m_policy; + + public: + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + inline __device__ void operator()() const { + Kokkos::Impl::DeviceIterateTile(m_policy, + m_functor) + .exec_range(); + } + + inline void execute() const { + using ClosureType = ParallelFor; + if (m_policy.m_num_tiles == 0) return; + auto const maxblocks = hip_internal_maximum_grid_count(); + if (Policy::rank == 2) { + dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], 1); + dim3 const grid( + std::min( + (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / + block.x, + maxblocks[0]), + std::min( + (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / + block.y, + maxblocks[1]), + 1); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 3) { + dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], + m_policy.m_tile[2]); + dim3 const grid( + std::min( + (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / + block.x, + maxblocks[0]), + std::min( + (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / + block.y, + maxblocks[1]), + std::min( + (m_policy.m_upper[2] - m_policy.m_lower[2] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 4) { + // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to + // threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2], m_policy.m_tile[3]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + (m_policy.m_upper[2] - m_policy.m_lower[2] + block.y - 1) / + block.y, + maxblocks[1]), + std::min( + (m_policy.m_upper[3] - m_policy.m_lower[3] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 5) { + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 + // to threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2] * m_policy.m_tile[3], + m_policy.m_tile[4]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), + std::min( + (m_policy.m_upper[4] - m_policy.m_lower[4] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 6) { + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; + // id4,id5 to threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2] * m_policy.m_tile[3], + m_policy.m_tile[4] * m_policy.m_tile[5]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), + std::min( + m_policy.m_tile_end[4] * m_policy.m_tile_end[5], maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else { + Kokkos::abort("Kokkos::MDRange Error: Exceeded rank bounds with HIP\n"); + } + + } // end execute + + ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) + : m_functor(arg_functor), m_policy(arg_policy) {} + + template + static int max_tile_size_product(const Policy&, const Functor&) { + using closure_type = + ParallelFor, HIP>; + unsigned block_size = hip_get_max_blocksize(); + if (block_size == 0) + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelFor< HIP > could not find a valid " + "tile size.")); + return block_size; + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp new file mode 100644 index 0000000000..9355c1c75f --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp @@ -0,0 +1,100 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_FOR_RANGE_HPP + +#include + +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelFor, Kokkos::HIP> { + public: + using Policy = Kokkos::RangePolicy; + + private: + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using LaunchBounds = typename Policy::launch_bounds; + + const FunctorType m_functor; + const Policy m_policy; + + template + inline __device__ std::enable_if_t::value> exec_range( + const Member i) const { + m_functor(i); + } + + template + inline __device__ std::enable_if_t::value> exec_range( + const Member i) const { + m_functor(TagType(), i); + } + + public: + using functor_type = FunctorType; + + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + inline __device__ void operator()() const { + const Member work_stride = blockDim.y * gridDim.x; + const Member work_end = m_policy.end(); + + for (Member iwork = + m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; + iwork < work_end; + iwork = iwork < work_end - work_stride ? iwork + work_stride + : work_end) { + this->template exec_range(iwork); + } + } + + inline void execute() const { + const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); + + using DriverType = ParallelFor; + const int block_size = + Kokkos::Impl::hip_get_preferred_blocksize(); + const dim3 block(1, block_size, 1); + const dim3 grid( + typename Policy::index_type((nwork + block.y - 1) / block.y), 1, 1); + + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelFor< HIP > could not find a " + "valid execution configuration.")); + } + Kokkos::Impl::hip_parallel_launch( + *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), + false); + } + + ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) + : m_functor(arg_functor), m_policy(arg_policy) {} +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp new file mode 100644 index 0000000000..bf0c219338 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp @@ -0,0 +1,177 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_TEAM_HPP +#define KOKKOS_HIP_PARALLEL_FOR_TEAM_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelFor, HIP> { + public: + using Policy = TeamPolicy; + using functor_type = FunctorType; + using size_type = HIP::size_type; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ team reduce space ] + // [ team shared space ] + + FunctorType const m_functor; + Policy const m_policy; + size_type const m_league_size; + int m_team_size; + size_type const m_vector_size; + int m_shmem_begin; + int m_shmem_size; + void* m_scratch_ptr[2]; + size_t m_scratch_size[2]; + int m_scratch_pool_id = -1; + int32_t* m_scratch_locks; + size_t m_num_scratch_locks; + + template + __device__ inline std::enable_if_t::value> exec_team( + const member_type& member) const { + m_functor(member); + } + + template + __device__ inline std::enable_if_t::value> exec_team( + const member_type& member) const { + m_functor(TagType(), member); + } + + public: + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + __device__ inline void operator()() const { + // Iterate this block through the league + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, + m_num_scratch_locks); + } + + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team(typename Policy::member_type( + kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, + static_cast(static_cast(m_scratch_ptr[1]) + + ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size)); + } + if (m_scratch_size[1] > 0) { + hip_release_scratch_index(m_scratch_locks, threadid); + } + } + + inline void execute() const { + int64_t const shmem_size_total = m_shmem_begin + m_shmem_size; + dim3 const grid(static_cast(m_league_size), 1, 1); + dim3 const block(static_cast(m_vector_size), + static_cast(m_team_size), 1); + + using closure_type = + ParallelFor, HIP>; + Impl::hip_parallel_launch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + } + + ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) + : m_functor(arg_functor), + m_policy(arg_policy), + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.impl_vector_length()) { + auto internal_space_instance = + m_policy.space().impl_internal_space_instance(); + m_team_size = m_team_size >= 0 ? m_team_size + : arg_policy.team_size_recommended( + arg_functor, ParallelForTag()); + + m_shmem_begin = (sizeof(double) * (m_team_size + 2)); + m_shmem_size = + (m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value(m_functor, m_team_size)); + m_scratch_size[0] = m_policy.scratch_size(0, m_team_size); + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_locks = internal_space_instance->m_scratch_locks; + m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + m_scratch_ptr[0] = nullptr; + if (m_team_size <= 0) { + m_scratch_ptr[1] = nullptr; + } else { + m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); + m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( + m_scratch_pool_id, + static_cast(m_scratch_size[1]) * + (std::min( + static_cast(HIP().concurrency() / + (m_team_size * m_vector_size)), + static_cast(m_league_size)))); + } + + int const shmem_size_total = m_shmem_begin + m_shmem_size; + if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor< HIP > insufficient shared memory")); + } + + size_t max_size = arg_policy.team_size_max(arg_functor, ParallelForTag()); + if (static_cast(m_team_size) > static_cast(max_size)) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor< HIP > requested too large team size.")); + } + } + + ~ParallelFor() { + if (m_scratch_pool_id >= 0) { + m_policy.space() + .impl_internal_space_instance() + ->release_team_scratch_space(m_scratch_pool_id); + } + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp similarity index 61% rename from lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp index 0fa325cb12..55b6218d1c 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp @@ -14,157 +14,19 @@ // //@HEADER -#ifndef KOKKOS_HIP_PARALLEL_MDRANGE_HPP -#define KOKKOS_HIP_PARALLEL_MDRANGE_HPP +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_MDRANGE_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_MDRANGE_HPP + +#include #include #include #include #include #include -#include namespace Kokkos { namespace Impl { -// ParallelFor -template -class ParallelFor, HIP> { - public: - using Policy = Kokkos::MDRangePolicy; - using functor_type = FunctorType; - - private: - using array_index_type = typename Policy::array_index_type; - using index_type = typename Policy::index_type; - using LaunchBounds = typename Policy::launch_bounds; - - const FunctorType m_functor; - const Policy m_policy; - - public: - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - inline __device__ void operator()() const { - Kokkos::Impl::DeviceIterateTile(m_policy, - m_functor) - .exec_range(); - } - - inline void execute() const { - using ClosureType = ParallelFor; - if (m_policy.m_num_tiles == 0) return; - auto const maxblocks = hip_internal_maximum_grid_count(); - if (Policy::rank == 2) { - dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], 1); - dim3 const grid( - std::min( - (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / - block.x, - maxblocks[0]), - std::min( - (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / - block.y, - maxblocks[1]), - 1); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 3) { - dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], - m_policy.m_tile[2]); - dim3 const grid( - std::min( - (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / - block.x, - maxblocks[0]), - std::min( - (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / - block.y, - maxblocks[1]), - std::min( - (m_policy.m_upper[2] - m_policy.m_lower[2] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 4) { - // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to - // threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2], m_policy.m_tile[3]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - (m_policy.m_upper[2] - m_policy.m_lower[2] + block.y - 1) / - block.y, - maxblocks[1]), - std::min( - (m_policy.m_upper[3] - m_policy.m_lower[3] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 5) { - // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 - // to threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2] * m_policy.m_tile[3], - m_policy.m_tile[4]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), - std::min( - (m_policy.m_upper[4] - m_policy.m_lower[4] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 6) { - // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; - // id4,id5 to threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2] * m_policy.m_tile[3], - m_policy.m_tile[4] * m_policy.m_tile[5]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), - std::min( - m_policy.m_tile_end[4] * m_policy.m_tile_end[5], maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else { - Kokkos::abort("Kokkos::MDRange Error: Exceeded rank bounds with HIP\n"); - } - - } // end execute - - ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) - : m_functor(arg_functor), m_policy(arg_policy) {} - - template - static int max_tile_size_product(const Policy&, const Functor&) { - using closure_type = - ParallelFor, HIP>; - unsigned block_size = hip_get_max_blocksize(); - if (block_size == 0) - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelFor< HIP > could not find a valid " - "tile size.")); - return block_size; - } -}; // ParallelReduce template diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp new file mode 100644 index 0000000000..c8981866e8 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp @@ -0,0 +1,329 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_RANGE_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelReduce, + Kokkos::HIP> { + public: + using Policy = Kokkos::RangePolicy; + using FunctorType = typename CombinedFunctorReducerType::functor_type; + using ReducerType = typename CombinedFunctorReducerType::reducer_type; + + private: + using WorkRange = typename Policy::WorkRange; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using LaunchBounds = typename Policy::launch_bounds; + + public: + using pointer_type = typename ReducerType::pointer_type; + using value_type = typename ReducerType::value_type; + using reference_type = typename ReducerType::reference_type; + using functor_type = FunctorType; + using reducer_type = ReducerType; + using size_type = Kokkos::HIP::size_type; + using index_type = typename Policy::index_type; + // Conditionally set word_size_type to int16_t or int8_t if value_type is + // smaller than int32_t (Kokkos::HIP::size_type) + // word_size_type is used to determine the word count, shared memory buffer + // size, and global memory buffer size before the scan is performed. + // Within the scan, the word count is recomputed based on word_size_type + // and when calculating indexes into the shared/global memory buffers for + // performing the scan, word_size_type is used again. + // For scalars > 4 bytes in size, indexing into shared/global memory relies + // on the block and grid dimensions to ensure that we index at the correct + // offset rather than at every 4 byte word; such that, when the join is + // performed, we have the correct data that was copied over in chunks of 4 + // bytes. + using word_size_type = std::conditional_t< + sizeof(value_type) < sizeof(size_type), + std::conditional_t, size_type>; + + // Algorithmic constraints: blockSize is a power of two AND blockDim.y == + // blockDim.z == 1 + + const CombinedFunctorReducerType m_functor_reducer; + const Policy m_policy; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + const bool m_result_ptr_host_accessible; + word_size_type* m_scratch_space = nullptr; + size_type* m_scratch_flags = nullptr; + + static constexpr bool UseShflReduction = false; + + private: + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; + + // Make the exec_range calls call to Reduce::DeviceIterateTile + template + __device__ inline std::enable_if_t::value> exec_range( + const Member& i, reference_type update) const { + m_functor_reducer.get_functor()(i, update); + } + + template + __device__ inline std::enable_if_t::value> exec_range( + const Member& i, reference_type update) const { + m_functor_reducer.get_functor()(TagType(), i, update); + } + + public: + __device__ inline void operator()() const { + using ReductionTag = std::conditional_t; + run(ReductionTag{}); + } + + __device__ inline void run(SHMEMReductionTag) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + const integral_nonzero_constant + word_count(reducer.value_size() / sizeof(word_size_type)); + + { + reference_type value = reducer.init(reinterpret_cast( + ::Kokkos::kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value)); + + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of + // work to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically + // equivalent. + + const WorkRange range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + } + + // Reduce with final value at blockDim.y - 1 location. + // Shortcut for length zero reduction + bool do_final_reduction = m_policy.begin() == m_policy.end(); + if (!do_final_reduction) + do_final_reduction = hip_single_inter_block_reduce_scan( + reducer, blockIdx.x, gridDim.x, + ::Kokkos::kokkos_impl_hip_shared_memory(), + m_scratch_space, m_scratch_flags); + if (do_final_reduction) { + // This is the final block with the final result at the final threads' + // location + + word_size_type* const shared = + ::Kokkos::kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + word_size_type* const global = + m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + reducer.final(reinterpret_cast(shared)); + } + + if (::Kokkos::Impl::HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(ShflReductionTag) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + value_type value; + reducer.init(&value); + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of work + // to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically equivalent. + + WorkRange const range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + + pointer_type const result = reinterpret_cast(m_scratch_space); + + int max_active_thread = static_cast(range.end() - range.begin()) < + static_cast(blockDim.y) + ? range.end() - range.begin() + : blockDim.y; + + max_active_thread = + (max_active_thread == 0) ? blockDim.y : max_active_thread; + + value_type init; + reducer.init(&init); + if (m_policy.begin() == m_policy.end()) { + reducer.final(&value); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } else if (Impl::hip_inter_block_shuffle_reduction<>( + value, init, reducer, m_scratch_space, result, + m_scratch_flags, max_active_thread)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + reducer.final(&value); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } + } + } + + // Determine block size constrained by shared memory: + inline unsigned local_block_size(const FunctorType& f) { + const auto& instance = m_policy.space().impl_internal_space_instance(); + auto shmem_functor = [&f](unsigned n) { + return hip_single_inter_block_reduce_scan_shmem(f, n); + }; + return Kokkos::Impl::hip_get_preferred_blocksize( + instance, shmem_functor); + } + + inline void execute() { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + const index_type nwork = m_policy.end() - m_policy.begin(); + const bool need_device_set = ReducerType::has_init_member_function() || + ReducerType::has_final_member_function() || + !m_result_ptr_host_accessible || + !std::is_same::value; + if ((nwork > 0) || need_device_set) { + const int block_size = local_block_size(m_functor_reducer.get_functor()); + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > could not find a " + "valid execution configuration.")); + } + + // REQUIRED ( 1 , N , 1 ) + dim3 block(1, block_size, 1); + // use a slightly less constrained, but still well bounded limit for + // scratch + int nblocks = (nwork + block.y - 1) / block.y; + // Heuristic deciding the value of nblocks. + // The general idea here is we want to: + // 1. Not undersubscribe the device (i.e., we want at least + // preferred_block_min blocks) + // 2. Have each thread reduce > 1 value to minimize overheads + // 3. Limit the total # of blocks, to avoid unbounded scratch space + constexpr int block_max = 4096; + constexpr int preferred_block_min = 1024; + + if (nblocks < preferred_block_min) { + // keep blocks as is, already have low parallelism + } else if (nblocks > block_max) { + // "large dispatch" -> already have lots of parallelism + nblocks = block_max; + } else { + // in the intermediate range, try to have each thread process multiple + // items to offset the cost of the reduction (with not enough + // parallelism to hide it) + int items_per_thread = + (nwork + nblocks * block_size - 1) / (nblocks * block_size); + if (items_per_thread < 4) { + int ratio = std::min( + (nblocks + preferred_block_min - 1) / preferred_block_min, + (4 + items_per_thread - 1) / items_per_thread); + nblocks /= ratio; + } + } + + // TODO: down casting these uses more space than required? + m_scratch_space = + (word_size_type*)::Kokkos::Impl::hip_internal_scratch_space( + m_policy.space(), reducer.value_size() * nblocks); + // Intentionally do not downcast to word_size_type since we use HIP + // atomics in Kokkos_HIP_ReduceScan.hpp + m_scratch_flags = ::Kokkos::Impl::hip_internal_scratch_flags( + m_policy.space(), sizeof(size_type)); + // Required grid.x <= block.y + dim3 grid(nblocks, 1, 1); + + if (nwork == 0) { + block = dim3(1, 1, 1); + grid = dim3(1, 1, 1); + } + const int shmem = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem( + m_functor_reducer.get_functor(), block.y); + + Kokkos::Impl::hip_parallel_launch( + *this, grid, block, shmem, + m_policy.space().impl_internal_space_instance(), + false); // copy to device and execute + + if (!m_result_ptr_device_accessible && m_result_ptr) { + const int size = reducer.value_size(); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); + } + } else { + if (m_result_ptr) { + reducer.init(m_result_ptr); + } + } + } + + template + ParallelReduce(const CombinedFunctorReducerType& arg_functor_reducer, + const Policy& arg_policy, const ViewType& arg_result) + : m_functor_reducer(arg_functor_reducer), + m_policy(arg_policy), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_result_ptr_host_accessible( + MemorySpaceAccess::accessible) {} +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp new file mode 100644 index 0000000000..609ba28b86 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp @@ -0,0 +1,394 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_TEAM_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_TEAM_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelReduce, HIP> { + public: + using Policy = TeamPolicyInternal; + using FunctorType = typename CombinedFunctorReducerType::functor_type; + using ReducerType = typename CombinedFunctorReducerType::reducer_type; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + using pointer_type = typename ReducerType::pointer_type; + using reference_type = typename ReducerType::reference_type; + using value_type = typename ReducerType::value_type; + + public: + using functor_type = FunctorType; + using size_type = HIP::size_type; + + // static int constexpr UseShflReduction = false; + // FIXME_HIP This should be disabled unconditionally for best performance, but + // it currently causes tests to fail. + static constexpr int UseShflReduction = + (ReducerType::static_value_size() != 0); + + private: + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ global reduce space ] + // [ team reduce space ] + // [ team shared space ] + // + + const CombinedFunctorReducerType m_functor_reducer; + const Policy m_policy; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + const bool m_result_ptr_host_accessible; + size_type* m_scratch_space; + size_type* m_scratch_flags; + size_type m_team_begin; + size_type m_shmem_begin; + size_type m_shmem_size; + void* m_scratch_ptr[2]; + size_t m_scratch_size[2]; + int m_scratch_pool_id = -1; + int32_t* m_scratch_locks; + size_t m_num_scratch_locks; + const size_type m_league_size; + int m_team_size; + const size_type m_vector_size; + + template + __device__ inline std::enable_if_t::value> exec_team( + member_type const& member, reference_type update) const { + m_functor_reducer.get_functor()(member, update); + } + + template + __device__ inline std::enable_if_t::value> exec_team( + member_type const& member, reference_type update) const { + m_functor_reducer.get_functor()(TagType(), member, update); + } + + __device__ inline void iterate_through_league(int const threadid, + reference_type value) const { + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team( + member_type( + kokkos_impl_hip_shared_memory() + m_team_begin, + m_shmem_begin, m_shmem_size, + reinterpret_cast( + reinterpret_cast(m_scratch_ptr[1]) + + static_cast(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size), + value); + } + } + + int compute_block_count() const { + constexpr auto light_weight = + Kokkos::Experimental::WorkItemProperty::HintLightWeight; + constexpr typename Policy::work_item_property property; + // Numbers were tuned on MI210 using dot product and yAx benchmarks + constexpr int block_max = + (property & light_weight) == light_weight ? 2097152 : 65536; + constexpr int preferred_block_min = 1024; + int block_count = m_league_size; + if (block_count < preferred_block_min) { + // keep blocks as is, already low parallelism + } else if (block_count >= block_max) { + block_count = block_max; + + } else { + int nwork = m_league_size * m_team_size; + int items_per_thread = + (nwork + block_count * m_team_size - 1) / (block_count * m_team_size); + if (items_per_thread < 4) { + int ratio = std::min( + (block_count + preferred_block_min - 1) / preferred_block_min, + (4 + items_per_thread - 1) / items_per_thread); + block_count /= ratio; + } + } + + return block_count; + } + + public: + __device__ inline void operator()() const { + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, + m_num_scratch_locks); + } + + using ReductionTag = std::conditional_t; + run(ReductionTag{}, threadid); + + if (m_scratch_size[1] > 0) { + hip_release_scratch_index(m_scratch_locks, threadid); + } + } + + __device__ inline void run(SHMEMReductionTag, int const threadid) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + integral_nonzero_constant const + word_count(reducer.value_size() / sizeof(size_type)); + + reference_type value = + reducer.init(kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value); + // Iterate this block through the league + iterate_through_league(threadid, value); + + // Reduce with final value at blockDim.y - 1 location. + bool do_final_reduce = (m_league_size == 0); + if (!do_final_reduce) + do_final_reduce = + hip_single_inter_block_reduce_scan( + reducer, blockIdx.x, gridDim.x, + kokkos_impl_hip_shared_memory(), m_scratch_space, + m_scratch_flags); + if (do_final_reduce) { + // This is the final block with the final result at the final threads' + // location + + size_type* const shared = kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + size_type* const global = m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + reducer.final(reinterpret_cast(shared)); + } + + if (HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(ShflReductionTag, int const threadid) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + value_type value; + reducer.init(&value); + + // Iterate this block through the league + iterate_through_league(threadid, value); + + pointer_type const result = + m_result_ptr_device_accessible + ? m_result_ptr + : reinterpret_cast(m_scratch_space); + + value_type init; + reducer.init(&init); + if (m_league_size == 0) { + reducer.final(&value); + *result = value; + } else if (Impl::hip_inter_block_shuffle_reduction( + value, init, reducer, m_scratch_space, result, + m_scratch_flags, blockDim.y)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + reducer.final(&value); + *result = value; + } + } + } + + inline void execute() { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + const bool is_empty_range = m_league_size == 0 || m_team_size == 0; + const bool need_device_set = ReducerType::has_init_member_function() || + ReducerType::has_final_member_function() || + !m_result_ptr_host_accessible || + Policy::is_graph_kernel::value || + !std::is_same::value; + if (!is_empty_range || need_device_set) { + int const block_count = compute_block_count(); + + m_scratch_space = hip_internal_scratch_space( + m_policy.space(), reducer.value_size() * block_count); + m_scratch_flags = + hip_internal_scratch_flags(m_policy.space(), sizeof(size_type)); + + dim3 block(m_vector_size, m_team_size, 1); + dim3 grid(block_count, 1, 1); + if (is_empty_range) { + block = dim3(1, 1, 1); + grid = dim3(1, 1, 1); + } + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + Impl::hip_parallel_launch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + + if (!m_result_ptr_device_accessible) { + m_policy.space().impl_internal_space_instance()->fence(); + + if (m_result_ptr) { + const int size = reducer.value_size(); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); + } + } + } else { + if (m_result_ptr) { + reducer.init(m_result_ptr); + } + } + } + + template + ParallelReduce(CombinedFunctorReducerType const& arg_functor_reducer, + Policy const& arg_policy, ViewType const& arg_result) + : m_functor_reducer(arg_functor_reducer), + m_policy(arg_policy), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_result_ptr_host_accessible( + MemorySpaceAccess::accessible), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_team_begin(0), + m_shmem_begin(0), + m_shmem_size(0), + m_scratch_ptr{nullptr, nullptr}, + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.impl_vector_length()) { + auto internal_space_instance = + m_policy.space().impl_internal_space_instance(); + m_team_size = m_team_size >= 0 ? m_team_size + : arg_policy.team_size_recommended( + arg_functor_reducer.get_functor(), + arg_functor_reducer.get_reducer(), + ParallelReduceTag()); + + m_team_begin = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem( + arg_functor_reducer.get_functor(), m_team_size); + m_shmem_begin = sizeof(double) * (m_team_size + 2); + m_shmem_size = m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value( + arg_functor_reducer.get_functor(), m_team_size); + m_scratch_size[0] = m_shmem_size; + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_locks = internal_space_instance->m_scratch_locks; + m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; + if (m_team_size <= 0) { + m_scratch_ptr[1] = nullptr; + } else { + m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); + m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( + m_scratch_pool_id, + static_cast(m_scratch_size[1]) * + (std::min( + static_cast(HIP().concurrency() / + (m_team_size * m_vector_size)), + static_cast(m_league_size)))); + } + + // The global parallel_reduce does not support vector_length other than 1 at + // the moment + if ((arg_policy.impl_vector_length() > 1) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " + "greater than 1 is not currently supported for HIP for dynamic " + "sized reduction types."); + + if ((m_team_size < HIPTraits::WarpSize) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " + "than 64 is not currently supported with HIP for dynamic sized " + "reduction types."); + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && + !UseShflReduction) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); + } + + if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " + "L0 scratch memory")); + } + + size_t max_size = arg_policy.team_size_max( + arg_functor_reducer.get_functor(), arg_functor_reducer.get_reducer(), + ParallelReduceTag()); + if (static_cast(m_team_size) > static_cast(max_size)) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " + "large team size.")); + } + } + + ~ParallelReduce() { + if (m_scratch_pool_id >= 0) { + m_policy.space() + .impl_internal_space_instance() + ->release_team_scratch_space(m_scratch_pool_id); + } + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp similarity index 50% rename from lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp index 26e8be4698..41692a3291 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp @@ -14,390 +14,18 @@ // //@HEADER -#ifndef KOKKO_HIP_PARALLEL_RANGE_HPP -#define KOKKO_HIP_PARALLEL_RANGE_HPP +#ifndef KOKKOS_HIP_PARALLEL_SCAN_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_SCAN_RANGE_HPP #include -#if defined(__HIPCC__) - #include #include #include -#include -#include namespace Kokkos { namespace Impl { -template -class ParallelFor, Kokkos::HIP> { - public: - using Policy = Kokkos::RangePolicy; - - private: - using Member = typename Policy::member_type; - using WorkTag = typename Policy::work_tag; - using LaunchBounds = typename Policy::launch_bounds; - - const FunctorType m_functor; - const Policy m_policy; - - template - inline __device__ std::enable_if_t::value> exec_range( - const Member i) const { - m_functor(i); - } - - template - inline __device__ std::enable_if_t::value> exec_range( - const Member i) const { - m_functor(TagType(), i); - } - - public: - using functor_type = FunctorType; - - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - inline __device__ void operator()() const { - const Member work_stride = blockDim.y * gridDim.x; - const Member work_end = m_policy.end(); - - for (Member iwork = - m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; - iwork < work_end; - iwork = iwork < work_end - work_stride ? iwork + work_stride - : work_end) { - this->template exec_range(iwork); - } - } - - inline void execute() const { - const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); - - using DriverType = ParallelFor; - const int block_size = - Kokkos::Impl::hip_get_preferred_blocksize(); - const dim3 block(1, block_size, 1); - const dim3 grid( - typename Policy::index_type((nwork + block.y - 1) / block.y), 1, 1); - - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelFor< HIP > could not find a " - "valid execution configuration.")); - } - Kokkos::Impl::hip_parallel_launch( - *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), - false); - } - - ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) - : m_functor(arg_functor), m_policy(arg_policy) {} -}; - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -template -class ParallelReduce, - Kokkos::HIP> { - public: - using Policy = Kokkos::RangePolicy; - using FunctorType = typename CombinedFunctorReducerType::functor_type; - using ReducerType = typename CombinedFunctorReducerType::reducer_type; - - private: - using WorkRange = typename Policy::WorkRange; - using WorkTag = typename Policy::work_tag; - using Member = typename Policy::member_type; - using LaunchBounds = typename Policy::launch_bounds; - - public: - using pointer_type = typename ReducerType::pointer_type; - using value_type = typename ReducerType::value_type; - using reference_type = typename ReducerType::reference_type; - using functor_type = FunctorType; - using reducer_type = ReducerType; - using size_type = Kokkos::HIP::size_type; - using index_type = typename Policy::index_type; - // Conditionally set word_size_type to int16_t or int8_t if value_type is - // smaller than int32_t (Kokkos::HIP::size_type) - // word_size_type is used to determine the word count, shared memory buffer - // size, and global memory buffer size before the scan is performed. - // Within the scan, the word count is recomputed based on word_size_type - // and when calculating indexes into the shared/global memory buffers for - // performing the scan, word_size_type is used again. - // For scalars > 4 bytes in size, indexing into shared/global memory relies - // on the block and grid dimensions to ensure that we index at the correct - // offset rather than at every 4 byte word; such that, when the join is - // performed, we have the correct data that was copied over in chunks of 4 - // bytes. - using word_size_type = std::conditional_t< - sizeof(value_type) < sizeof(size_type), - std::conditional_t, size_type>; - - // Algorithmic constraints: blockSize is a power of two AND blockDim.y == - // blockDim.z == 1 - - const CombinedFunctorReducerType m_functor_reducer; - const Policy m_policy; - const pointer_type m_result_ptr; - const bool m_result_ptr_device_accessible; - const bool m_result_ptr_host_accessible; - word_size_type* m_scratch_space = nullptr; - size_type* m_scratch_flags = nullptr; - - static constexpr bool UseShflReduction = false; - - private: - struct ShflReductionTag {}; - struct SHMEMReductionTag {}; - - // Make the exec_range calls call to Reduce::DeviceIterateTile - template - __device__ inline std::enable_if_t::value> exec_range( - const Member& i, reference_type update) const { - m_functor_reducer.get_functor()(i, update); - } - - template - __device__ inline std::enable_if_t::value> exec_range( - const Member& i, reference_type update) const { - m_functor_reducer.get_functor()(TagType(), i, update); - } - - public: - __device__ inline void operator()() const { - using ReductionTag = std::conditional_t; - run(ReductionTag{}); - } - - __device__ inline void run(SHMEMReductionTag) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - const integral_nonzero_constant - word_count(reducer.value_size() / sizeof(word_size_type)); - - { - reference_type value = reducer.init(reinterpret_cast( - ::Kokkos::kokkos_impl_hip_shared_memory() + - threadIdx.y * word_count.value)); - - // Number of blocks is bounded so that the reduction can be limited to two - // passes. Each thread block is given an approximately equal amount of - // work to perform. Accumulate the values for this block. The accumulation - // ordering does not match the final pass, but is arithmetically - // equivalent. - - const WorkRange range(m_policy, blockIdx.x, gridDim.x); - - for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); - iwork < iwork_end; iwork += blockDim.y) { - this->template exec_range(iwork, value); - } - } - - // Reduce with final value at blockDim.y - 1 location. - // Shortcut for length zero reduction - bool do_final_reduction = m_policy.begin() == m_policy.end(); - if (!do_final_reduction) - do_final_reduction = hip_single_inter_block_reduce_scan( - reducer, blockIdx.x, gridDim.x, - ::Kokkos::kokkos_impl_hip_shared_memory(), - m_scratch_space, m_scratch_flags); - if (do_final_reduction) { - // This is the final block with the final result at the final threads' - // location - - word_size_type* const shared = - ::Kokkos::kokkos_impl_hip_shared_memory() + - (blockDim.y - 1) * word_count.value; - word_size_type* const global = - m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) - : m_scratch_space; - - if (threadIdx.y == 0) { - reducer.final(reinterpret_cast(shared)); - } - - if (::Kokkos::Impl::HIPTraits::WarpSize < word_count.value) { - __syncthreads(); - } - - for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { - global[i] = shared[i]; - } - } - } - - __device__ inline void run(ShflReductionTag) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - value_type value; - reducer.init(&value); - // Number of blocks is bounded so that the reduction can be limited to two - // passes. Each thread block is given an approximately equal amount of work - // to perform. Accumulate the values for this block. The accumulation - // ordering does not match the final pass, but is arithmetically equivalent. - - WorkRange const range(m_policy, blockIdx.x, gridDim.x); - - for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); - iwork < iwork_end; iwork += blockDim.y) { - this->template exec_range(iwork, value); - } - - pointer_type const result = reinterpret_cast(m_scratch_space); - - int max_active_thread = static_cast(range.end() - range.begin()) < - static_cast(blockDim.y) - ? range.end() - range.begin() - : blockDim.y; - - max_active_thread = - (max_active_thread == 0) ? blockDim.y : max_active_thread; - - value_type init; - reducer.init(&init); - if (m_policy.begin() == m_policy.end()) { - reducer.final(&value); - pointer_type const final_result = - m_result_ptr_device_accessible ? m_result_ptr : result; - *final_result = value; - } else if (Impl::hip_inter_block_shuffle_reduction<>( - value, init, reducer, m_scratch_space, result, - m_scratch_flags, max_active_thread)) { - unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; - if (id == 0) { - reducer.final(&value); - pointer_type const final_result = - m_result_ptr_device_accessible ? m_result_ptr : result; - *final_result = value; - } - } - } - - // Determine block size constrained by shared memory: - inline unsigned local_block_size(const FunctorType& f) { - const auto& instance = m_policy.space().impl_internal_space_instance(); - auto shmem_functor = [&f](unsigned n) { - return hip_single_inter_block_reduce_scan_shmem(f, n); - }; - return Kokkos::Impl::hip_get_preferred_blocksize( - instance, shmem_functor); - } - - inline void execute() { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - const index_type nwork = m_policy.end() - m_policy.begin(); - const bool need_device_set = ReducerType::has_init_member_function() || - ReducerType::has_final_member_function() || - !m_result_ptr_host_accessible || - !std::is_same::value; - if ((nwork > 0) || need_device_set) { - const int block_size = local_block_size(m_functor_reducer.get_functor()); - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > could not find a " - "valid execution configuration.")); - } - - // REQUIRED ( 1 , N , 1 ) - dim3 block(1, block_size, 1); - // use a slightly less constrained, but still well bounded limit for - // scratch - int nblocks = (nwork + block.y - 1) / block.y; - // Heuristic deciding the value of nblocks. - // The general idea here is we want to: - // 1. Not undersubscribe the device (i.e., we want at least - // preferred_block_min blocks) - // 2. Have each thread reduce > 1 value to minimize overheads - // 3. Limit the total # of blocks, to avoid unbounded scratch space - constexpr int block_max = 4096; - constexpr int preferred_block_min = 1024; - - if (nblocks < preferred_block_min) { - // keep blocks as is, already have low parallelism - } else if (nblocks > block_max) { - // "large dispatch" -> already have lots of parallelism - nblocks = block_max; - } else { - // in the intermediate range, try to have each thread process multiple - // items to offset the cost of the reduction (with not enough - // parallelism to hide it) - int items_per_thread = - (nwork + nblocks * block_size - 1) / (nblocks * block_size); - if (items_per_thread < 4) { - int ratio = std::min( - (nblocks + preferred_block_min - 1) / preferred_block_min, - (4 + items_per_thread - 1) / items_per_thread); - nblocks /= ratio; - } - } - - // TODO: down casting these uses more space than required? - m_scratch_space = - (word_size_type*)::Kokkos::Impl::hip_internal_scratch_space( - m_policy.space(), reducer.value_size() * nblocks); - // Intentionally do not downcast to word_size_type since we use HIP - // atomics in Kokkos_HIP_ReduceScan.hpp - m_scratch_flags = ::Kokkos::Impl::hip_internal_scratch_flags( - m_policy.space(), sizeof(size_type)); - // Required grid.x <= block.y - dim3 grid(nblocks, 1, 1); - - if (nwork == 0) { - block = dim3(1, 1, 1); - grid = dim3(1, 1, 1); - } - const int shmem = - UseShflReduction - ? 0 - : hip_single_inter_block_reduce_scan_shmem( - m_functor_reducer.get_functor(), block.y); - - Kokkos::Impl::hip_parallel_launch( - *this, grid, block, shmem, - m_policy.space().impl_internal_space_instance(), - false); // copy to device and execute - - if (!m_result_ptr_device_accessible && m_result_ptr) { - const int size = reducer.value_size(); - DeepCopy(m_policy.space(), m_result_ptr, - m_scratch_space, size); - } - } else { - if (m_result_ptr) { - reducer.init(m_result_ptr); - } - } - } - - template - ParallelReduce(const CombinedFunctorReducerType& arg_functor_reducer, - const Policy& arg_policy, const ViewType& arg_result) - : m_functor_reducer(arg_functor_reducer), - m_policy(arg_policy), - m_result_ptr(arg_result.data()), - m_result_ptr_device_accessible( - MemorySpaceAccess::accessible), - m_result_ptr_host_accessible( - MemorySpaceAccess::accessible) {} -}; - template class ParallelScanHIPBase { public: @@ -763,5 +391,3 @@ class ParallelScanWithTotal, } // namespace Kokkos #endif - -#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp deleted file mode 100644 index 3fe568ac36..0000000000 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp +++ /dev/null @@ -1,936 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKO_HIP_PARALLEL_TEAM_HPP -#define KOKKO_HIP_PARALLEL_TEAM_HPP - -#include - -#if defined(__HIPCC__) - -#include -#include -#include -#include - -namespace Kokkos { -namespace Impl { - -template -class TeamPolicyInternal - : public PolicyTraits { - public: - using execution_policy = TeamPolicyInternal; - - using traits = PolicyTraits; - - template - friend class TeamPolicyInternal; - - private: - typename traits::execution_space m_space; - int m_league_size; - int m_team_size; - int m_vector_length; - size_t m_team_scratch_size[2]; - size_t m_thread_scratch_size[2]; - int m_chunk_size; - bool m_tune_team_size; - bool m_tune_vector_length; - - public: - using execution_space = HIP; - - template - TeamPolicyInternal(TeamPolicyInternal const& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_vector_length = p.m_vector_length; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - m_space = p.m_space; - m_tune_team_size = p.m_tune_team_size; - m_tune_vector_length = p.m_tune_vector_length; - } - - template - int team_size_max(FunctorType const& f, ParallelForTag const&) const { - using closure_type = - Impl::ParallelFor>; - - return internal_team_size_common(f); - } - - template - inline int team_size_max(const FunctorType& f, - const ParallelReduceTag&) const { - using functor_analysis_type = - Impl::FunctorAnalysis; - using closure_type = Impl::ParallelReduce< - CombinedFunctorReducer, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common< - BlockType::Max, closure_type, - typename functor_analysis_type::value_type>(f); - } - - template - inline int team_size_max(const FunctorType& f, const ReducerType&, - const ParallelReduceTag&) const { - using closure_type = - Impl::ParallelReduce, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common(f); - } - - template - int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { - using closure_type = - Impl::ParallelFor>; - - return internal_team_size_common( - f); - } - - template - inline int team_size_recommended(FunctorType const& f, - ParallelReduceTag const&) const { - using functor_analysis_type = - Impl::FunctorAnalysis; - using closure_type = Impl::ParallelReduce< - CombinedFunctorReducer, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common< - BlockType::Preferred, closure_type, - typename functor_analysis_type::value_type>(f); - } - - template - int team_size_recommended(FunctorType const& f, ReducerType const&, - ParallelReduceTag const&) const { - using closure_type = - Impl::ParallelReduce, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common(f); - } - - inline bool impl_auto_vector_length() const { return m_tune_vector_length; } - inline bool impl_auto_team_size() const { return m_tune_team_size; } - static int vector_length_max() { return HIPTraits::WarpSize; } - - static int verify_requested_vector_length(int requested_vector_length) { - int test_vector_length = - std::min(requested_vector_length, vector_length_max()); - - // Allow only power-of-two vector_length - if (!(is_integral_power_of_two(test_vector_length))) { - int test_pow2 = 1; - constexpr int warp_size = HIPTraits::WarpSize; - while (test_pow2 < warp_size) { - test_pow2 <<= 1; - if (test_pow2 > test_vector_length) { - break; - } - } - test_vector_length = test_pow2 >> 1; - } - - return test_vector_length; - } - - inline static int scratch_size_max(int level) { - // HIP Teams use (team_size + 2)*sizeof(double) shared memory for team - // reductions. They also use one int64_t in static shared memory for a - // shared ID. Furthermore, they use additional scratch memory in some - // reduction scenarios, which depend on the size of the value_type and is - // NOT captured here - constexpr size_t max_possible_team_size = 1024; - constexpr size_t max_reserved_shared_mem_per_team = - (max_possible_team_size + 2) * sizeof(double) + sizeof(int64_t); - // arbitrarily setting level 1 scratch limit to 20MB, for a - // MI250 that would give us about 4.4GB for 2 teams per CU - constexpr size_t max_l1_scratch_size = 20 * 1024 * 1024; - - size_t max_shmem = HIP().hip_device_prop().sharedMemPerBlock; - return (level == 0 ? max_shmem - max_reserved_shared_mem_per_team - : max_l1_scratch_size); - } - - inline void impl_set_vector_length(size_t size) { m_vector_length = size; } - inline void impl_set_team_size(size_t size) { m_team_size = size; } - int impl_vector_length() const { return m_vector_length; } - - int team_size() const { return m_team_size; } - - int league_size() const { return m_league_size; } - - size_t scratch_size(int level, int team_size_ = -1) const { - if (team_size_ < 0) team_size_ = m_team_size; - return m_team_scratch_size[level] + - team_size_ * m_thread_scratch_size[level]; - } - - size_t team_scratch_size(int level) const { - return m_team_scratch_size[level]; - } - - size_t thread_scratch_size(int level) const { - return m_thread_scratch_size[level]; - } - - typename traits::execution_space space() const { return m_space; } - - TeamPolicyInternal() - : m_space(typename traits::execution_space()), - m_league_size(0), - m_team_size(-1), - m_vector_length(0), - m_team_scratch_size{0, 0}, - m_thread_scratch_size{0, 0}, - m_chunk_size(HIPTraits::WarpSize), - m_tune_team_size(false), - m_tune_vector_length(false) {} - - /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space space_, int league_size_, - int team_size_request, int vector_length_request = 1) - : m_space(space_), - m_league_size(league_size_), - m_team_size(team_size_request), - m_vector_length( - (vector_length_request > 0) - ? verify_requested_vector_length(vector_length_request) - : (verify_requested_vector_length(1))), - m_team_scratch_size{0, 0}, - m_thread_scratch_size{0, 0}, - m_chunk_size(HIPTraits::WarpSize), - m_tune_team_size(bool(team_size_request <= 0)), - m_tune_vector_length(bool(vector_length_request <= 0)) { - // Make sure league size is permissible - if (league_size_ >= static_cast(hip_internal_maximum_grid_count()[0])) - Impl::throw_runtime_exception( - "Requested too large league_size for TeamPolicy on HIP execution " - "space."); - - // Make sure total block size is permissible - if (m_team_size * m_vector_length > HIPTraits::MaxThreadsPerBlock) { - Impl::throw_runtime_exception( - std::string("Kokkos::TeamPolicy< HIP > the team size is too large. " - "Team size x vector length must be smaller than 1024.")); - } - } - - /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space space_, int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - int vector_length_request = 1) - : TeamPolicyInternal(space_, league_size_, -1, vector_length_request) {} - // FLAG - /** \brief Specify league size and team size, request vector length*/ - TeamPolicyInternal(const execution_space space_, int league_size_, - int team_size_request, - const Kokkos::AUTO_t& /* vector_length_request */ - ) - : TeamPolicyInternal(space_, league_size_, team_size_request, -1) - - {} - - /** \brief Specify league size, request team size and vector length*/ - TeamPolicyInternal(const execution_space space_, int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(space_, league_size_, -1, -1) - - {} - - TeamPolicyInternal(int league_size_, int team_size_request, - int vector_length_request = 1) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, - team_size_request, vector_length_request) {} - - TeamPolicyInternal(int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - int vector_length_request = 1) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, - vector_length_request) {} - - /** \brief Specify league size and team size, request vector length*/ - TeamPolicyInternal(int league_size_, int team_size_request, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, - team_size_request, -1) - - {} - - /** \brief Specify league size, request team size and vector length*/ - TeamPolicyInternal(int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, - -1) {} - - int chunk_size() const { return m_chunk_size; } - - TeamPolicyInternal& set_chunk_size(typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, - PerTeamValue const& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, - PerThreadValue const& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, PerTeamValue const& per_team, - PerThreadValue const& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - using member_type = Kokkos::Impl::HIPTeamMember; - - protected: - template - int internal_team_size_common(FunctorType const& f) const { - const unsigned shmem_block = team_scratch_size(0) + 2 * sizeof(double); - unsigned shmem_thread = thread_scratch_size(0) + sizeof(double); - using Tag = typename PatternTagFromImplSpecialization::type; - if constexpr (std::is_same_v) { - using Interface = - typename Impl::DeduceFunctorPatternInterface::type; - using Analysis = - Impl::FunctorAnalysis; - shmem_thread += - ((Analysis::StaticValueSize != 0) ? 0 : Analysis::value_size(f)); - } - const int vector_length = impl_vector_length(); - - const auto functor = [&f, shmem_block, shmem_thread, vector_length]( - const hipFuncAttributes& attr, int block_size) { - int functor_shmem = - ::Kokkos::Impl::FunctorTeamShmemSize::value( - f, block_size / vector_length); - return shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - }; - int block_size; - if constexpr (BlockSize == BlockType::Max) { - block_size = hip_get_max_team_blocksize( - space().impl_internal_space_instance(), functor); - } else { - block_size = - hip_get_preferred_team_blocksize( - space().impl_internal_space_instance(), functor); - } - - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor/Reduce< HIP > could not find a valid " - "team size.")); - } - if constexpr (std::is_same_v) { - return block_size / impl_vector_length(); - } else { - // Currently we require Power-of-2 team size for reductions. - int p2 = 1; - while (p2 <= block_size) p2 *= 2; - p2 /= 2; - return p2 / impl_vector_length(); - } - } -}; - -__device__ inline int64_t hip_get_scratch_index(HIP::size_type league_size, - int32_t* scratch_locks, - size_t num_scratch_locks) { - int64_t threadid = 0; - __shared__ int64_t base_thread_id; - if (threadIdx.x == 0 && threadIdx.y == 0) { - int64_t const wraparound_len = - Kokkos::min(int64_t(league_size), - int64_t(num_scratch_locks) / (blockDim.x * blockDim.y)); - threadid = (blockIdx.x * blockDim.z + threadIdx.z) % wraparound_len; - threadid *= blockDim.x * blockDim.y; - int done = 0; - while (!done) { - done = (0 == atomicCAS(&scratch_locks[threadid], 0, 1)); - if (!done) { - threadid += blockDim.x * blockDim.y; - if (int64_t(threadid + blockDim.x * blockDim.y) >= - wraparound_len * blockDim.x * blockDim.y) - threadid = 0; - } - } - base_thread_id = threadid; - } - __syncthreads(); - threadid = base_thread_id; - return threadid; -} - -__device__ inline void hip_release_scratch_index(int32_t* scratch_locks, - int64_t threadid) { - __syncthreads(); - if (threadIdx.x == 0 && threadIdx.y == 0) { - scratch_locks[threadid] = 0; - } -} - -template -class ParallelFor, HIP> { - public: - using Policy = TeamPolicy; - using functor_type = FunctorType; - using size_type = HIP::size_type; - - private: - using member_type = typename Policy::member_type; - using work_tag = typename Policy::work_tag; - using launch_bounds = typename Policy::launch_bounds; - - // Algorithmic constraints: blockDim.y is a power of two AND - // blockDim.y == blockDim.z == 1 shared memory utilization: - // - // [ team reduce space ] - // [ team shared space ] - - FunctorType const m_functor; - Policy const m_policy; - size_type const m_league_size; - int m_team_size; - size_type const m_vector_size; - int m_shmem_begin; - int m_shmem_size; - void* m_scratch_ptr[2]; - size_t m_scratch_size[2]; - int m_scratch_pool_id = -1; - int32_t* m_scratch_locks; - size_t m_num_scratch_locks; - - template - __device__ inline std::enable_if_t::value> exec_team( - const member_type& member) const { - m_functor(member); - } - - template - __device__ inline std::enable_if_t::value> exec_team( - const member_type& member) const { - m_functor(TagType(), member); - } - - public: - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - __device__ inline void operator()() const { - // Iterate this block through the league - int64_t threadid = 0; - if (m_scratch_size[1] > 0) { - threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, - m_num_scratch_locks); - } - - int const int_league_size = static_cast(m_league_size); - for (int league_rank = blockIdx.x; league_rank < int_league_size; - league_rank += gridDim.x) { - this->template exec_team(typename Policy::member_type( - kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, - static_cast(static_cast(m_scratch_ptr[1]) + - ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * - m_scratch_size[1]), - m_scratch_size[1], league_rank, m_league_size)); - } - if (m_scratch_size[1] > 0) { - hip_release_scratch_index(m_scratch_locks, threadid); - } - } - - inline void execute() const { - int64_t const shmem_size_total = m_shmem_begin + m_shmem_size; - dim3 const grid(static_cast(m_league_size), 1, 1); - dim3 const block(static_cast(m_vector_size), - static_cast(m_team_size), 1); - - using closure_type = - ParallelFor, HIP>; - Impl::hip_parallel_launch( - *this, grid, block, shmem_size_total, - m_policy.space().impl_internal_space_instance(), - true); // copy to device and execute - } - - ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) - : m_functor(arg_functor), - m_policy(arg_policy), - m_league_size(arg_policy.league_size()), - m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { - auto internal_space_instance = - m_policy.space().impl_internal_space_instance(); - m_team_size = m_team_size >= 0 ? m_team_size - : arg_policy.team_size_recommended( - arg_functor, ParallelForTag()); - - m_shmem_begin = (sizeof(double) * (m_team_size + 2)); - m_shmem_size = - (m_policy.scratch_size(0, m_team_size) + - FunctorTeamShmemSize::value(m_functor, m_team_size)); - m_scratch_size[0] = m_policy.scratch_size(0, m_team_size); - m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); - m_scratch_locks = internal_space_instance->m_scratch_locks; - m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; - - // Functor's reduce memory, team scan memory, and team shared memory depend - // upon team size. - m_scratch_ptr[0] = nullptr; - if (m_team_size <= 0) { - m_scratch_ptr[1] = nullptr; - } else { - m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); - m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( - m_scratch_pool_id, - static_cast(m_scratch_size[1]) * - (std::min( - static_cast(HIP().concurrency() / - (m_team_size * m_vector_size)), - static_cast(m_league_size)))); - } - - int const shmem_size_total = m_shmem_begin + m_shmem_size; - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor< HIP > insufficient shared memory")); - } - - size_t max_size = arg_policy.team_size_max(arg_functor, ParallelForTag()); - if (static_cast(m_team_size) > static_cast(max_size)) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor< HIP > requested too large team size.")); - } - } - - ~ParallelFor() { - if (m_scratch_pool_id >= 0) { - m_policy.space() - .impl_internal_space_instance() - ->release_team_scratch_space(m_scratch_pool_id); - } - } -}; - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -template -class ParallelReduce, HIP> { - public: - using Policy = TeamPolicyInternal; - using FunctorType = typename CombinedFunctorReducerType::functor_type; - using ReducerType = typename CombinedFunctorReducerType::reducer_type; - - private: - using member_type = typename Policy::member_type; - using work_tag = typename Policy::work_tag; - using launch_bounds = typename Policy::launch_bounds; - - using pointer_type = typename ReducerType::pointer_type; - using reference_type = typename ReducerType::reference_type; - using value_type = typename ReducerType::value_type; - - public: - using functor_type = FunctorType; - using size_type = HIP::size_type; - - // static int constexpr UseShflReduction = false; - // FIXME_HIP This should be disabled unconditionally for best performance, but - // it currently causes tests to fail. - static constexpr int UseShflReduction = - (ReducerType::static_value_size() != 0); - - private: - struct ShflReductionTag {}; - struct SHMEMReductionTag {}; - - // Algorithmic constraints: blockDim.y is a power of two AND - // blockDim.y == blockDim.z == 1 shared memory utilization: - // - // [ global reduce space ] - // [ team reduce space ] - // [ team shared space ] - // - - const CombinedFunctorReducerType m_functor_reducer; - const Policy m_policy; - const pointer_type m_result_ptr; - const bool m_result_ptr_device_accessible; - const bool m_result_ptr_host_accessible; - size_type* m_scratch_space; - size_type* m_scratch_flags; - size_type m_team_begin; - size_type m_shmem_begin; - size_type m_shmem_size; - void* m_scratch_ptr[2]; - size_t m_scratch_size[2]; - int m_scratch_pool_id = -1; - int32_t* m_scratch_locks; - size_t m_num_scratch_locks; - const size_type m_league_size; - int m_team_size; - const size_type m_vector_size; - - template - __device__ inline std::enable_if_t::value> exec_team( - member_type const& member, reference_type update) const { - m_functor_reducer.get_functor()(member, update); - } - - template - __device__ inline std::enable_if_t::value> exec_team( - member_type const& member, reference_type update) const { - m_functor_reducer.get_functor()(TagType(), member, update); - } - - __device__ inline void iterate_through_league(int const threadid, - reference_type value) const { - int const int_league_size = static_cast(m_league_size); - for (int league_rank = blockIdx.x; league_rank < int_league_size; - league_rank += gridDim.x) { - this->template exec_team( - member_type( - kokkos_impl_hip_shared_memory() + m_team_begin, - m_shmem_begin, m_shmem_size, - reinterpret_cast( - reinterpret_cast(m_scratch_ptr[1]) + - static_cast(threadid / (blockDim.x * blockDim.y)) * - m_scratch_size[1]), - m_scratch_size[1], league_rank, m_league_size), - value); - } - } - - int compute_block_count() const { - constexpr auto light_weight = - Kokkos::Experimental::WorkItemProperty::HintLightWeight; - constexpr typename Policy::work_item_property property; - // Numbers were tuned on MI210 using dot product and yAx benchmarks - constexpr int block_max = - (property & light_weight) == light_weight ? 2097152 : 65536; - constexpr int preferred_block_min = 1024; - int block_count = m_league_size; - if (block_count < preferred_block_min) { - // keep blocks as is, already low parallelism - } else if (block_count >= block_max) { - block_count = block_max; - - } else { - int nwork = m_league_size * m_team_size; - int items_per_thread = - (nwork + block_count * m_team_size - 1) / (block_count * m_team_size); - if (items_per_thread < 4) { - int ratio = std::min( - (block_count + preferred_block_min - 1) / preferred_block_min, - (4 + items_per_thread - 1) / items_per_thread); - block_count /= ratio; - } - } - - return block_count; - } - - public: - __device__ inline void operator()() const { - int64_t threadid = 0; - if (m_scratch_size[1] > 0) { - threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, - m_num_scratch_locks); - } - - using ReductionTag = std::conditional_t; - run(ReductionTag{}, threadid); - - if (m_scratch_size[1] > 0) { - hip_release_scratch_index(m_scratch_locks, threadid); - } - } - - __device__ inline void run(SHMEMReductionTag, int const threadid) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - integral_nonzero_constant const - word_count(reducer.value_size() / sizeof(size_type)); - - reference_type value = - reducer.init(kokkos_impl_hip_shared_memory() + - threadIdx.y * word_count.value); - // Iterate this block through the league - iterate_through_league(threadid, value); - - // Reduce with final value at blockDim.y - 1 location. - bool do_final_reduce = (m_league_size == 0); - if (!do_final_reduce) - do_final_reduce = - hip_single_inter_block_reduce_scan( - reducer, blockIdx.x, gridDim.x, - kokkos_impl_hip_shared_memory(), m_scratch_space, - m_scratch_flags); - if (do_final_reduce) { - // This is the final block with the final result at the final threads' - // location - - size_type* const shared = kokkos_impl_hip_shared_memory() + - (blockDim.y - 1) * word_count.value; - size_type* const global = m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) - : m_scratch_space; - - if (threadIdx.y == 0) { - reducer.final(reinterpret_cast(shared)); - } - - if (HIPTraits::WarpSize < word_count.value) { - __syncthreads(); - } - - for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { - global[i] = shared[i]; - } - } - } - - __device__ inline void run(ShflReductionTag, int const threadid) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - value_type value; - reducer.init(&value); - - // Iterate this block through the league - iterate_through_league(threadid, value); - - pointer_type const result = - m_result_ptr_device_accessible - ? m_result_ptr - : reinterpret_cast(m_scratch_space); - - value_type init; - reducer.init(&init); - if (m_league_size == 0) { - reducer.final(&value); - *result = value; - } else if (Impl::hip_inter_block_shuffle_reduction( - value, init, reducer, m_scratch_space, result, - m_scratch_flags, blockDim.y)) { - unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; - if (id == 0) { - reducer.final(&value); - *result = value; - } - } - } - - inline void execute() { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - const bool is_empty_range = m_league_size == 0 || m_team_size == 0; - const bool need_device_set = ReducerType::has_init_member_function() || - ReducerType::has_final_member_function() || - !m_result_ptr_host_accessible || - Policy::is_graph_kernel::value || - !std::is_same::value; - if (!is_empty_range || need_device_set) { - int const block_count = compute_block_count(); - - m_scratch_space = hip_internal_scratch_space( - m_policy.space(), reducer.value_size() * block_count); - m_scratch_flags = - hip_internal_scratch_flags(m_policy.space(), sizeof(size_type)); - - dim3 block(m_vector_size, m_team_size, 1); - dim3 grid(block_count, 1, 1); - if (is_empty_range) { - block = dim3(1, 1, 1); - grid = dim3(1, 1, 1); - } - const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; - - Impl::hip_parallel_launch( - *this, grid, block, shmem_size_total, - m_policy.space().impl_internal_space_instance(), - true); // copy to device and execute - - if (!m_result_ptr_device_accessible) { - m_policy.space().impl_internal_space_instance()->fence(); - - if (m_result_ptr) { - const int size = reducer.value_size(); - DeepCopy(m_result_ptr, m_scratch_space, size); - } - } - } else { - if (m_result_ptr) { - reducer.init(m_result_ptr); - } - } - } - - template - ParallelReduce(CombinedFunctorReducerType const& arg_functor_reducer, - Policy const& arg_policy, ViewType const& arg_result) - : m_functor_reducer(arg_functor_reducer), - m_policy(arg_policy), - m_result_ptr(arg_result.data()), - m_result_ptr_device_accessible( - MemorySpaceAccess::accessible), - m_result_ptr_host_accessible( - MemorySpaceAccess::accessible), - m_scratch_space(nullptr), - m_scratch_flags(nullptr), - m_team_begin(0), - m_shmem_begin(0), - m_shmem_size(0), - m_scratch_ptr{nullptr, nullptr}, - m_league_size(arg_policy.league_size()), - m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { - auto internal_space_instance = - m_policy.space().impl_internal_space_instance(); - m_team_size = m_team_size >= 0 ? m_team_size - : arg_policy.team_size_recommended( - arg_functor_reducer.get_functor(), - arg_functor_reducer.get_reducer(), - ParallelReduceTag()); - - m_team_begin = - UseShflReduction - ? 0 - : hip_single_inter_block_reduce_scan_shmem( - arg_functor_reducer.get_functor(), m_team_size); - m_shmem_begin = sizeof(double) * (m_team_size + 2); - m_shmem_size = m_policy.scratch_size(0, m_team_size) + - FunctorTeamShmemSize::value( - arg_functor_reducer.get_functor(), m_team_size); - m_scratch_size[0] = m_shmem_size; - m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); - m_scratch_locks = internal_space_instance->m_scratch_locks; - m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; - if (m_team_size <= 0) { - m_scratch_ptr[1] = nullptr; - } else { - m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); - m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( - m_scratch_pool_id, - static_cast(m_scratch_size[1]) * - (std::min( - static_cast(HIP().concurrency() / - (m_team_size * m_vector_size)), - static_cast(m_league_size)))); - } - - // The global parallel_reduce does not support vector_length other than 1 at - // the moment - if ((arg_policy.impl_vector_length() > 1) && !UseShflReduction) - Impl::throw_runtime_exception( - "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " - "greater than 1 is not currently supported for HIP for dynamic " - "sized reduction types."); - - if ((m_team_size < HIPTraits::WarpSize) && !UseShflReduction) - Impl::throw_runtime_exception( - "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " - "than 64 is not currently supported with HIP for dynamic sized " - "reduction types."); - - // Functor's reduce memory, team scan memory, and team shared memory depend - // upon team size. - - const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; - - if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && - !UseShflReduction) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); - } - - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " - "L0 scratch memory")); - } - - size_t max_size = arg_policy.team_size_max( - arg_functor_reducer.get_functor(), arg_functor_reducer.get_reducer(), - ParallelReduceTag()); - if (static_cast(m_team_size) > static_cast(max_size)) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " - "large team size.")); - } - } - - ~ParallelReduce() { - if (m_scratch_pool_id >= 0) { - m_policy.space() - .impl_internal_space_instance() - ->release_team_scratch_space(m_scratch_pool_id); - } - } -}; -} // namespace Impl -} // namespace Kokkos - -#endif - -#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp index ea599989e7..ab24004f5f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp @@ -18,138 +18,14 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE #endif -#include -#include #include +#include +#include +#include -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - HIP exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIP& arg_exec_space, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Impl::DeepCopy(arg_exec_space, - RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPHostPinnedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information, directly accessible via host pinned memory - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPManagedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information, directly accessible via managed memory - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPHostPinnedSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPManagedSpace); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp index e68bad9723..fbae518834 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp @@ -18,120 +18,11 @@ #define KOKKOS_HIP_SHARED_ALLOCATION_RECORD_HPP #include +#include -namespace Kokkos { -namespace Impl { - -template <> -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - friend class HostInaccessibleSharedAllocationRecordCommon; - using base_t = HostInaccessibleSharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPSpace m_space; - - protected: - ~SharedAllocationRecord(); - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec*/, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIP& exec_space, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const HIPSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPHostPinnedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const HIPHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIPHostPinnedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPManagedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const HIPManagedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIPManagedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::HIPSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HIPHostPinnedSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HIPManagedSpace); #endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp index 7f6aa0d8e8..e8bdfca66f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp @@ -24,10 +24,8 @@ #include #include -#include #include -#include #include #include @@ -287,22 +285,3 @@ void HIPManagedSpace::impl_deallocate( } } // namespace Kokkos - -/*--------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------*/ - -#include - -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp index f3e5adf87e..7f2004e5cb 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp @@ -65,6 +65,15 @@ class HIPSpace { ~HIPSpace() = default; /**\brief Allocate untracked memory in the hip space */ + // FIXME_HIP Use execution space instance + void* allocate(const HIP&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + // FIXME_HIP Use execution space instance + void* allocate(const HIP&, const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -76,8 +85,6 @@ class HIPSpace { const size_t arg_logical_size = 0) const; private: - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -94,8 +101,6 @@ class HIPSpace { private: int m_device; ///< Which HIP device - - friend class Kokkos::Impl::SharedAllocationRecord; }; template <> @@ -129,6 +134,16 @@ class HIPHostPinnedSpace { ~HIPHostPinnedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -140,8 +155,6 @@ class HIPHostPinnedSpace { const size_t arg_logical_size = 0) const; private: - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -194,6 +207,16 @@ class HIPManagedSpace { ~HIPManagedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -209,8 +232,6 @@ class HIPManagedSpace { private: int m_device; ///< Which HIP device - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -239,8 +260,7 @@ struct Impl::is_hip_type_space : public std::true_type {}; namespace Kokkos { namespace Impl { -static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); +static_assert(Kokkos::Impl::MemorySpaceAccess::assignable); //---------------------------------------- diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp new file mode 100644 index 0000000000..67e1181125 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp @@ -0,0 +1,421 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_TEAM_POLICY_INTERNAL_HPP +#define KOKKOS_HIP_TEAM_POLICY_INTERNAL_HPP + +#include + +namespace Kokkos { +namespace Impl { + +template +class TeamPolicyInternal + : public PolicyTraits { + public: + using execution_policy = TeamPolicyInternal; + + using traits = PolicyTraits; + + template + friend class TeamPolicyInternal; + + private: + typename traits::execution_space m_space; + int m_league_size; + int m_team_size; + int m_vector_length; + size_t m_team_scratch_size[2]; + size_t m_thread_scratch_size[2]; + int m_chunk_size; + bool m_tune_team_size; + bool m_tune_vector_length; + + public: + using execution_space = HIP; + + template + TeamPolicyInternal(TeamPolicyInternal const& p) { + m_league_size = p.m_league_size; + m_team_size = p.m_team_size; + m_vector_length = p.m_vector_length; + m_team_scratch_size[0] = p.m_team_scratch_size[0]; + m_team_scratch_size[1] = p.m_team_scratch_size[1]; + m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; + m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; + m_chunk_size = p.m_chunk_size; + m_space = p.m_space; + m_tune_team_size = p.m_tune_team_size; + m_tune_vector_length = p.m_tune_vector_length; + } + + template + int team_size_max(FunctorType const& f, ParallelForTag const&) const { + using closure_type = + Impl::ParallelFor>; + + return internal_team_size_common(f); + } + + template + inline int team_size_max(const FunctorType& f, + const ParallelReduceTag&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using closure_type = Impl::ParallelReduce< + CombinedFunctorReducer, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common< + BlockType::Max, closure_type, + typename functor_analysis_type::value_type>(f); + } + + template + inline int team_size_max(const FunctorType& f, const ReducerType&, + const ParallelReduceTag&) const { + using closure_type = + Impl::ParallelReduce, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common(f); + } + + template + int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { + using closure_type = + Impl::ParallelFor>; + + return internal_team_size_common( + f); + } + + template + inline int team_size_recommended(FunctorType const& f, + ParallelReduceTag const&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using closure_type = Impl::ParallelReduce< + CombinedFunctorReducer, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common< + BlockType::Preferred, closure_type, + typename functor_analysis_type::value_type>(f); + } + + template + int team_size_recommended(FunctorType const& f, ReducerType const&, + ParallelReduceTag const&) const { + using closure_type = + Impl::ParallelReduce, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common(f); + } + + inline bool impl_auto_vector_length() const { return m_tune_vector_length; } + inline bool impl_auto_team_size() const { return m_tune_team_size; } + static int vector_length_max() { return HIPTraits::WarpSize; } + + static int verify_requested_vector_length(int requested_vector_length) { + int test_vector_length = + std::min(requested_vector_length, vector_length_max()); + + // Allow only power-of-two vector_length + if (!(is_integral_power_of_two(test_vector_length))) { + int test_pow2 = 1; + constexpr int warp_size = HIPTraits::WarpSize; + while (test_pow2 < warp_size) { + test_pow2 <<= 1; + if (test_pow2 > test_vector_length) { + break; + } + } + test_vector_length = test_pow2 >> 1; + } + + return test_vector_length; + } + + inline static int scratch_size_max(int level) { + // HIP Teams use (team_size + 2)*sizeof(double) shared memory for team + // reductions. They also use one int64_t in static shared memory for a + // shared ID. Furthermore, they use additional scratch memory in some + // reduction scenarios, which depend on the size of the value_type and is + // NOT captured here + constexpr size_t max_possible_team_size = 1024; + constexpr size_t max_reserved_shared_mem_per_team = + (max_possible_team_size + 2) * sizeof(double) + sizeof(int64_t); + // arbitrarily setting level 1 scratch limit to 20MB, for a + // MI250 that would give us about 4.4GB for 2 teams per CU + constexpr size_t max_l1_scratch_size = 20 * 1024 * 1024; + + size_t max_shmem = HIP().hip_device_prop().sharedMemPerBlock; + return (level == 0 ? max_shmem - max_reserved_shared_mem_per_team + : max_l1_scratch_size); + } + + inline void impl_set_vector_length(size_t size) { m_vector_length = size; } + inline void impl_set_team_size(size_t size) { m_team_size = size; } + int impl_vector_length() const { return m_vector_length; } + + int team_size() const { return m_team_size; } + + int league_size() const { return m_league_size; } + + size_t scratch_size(int level, int team_size_ = -1) const { + if (team_size_ < 0) team_size_ = m_team_size; + return m_team_scratch_size[level] + + team_size_ * m_thread_scratch_size[level]; + } + + size_t team_scratch_size(int level) const { + return m_team_scratch_size[level]; + } + + size_t thread_scratch_size(int level) const { + return m_thread_scratch_size[level]; + } + + typename traits::execution_space space() const { return m_space; } + + TeamPolicyInternal() + : m_space(typename traits::execution_space()), + m_league_size(0), + m_team_size(-1), + m_vector_length(0), + m_team_scratch_size{0, 0}, + m_thread_scratch_size{0, 0}, + m_chunk_size(HIPTraits::WarpSize), + m_tune_team_size(false), + m_tune_vector_length(false) {} + + /** \brief Specify league size, request team size */ + TeamPolicyInternal(const execution_space space_, int league_size_, + int team_size_request, int vector_length_request = 1) + : m_space(space_), + m_league_size(league_size_), + m_team_size(team_size_request), + m_vector_length( + (vector_length_request > 0) + ? verify_requested_vector_length(vector_length_request) + : (verify_requested_vector_length(1))), + m_team_scratch_size{0, 0}, + m_thread_scratch_size{0, 0}, + m_chunk_size(HIPTraits::WarpSize), + m_tune_team_size(bool(team_size_request <= 0)), + m_tune_vector_length(bool(vector_length_request <= 0)) { + // Make sure league size is permissible + if (league_size_ >= static_cast(hip_internal_maximum_grid_count()[0])) + Impl::throw_runtime_exception( + "Requested too large league_size for TeamPolicy on HIP execution " + "space."); + + // Make sure total block size is permissible + if (m_team_size * m_vector_length > HIPTraits::MaxThreadsPerBlock) { + Impl::throw_runtime_exception( + std::string("Kokkos::TeamPolicy< HIP > the team size is too large. " + "Team size x vector length must be smaller than 1024.")); + } + } + + /** \brief Specify league size, request team size */ + TeamPolicyInternal(const execution_space space_, int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + int vector_length_request = 1) + : TeamPolicyInternal(space_, league_size_, -1, vector_length_request) {} + // FLAG + /** \brief Specify league size and team size, request vector length*/ + TeamPolicyInternal(const execution_space space_, int league_size_, + int team_size_request, + const Kokkos::AUTO_t& /* vector_length_request */ + ) + : TeamPolicyInternal(space_, league_size_, team_size_request, -1) + + {} + + /** \brief Specify league size, request team size and vector length*/ + TeamPolicyInternal(const execution_space space_, int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(space_, league_size_, -1, -1) + + {} + + TeamPolicyInternal(int league_size_, int team_size_request, + int vector_length_request = 1) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, + team_size_request, vector_length_request) {} + + TeamPolicyInternal(int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + int vector_length_request = 1) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, + vector_length_request) {} + + /** \brief Specify league size and team size, request vector length*/ + TeamPolicyInternal(int league_size_, int team_size_request, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, + team_size_request, -1) + + {} + + /** \brief Specify league size, request team size and vector length*/ + TeamPolicyInternal(int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, + -1) {} + + int chunk_size() const { return m_chunk_size; } + + TeamPolicyInternal& set_chunk_size(typename traits::index_type chunk_size_) { + m_chunk_size = chunk_size_; + return *this; + } + + /** \brief set per team scratch size for a specific level of the scratch + * hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, + PerTeamValue const& per_team) { + m_team_scratch_size[level] = per_team.value; + return *this; + } + + /** \brief set per thread scratch size for a specific level of the scratch + * hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, + PerThreadValue const& per_thread) { + m_thread_scratch_size[level] = per_thread.value; + return *this; + } + + /** \brief set per thread and per team scratch size for a specific level of + * the scratch hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, PerTeamValue const& per_team, + PerThreadValue const& per_thread) { + m_team_scratch_size[level] = per_team.value; + m_thread_scratch_size[level] = per_thread.value; + return *this; + } + + using member_type = Kokkos::Impl::HIPTeamMember; + + protected: + template + int internal_team_size_common(FunctorType const& f) const { + const unsigned shmem_block = team_scratch_size(0) + 2 * sizeof(double); + unsigned shmem_thread = thread_scratch_size(0) + sizeof(double); + using Tag = typename PatternTagFromImplSpecialization::type; + if constexpr (std::is_same_v) { + using Interface = + typename Impl::DeduceFunctorPatternInterface::type; + using Analysis = + Impl::FunctorAnalysis; + shmem_thread += + ((Analysis::StaticValueSize != 0) ? 0 : Analysis::value_size(f)); + } + const int vector_length = impl_vector_length(); + + const auto functor = [&f, shmem_block, shmem_thread, vector_length]( + const hipFuncAttributes& attr, int block_size) { + int functor_shmem = + ::Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); + return shmem_block + shmem_thread * (block_size / vector_length) + + functor_shmem + attr.sharedSizeBytes; + }; + int block_size; + if constexpr (BlockSize == BlockType::Max) { + block_size = hip_get_max_team_blocksize( + space().impl_internal_space_instance(), functor); + } else { + block_size = + hip_get_preferred_team_blocksize( + space().impl_internal_space_instance(), functor); + } + + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor/Reduce< HIP > could not find a valid " + "team size.")); + } + if constexpr (std::is_same_v) { + return block_size / impl_vector_length(); + } else { + // Currently we require Power-of-2 team size for reductions. + int p2 = 1; + while (p2 <= block_size) p2 *= 2; + p2 /= 2; + return p2 / impl_vector_length(); + } + } +}; + +__device__ inline int64_t hip_get_scratch_index(HIP::size_type league_size, + int32_t* scratch_locks, + size_t num_scratch_locks) { + int64_t threadid = 0; + __shared__ int64_t base_thread_id; + if (threadIdx.x == 0 && threadIdx.y == 0) { + int64_t const wraparound_len = + Kokkos::min(int64_t(league_size), + int64_t(num_scratch_locks) / (blockDim.x * blockDim.y)); + threadid = (blockIdx.x * blockDim.z + threadIdx.z) % wraparound_len; + threadid *= blockDim.x * blockDim.y; + int done = 0; + while (!done) { + done = (0 == atomicCAS(&scratch_locks[threadid], 0, 1)); + if (!done) { + threadid += blockDim.x * blockDim.y; + if (int64_t(threadid + blockDim.x * blockDim.y) >= + wraparound_len * blockDim.x * blockDim.y) + threadid = 0; + } + } + base_thread_id = threadid; + } + __syncthreads(); + threadid = base_thread_id; + return threadid; +} + +__device__ inline void hip_release_scratch_index(int32_t* scratch_locks, + int64_t threadid) { + __syncthreads(); + if (threadIdx.x == 0 && threadIdx.y == 0) { + scratch_locks[threadid] = 0; + } +} + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp index 313e5f5217..3d70b59646 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp @@ -19,7 +19,6 @@ #include #include -#include namespace Kokkos { diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp index 5c40d0fbc8..4bca29868f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp @@ -25,19 +25,11 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const HIP& exec_space, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const HIP& exec_space, const View& dst) { KOKKOS_IMPL_HIP_SAFE_CALL(hipMemsetAsync( dst.data(), 0, dst.size() * sizeof(typename View::value_type), exec_space.hip_stream())); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - KOKKOS_IMPL_HIP_SAFE_CALL( - hipMemset(dst.data(), 0, - dst.size() * sizeof(typename View::value_type))); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp index 4a40ffcaa4..6d541a6414 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp @@ -103,6 +103,7 @@ void HPX::print_configuration(std::ostream &os, const bool) const { os << hpx::configuration_string() << '\n'; } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 bool &HPX::impl_get_in_parallel() noexcept { static thread_local bool in_parallel = false; return in_parallel; @@ -127,6 +128,7 @@ HPX::impl_not_in_parallel_scope::~impl_not_in_parallel_scope() noexcept { KOKKOS_EXPECTS(!impl_get_in_parallel()); impl_get_in_parallel() = true; } +#endif void HPX::impl_decrement_active_parallel_region_count() { std::unique_lock l(m_active_parallel_region_count_mutex); diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp index 1dfc5b4064..26181a7c05 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp @@ -27,14 +27,6 @@ static_assert(false, #include -#include -#include -#include - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - #include #include #include @@ -59,6 +51,7 @@ static_assert(false, #include +#include #include #include #include @@ -201,6 +194,7 @@ class HPX { return impl_get_instance_data().m_instance_id; } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static bool &impl_get_in_parallel() noexcept; struct impl_in_parallel_scope { @@ -223,9 +217,10 @@ class HPX { delete; }; - static bool in_parallel(HPX const & = HPX()) noexcept { + KOKKOS_DEPRECATED static bool in_parallel(HPX const & = HPX()) noexcept { return impl_get_in_parallel(); } +#endif static void impl_decrement_active_parallel_region_count(); static void impl_increment_active_parallel_region_count(); @@ -248,18 +243,6 @@ class HPX { #endif } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - template - KOKKOS_DEPRECATED static void partition_master( - F const &, int requested_num_partitions = 0, int = 0) { - if (requested_num_partitions > 1) { - Kokkos::abort( - "Kokkos::Experimental::HPX::partition_master: can't partition an " - "HPX instance\n"); - } - } -#endif - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(); #else @@ -355,7 +338,9 @@ class HPX { hpx::threads::thread_stacksize::default_) const { impl_bulk_plain_erased(force_synchronous, is_light_weight_policy, {[functor](Index i) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.execute_range(i); }}, n, stacksize); @@ -417,15 +402,21 @@ class HPX { hpx::threads::thread_stacksize::default_) const { impl_bulk_setup_finalize_erased(force_synchronous, is_light_weight_policy, {[functor](Index i) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.execute_range(i); }}, {[functor]() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.setup(); }}, {[functor]() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.finalize(); }}, n, stacksize); @@ -1292,6 +1283,7 @@ class ParallelScan, const WorkRange range(m_policy, t, num_worker_threads); execute_chunk(range.begin(), range.end(), update_sum, false); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1299,6 +1291,9 @@ class ParallelScan, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif if (t == 0) { final_reducer.init(reinterpret_cast( @@ -1320,6 +1315,7 @@ class ParallelScan, } } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1327,6 +1323,9 @@ class ParallelScan, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif reference_type update_base = Analysis::Reducer::reference(reinterpret_cast( @@ -1407,6 +1406,7 @@ class ParallelScanWithTotal, const WorkRange range(m_policy, t, num_worker_threads); execute_chunk(range.begin(), range.end(), update_sum, false); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1414,6 +1414,9 @@ class ParallelScanWithTotal, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif if (t == 0) { final_reducer.init(reinterpret_cast( @@ -1435,6 +1438,7 @@ class ParallelScanWithTotal, } } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1442,6 +1446,9 @@ class ParallelScanWithTotal, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif reference_type update_base = Analysis::Reducer::reference(reinterpret_cast( diff --git a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp index c9080db01c..297b1fadee 100644 --- a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp @@ -73,7 +73,7 @@ is_less_than_value_initialized_variable(T arg) { // Checked narrowing conversion that calls abort if the cast changes the value template -constexpr To checked_narrow_cast(From arg) { +constexpr To checked_narrow_cast(From arg, std::size_t idx) { constexpr const bool is_different_signedness = (std::is_signed::value != std::is_signed::value); auto const ret = static_cast(arg); @@ -81,7 +81,12 @@ constexpr To checked_narrow_cast(From arg) { (is_different_signedness && is_less_than_value_initialized_variable(arg) != is_less_than_value_initialized_variable(ret))) { - Kokkos::abort("unsafe narrowing conversion"); + auto msg = + "Kokkos::MDRangePolicy bound type error: an unsafe implicit conversion " + "is performed on a bound (" + + std::to_string(arg) + ") in dimension (" + std::to_string(idx) + + "), which may not preserve its original value.\n"; + Kokkos::abort(msg.c_str()); } return ret; } @@ -96,15 +101,15 @@ constexpr Array to_array_potentially_narrowing(const U (&init)[M]) { using T = typename Array::value_type; Array a{}; constexpr std::size_t N = a.size(); - static_assert(M <= N, ""); + static_assert(M <= N); auto* ptr = a.data(); // NOTE equivalent to // std::transform(std::begin(init), std::end(init), a.data(), // [](U x) { return static_cast(x); }); // except that std::transform is not constexpr. - for (auto x : init) { - *ptr++ = checked_narrow_cast(x); - (void)checked_narrow_cast(x); // see note above + for (std::size_t i = 0; i < M; ++i) { + *ptr++ = checked_narrow_cast(init[i], i); + (void)checked_narrow_cast(init[i], i); // see note above } return a; } @@ -120,10 +125,10 @@ constexpr NVCC_WONT_LET_ME_CALL_YOU_Array to_array_potentially_narrowing( using T = typename NVCC_WONT_LET_ME_CALL_YOU_Array::value_type; NVCC_WONT_LET_ME_CALL_YOU_Array a{}; constexpr std::size_t N = a.size(); - static_assert(M <= N, ""); + static_assert(M <= N); for (std::size_t i = 0; i < M; ++i) { - a[i] = checked_narrow_cast(other[i]); - (void)checked_narrow_cast(other[i]); // see note above + a[i] = checked_narrow_cast(other[i], i); + (void)checked_narrow_cast(other[i], i); // see note above } return a; } @@ -150,9 +155,20 @@ TileSizeProperties get_tile_size_properties(const ExecutionSpace&) { // multi-dimensional iteration pattern template -struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { - using traits = Kokkos::Impl::PolicyTraits; - using range_policy = RangePolicy; +struct MDRangePolicy; + +// Note: If MDRangePolicy has a primary template, implicit CTAD (deduction +// guides) are generated -> MDRangePolicy<> by some compilers, which is +// incorrect. By making it a template specialization instead, no implicit CTAD +// is generated. This works because there has to be at least one property +// specified (which is Rank<...>); otherwise, we'd get the static_assert +// "Kokkos::Error: MD iteration pattern not defined". This template +// specialization uses in all places for correctness. +template +struct MDRangePolicy + : public Kokkos::Impl::PolicyTraits { + using traits = Kokkos::Impl::PolicyTraits; + using range_policy = RangePolicy; typename traits::execution_space m_space; @@ -161,8 +177,8 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { typename traits::schedule_type, typename traits::index_type>; using execution_policy = - MDRangePolicy; // needed for is_execution_space - // interrogation + MDRangePolicy; // needed for is_execution_policy + // interrogation template friend struct MDRangePolicy; @@ -327,6 +343,20 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { } for (int i = rank_start; i != rank_end; i += increment) { const index_type length = m_upper[i] - m_lower[i]; + + if (m_upper[i] < m_lower[i]) { + std::string msg = + "Kokkos::MDRangePolicy bounds error: The lower bound (" + + std::to_string(m_lower[i]) + ") is greater than its upper bound (" + + std::to_string(m_upper[i]) + ") in dimension " + std::to_string(i) + + ".\n"; +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + Kokkos::abort(msg.c_str()); +#elif defined(KOKKOS_ENABLE_DEPRECATION_WARNINGS) + Kokkos::Impl::log_warning(msg); +#endif + } + if (m_tile[i] <= 0) { m_tune_tile_size = true; if ((inner_direction == Iterate::Right && (i < rank - 1)) || @@ -358,6 +388,60 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { } }; +template +MDRangePolicy(const LT (&)[N], const UT (&)[N])->MDRangePolicy>; + +template +MDRangePolicy(const LT (&)[N], const UT (&)[N], const TT (&)[TN]) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, const LT (&)[N], const UT (&)[N]) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, const LT (&)[N], const UT (&)[N], + const TT (&)[TN]) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, const LT (&)[N], const UT (&)[N]) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, const LT (&)[N], const UT (&)[N], const TT (&)[TN]) + ->MDRangePolicy>; + +template +MDRangePolicy(Array const&, Array const&)->MDRangePolicy>; + +template +MDRangePolicy(Array const&, Array const&, Array const&) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, Array const&, + Array const&) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, Array const&, + Array const&, Array const&) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, Array const&, Array const&) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, Array const&, Array const&, + Array const&) + ->MDRangePolicy>; + } // namespace Kokkos #endif // KOKKOS_CORE_EXP_MD_RANGE_POLICY_HPP diff --git a/lib/kokkos/core/src/Kokkos_Array.hpp b/lib/kokkos/core/src/Kokkos_Array.hpp index 82ceaaec21..ba1626bb72 100644 --- a/lib/kokkos/core/src/Kokkos_Array.hpp +++ b/lib/kokkos/core/src/Kokkos_Array.hpp @@ -22,6 +22,7 @@ #endif #include +#include #include #include @@ -320,6 +321,9 @@ struct Array::strided> { : m_elem(arg_ptr), m_size(arg_size), m_stride(arg_stride) {} }; +template +Array(T, Us...)->Array; + } // namespace Kokkos // diff --git a/lib/kokkos/core/src/Kokkos_Assert.hpp b/lib/kokkos/core/src/Kokkos_Assert.hpp index c3b9004734..6fea286005 100644 --- a/lib/kokkos/core/src/Kokkos_Assert.hpp +++ b/lib/kokkos/core/src/Kokkos_Assert.hpp @@ -44,9 +44,6 @@ __LINE__) " \n"); \ } \ } -// some projects already define this for themselves, so don't mess -// them up -#ifndef KOKKOS_ASSERT #define KOKKOS_ASSERT(...) \ { \ if (!bool(__VA_ARGS__)) { \ @@ -58,8 +55,7 @@ __LINE__) " \n"); \ } \ } -#endif // ifndef KOKKOS_ASSERT -#else // not debug mode +#else // not debug mode #define KOKKOS_EXPECTS(...) #define KOKKOS_ENSURES(...) #ifndef KOKKOS_ASSERT diff --git a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp index 1c43474632..9acacef901 100644 --- a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp @@ -25,7 +25,7 @@ static_assert(false, #include #include -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeCaller() #else #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeDevice() diff --git a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp index bda3783980..eebdd20f15 100644 --- a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp @@ -49,7 +49,7 @@ inline const char* atomic_query_version() { return "KOKKOS_DESUL_ATOMICS"; } #endif // ============================================================ -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeCaller() #else #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeDevice() diff --git a/lib/kokkos/core/src/Kokkos_Clamp.hpp b/lib/kokkos/core/src/Kokkos_Clamp.hpp new file mode 100644 index 0000000000..033cde9ab8 --- /dev/null +++ b/lib/kokkos/core/src/Kokkos_Clamp.hpp @@ -0,0 +1,41 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_CLAMP_HPP +#define KOKKOS_CLAMP_HPP + +#include + +namespace Kokkos { + +template +constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, + const T& hi) { + KOKKOS_EXPECTS(!(hi < lo)); + return (value < lo) ? lo : (hi < value) ? hi : value; +} + +template +constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, + const T& hi, + ComparatorType comp) { + KOKKOS_EXPECTS(!comp(hi, lo)); + return comp(value, lo) ? lo : comp(hi, value) ? hi : value; +} + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/Kokkos_CopyViews.hpp b/lib/kokkos/core/src/Kokkos_CopyViews.hpp index a0ca55be70..08f6ba8d69 100644 --- a/lib/kokkos/core/src/Kokkos_CopyViews.hpp +++ b/lib/kokkos/core/src/Kokkos_CopyViews.hpp @@ -22,6 +22,7 @@ static_assert(false, #ifndef KOKKOS_COPYVIEWS_HPP_ #define KOKKOS_COPYVIEWS_HPP_ #include +#include #include #include #include @@ -612,12 +613,17 @@ void view_copy(const DstType& dst, const SrcType& src) { }; if (!DstExecCanAccessSrc && !SrcExecCanAccessDst) { - std::string message( - "Error: Kokkos::deep_copy with no available copy mechanism: "); - message += src.label(); - message += " to "; - message += dst.label(); - Kokkos::Impl::throw_runtime_exception(message); + std::ostringstream ss; + ss << "Error: Kokkos::deep_copy with no available copy mechanism: " + << "from source view (\"" << src.label() << "\") to destination view (\"" + << dst.label() << "\").\n" + << "There is no common execution space that can access both source's " + "space\n" + << "(" << src_memory_space().name() << ") and destination's space (" + << dst_memory_space().name() << "), " + << "so source and destination\n" + << "must be contiguous and have the same layout.\n"; + Kokkos::Impl::throw_runtime_exception(ss.str()); } // Figure out iteration order in case we need it @@ -1330,13 +1336,12 @@ inline void contiguous_fill( // Default implementation for execution spaces that don't provide a definition template struct ZeroMemset { - ZeroMemset(const ExecutionSpace& exec_space, const ViewType& dst, - typename ViewType::const_value_type& value) { - contiguous_fill(exec_space, dst, value); - } - - ZeroMemset(const ViewType& dst, typename ViewType::const_value_type& value) { - contiguous_fill(ExecutionSpace(), dst, value); + ZeroMemset(const ExecutionSpace& exec_space, const ViewType& dst) { + using ValueType = typename ViewType::value_type; + alignas(alignof(ValueType)) unsigned char + zero_initialized_storage[sizeof(ValueType)] = {}; + contiguous_fill(exec_space, dst, + *reinterpret_cast(zero_initialized_storage)); } }; @@ -1348,13 +1353,18 @@ inline std::enable_if_t< contiguous_fill_or_memset( const ExecutionSpace& exec_space, const View& dst, typename ViewTraits::const_value_type& value) { -// On A64FX memset seems to do the wrong thing with regards to first touch -// leading to the significant performance issues -#ifndef KOKKOS_ARCH_A64FX - if (Impl::is_zero_byte(value)) - ZeroMemset>(exec_space, dst, value); - else + // With OpenMP, using memset has significant performance issues. + if (Impl::is_zero_byte(value) +#ifdef KOKKOS_ENABLE_OPENMP + && !std::is_same_v #endif + ) + // FIXME intel/19 icpc fails to deduce template parameters here, + // resulting in compilation errors; explicitly passing the template + // parameters to ZeroMemset helps workaround the issue + // See https://github.com/kokkos/kokkos/issues/6775 + ZeroMemset>(exec_space, dst); + else contiguous_fill(exec_space, dst, value); } @@ -1379,15 +1389,20 @@ contiguous_fill_or_memset( typename ViewTraits::const_value_type& value) { using ViewType = View; using exec_space_type = typename ViewType::execution_space; + exec_space_type exec; // On A64FX memset seems to do the wrong thing with regards to first touch // leading to the significant performance issues #ifndef KOKKOS_ARCH_A64FX if (Impl::is_zero_byte(value)) - ZeroMemset>(dst, value); + // FIXME intel/19 icpc fails to deduce template parameters here, + // resulting in compilation errors; explicitly passing the template + // parameters to ZeroMemset helps workaround the issue + // See https://github.com/kokkos/kokkos/issues/6775 + ZeroMemset(exec, dst); else #endif - contiguous_fill(exec_space_type(), dst, value); + contiguous_fill(exec, dst, value); } template diff --git a/lib/kokkos/core/src/Kokkos_Core.hpp b/lib/kokkos/core/src/Kokkos_Core.hpp index 805411a699..1f146563be 100644 --- a/lib/kokkos/core/src/Kokkos_Core.hpp +++ b/lib/kokkos/core/src/Kokkos_Core.hpp @@ -46,14 +46,15 @@ #include #include -#include #include -#include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -101,6 +102,7 @@ void declare_configuration_metadata(const std::string& category, [[nodiscard]] bool is_finalized() noexcept; [[nodiscard]] int device_id() noexcept; +[[nodiscard]] int num_devices() noexcept; [[nodiscard]] int num_threads() noexcept; bool show_warnings() noexcept; @@ -300,9 +302,6 @@ std::vector partition_space(ExecSpace const& space, // implementation of the RAII wrapper is using Kokkos::single. #include -// Specializations required after core definitions -#include - //---------------------------------------------------------------------------- // Redefinition of the macros min and max if we pushed them at entry of // Kokkos_Core.hpp diff --git a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp index 44f1c5b42f..7edb35f00e 100644 --- a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp +++ b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp @@ -30,10 +30,6 @@ #include #include -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -#include -#endif - //---------------------------------------------------------------------------- // Have assumed a 64-bit build (8-byte pointers) throughout the code base. // 32-bit build allowed but unsupported. @@ -75,9 +71,6 @@ template struct Device; // forward declare here so that backend initializer calls can use it. -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -struct InitArguments; -#endif class InitializationSettings; } // namespace Kokkos @@ -262,12 +255,6 @@ KOKKOS_FUNCTION void runtime_check_memory_access_violation( } } // namespace Impl - -namespace Experimental { -template -class LogicalMemorySpace; -} - } // namespace Kokkos //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp index ae1585a498..5f251eeb26 100644 --- a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp +++ b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp @@ -28,6 +28,7 @@ static_assert(false, #include #include #include +#include //---------------------------------------------------------------------------- @@ -114,62 +115,67 @@ class RangePolicy : public Impl::PolicyTraits { m_granularity_mask(0) {} /** \brief Total range */ + template && + std::is_convertible_v), + bool> = false> + inline RangePolicy(const IndexType1 work_begin, const IndexType2 work_end) + : RangePolicy(typename traits::execution_space(), work_begin, work_end) {} + + /** \brief Total range */ + template && + std::is_convertible_v), + bool> = false> inline RangePolicy(const typename traits::execution_space& work_space, - const member_type work_begin, const member_type work_end) + const IndexType1 work_begin, const IndexType2 work_end) : m_space(work_space), - m_begin(work_begin < work_end ? work_begin : 0), - m_end(work_begin < work_end ? work_end : 0), + m_begin(work_begin), + m_end(work_end), m_granularity(0), m_granularity_mask(0) { + check_conversion_safety(work_begin); + check_conversion_safety(work_end); + check_bounds_validity(); set_auto_chunk_size(); } - /** \brief Total range */ - inline RangePolicy(const member_type work_begin, const member_type work_end) - : RangePolicy(typename traits::execution_space(), work_begin, work_end) { - set_auto_chunk_size(); - } - - /** \brief Total range */ - template - inline RangePolicy(const typename traits::execution_space& work_space, - const member_type work_begin, const member_type work_end, - Args... args) + template && + std::is_convertible_v), + bool> = false> + RangePolicy(const typename traits::execution_space& work_space, + const IndexType1 work_begin, const IndexType2 work_end, + const ChunkSize chunk_size) : m_space(work_space), - m_begin(work_begin < work_end ? work_begin : 0), - m_end(work_begin < work_end ? work_end : 0), + m_begin(work_begin), + m_end(work_end), m_granularity(0), m_granularity_mask(0) { - set_auto_chunk_size(); - set(args...); + check_conversion_safety(work_begin); + check_conversion_safety(work_end); + check_bounds_validity(); + set_chunk_size(chunk_size.value); } /** \brief Total range */ - template - inline RangePolicy(const member_type work_begin, const member_type work_end, - Args... args) - : RangePolicy(typename traits::execution_space(), work_begin, work_end) { - set_auto_chunk_size(); - set(args...); - } - - private: - inline void set() {} + template && + std::is_convertible_v), + bool> = false> + RangePolicy(const IndexType1 work_begin, const IndexType2 work_end, + const ChunkSize chunk_size) + : RangePolicy(typename traits::execution_space(), work_begin, work_end, + chunk_size) {} public: - template - inline void set(Args...) { - static_assert( - 0 == sizeof...(Args), - "Kokkos::RangePolicy: unhandled constructor arguments encountered."); - } - - template - inline void set(const ChunkSize& chunksize, Args... args) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED_WITH_COMMENT("Use set_chunk_size instead") + inline void set(ChunkSize chunksize) { m_granularity = chunksize.value; m_granularity_mask = m_granularity - 1; - set(args...); } +#endif public: /** \brief return chunk_size */ @@ -218,6 +224,67 @@ class RangePolicy : public Impl::PolicyTraits { m_granularity_mask = m_granularity - 1; } + void check_bounds_validity() { + if (m_end < m_begin) { + std::string msg = "Kokkos::RangePolicy bounds error: The lower bound (" + + std::to_string(m_begin) + + ") is greater than the upper bound (" + + std::to_string(m_end) + ").\n"; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + Kokkos::abort(msg.c_str()); +#endif + m_begin = 0; + m_end = 0; +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + Kokkos::Impl::log_warning(msg); +#endif + } + } + + // To be replaced with std::in_range (c++20) + template + static void check_conversion_safety(const IndexType bound) { +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) || \ + defined(KOKKOS_ENABLE_DEPRECATION_WARNINGS) + + std::string msg = + "Kokkos::RangePolicy bound type error: an unsafe implicit conversion " + "is performed on a bound (" + + std::to_string(bound) + + "), which may " + "not preserve its original value.\n"; + bool warn = false; + + if constexpr (std::is_signed_v != + std::is_signed_v) { + // check signed to unsigned + if constexpr (std::is_signed_v) + warn |= (bound < static_cast( + std::numeric_limits::min())); + + // check unsigned to signed + if constexpr (std::is_signed_v) + warn |= (bound > static_cast( + std::numeric_limits::max())); + } + + // check narrowing + warn |= (static_cast(static_cast(bound)) != bound); + + if (warn) { +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + Kokkos::abort(msg.c_str()); +#endif + +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + Kokkos::Impl::log_warning(msg); +#endif + } +#else + (void)bound; +#endif + } + public: /** \brief Subrange for a partition's rank and size. * @@ -261,6 +328,21 @@ class RangePolicy : public Impl::PolicyTraits { }; }; +RangePolicy()->RangePolicy<>; + +RangePolicy(int64_t, int64_t)->RangePolicy<>; +RangePolicy(int64_t, int64_t, ChunkSize const&)->RangePolicy<>; + +RangePolicy(DefaultExecutionSpace const&, int64_t, int64_t)->RangePolicy<>; +RangePolicy(DefaultExecutionSpace const&, int64_t, int64_t, ChunkSize const&) + ->RangePolicy<>; + +template >> +RangePolicy(ES const&, int64_t, int64_t)->RangePolicy; + +template >> +RangePolicy(ES const&, int64_t, int64_t, ChunkSize const&)->RangePolicy; + } // namespace Kokkos //---------------------------------------------------------------------------- @@ -983,7 +1065,16 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + policy.team.team_reduce( + Kokkos::Sum{val}); } template @@ -997,7 +1088,29 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only a scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + if constexpr (false +#ifdef KOKKOS_ENABLE_CUDA + || std::is_same_v +#elif defined(KOKKOS_ENABLE_HIP) + || std::is_same_v +#elif defined(KOKKOS_ENABLE_SYCL) + || std::is_same_v +#endif + ) + policy.team.vector_reduce( + Kokkos::Sum{ + val}); } template @@ -1011,7 +1124,31 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only a scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + if constexpr (false +#ifdef KOKKOS_ENABLE_CUDA + || std::is_same_v +#elif defined(KOKKOS_ENABLE_HIP) + || std::is_same_v +#elif defined(KOKKOS_ENABLE_SYCL) + || std::is_same_v +#endif + ) + policy.team.vector_reduce( + Kokkos::Sum{ + val}); + policy.team.team_reduce( + Kokkos::Sum{val}); } template diff --git a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp deleted file mode 100644 index 369b7bafb7..0000000000 --- a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp +++ /dev/null @@ -1,308 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_HBWSPACE_HPP -#define KOKKOS_HBWSPACE_HPP - -#include -#ifdef KOKKOS_ENABLE_HBWSPACE - -#include - -namespace Kokkos { - -namespace Experimental { - -/// \class HBWSpace -/// \brief Memory management for host memory. -/// -/// HBWSpace is a memory space that governs host memory. "Host" -/// memory means the usual CPU-accessible memory. -class HBWSpace { - public: - //! Tag this class as a kokkos memory space - using memory_space = HBWSpace; - using size_type = size_t; - - /// \typedef execution_space - /// \brief Default execution space for this memory space. - /// - /// Every memory space has a default execution space. This is - /// useful for things like initializing a View (which happens in - /// parallel using the View's default execution space). - using execution_space = Kokkos::DefaultHostExecutionSpace; - - //! This memory space preferred device_type - using device_type = Kokkos::Device; - - /**\brief Default memory space instance */ - HBWSpace(); - HBWSpace(const HBWSpace& rhs) = default; - HBWSpace& operator=(const HBWSpace&) = default; - ~HBWSpace() = default; - - /**\brief Non-default memory space instance to choose allocation mechansim, - * if available */ - - enum AllocationMechanism { - STD_MALLOC, - POSIX_MEMALIGN, - POSIX_MMAP, - INTEL_MM_ALLOC - }; - - explicit HBWSpace(const AllocationMechanism&); - - /**\brief Allocate untracked memory in the space */ - void* allocate(const size_t arg_alloc_size) const; - void* allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const; - - /**\brief Deallocate untracked memory in the space */ - void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; - void deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const; - - private: - template - friend class LogicalMemorySpace; - - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle = - Kokkos::Tools::make_space_handle(name())) const; - void impl_deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle = - Kokkos::Tools::make_space_handle(name())) const; - - public: - /**\brief Return Name of the MemorySpace */ - static constexpr const char* name() { return "HBW"; } - - private: - AllocationMechanism m_alloc_mech; - friend class Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::HBWSpace, void>; -}; - -} // namespace Experimental - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template <> -class SharedAllocationRecord - : public SharedAllocationRecord { - private: - friend Kokkos::Experimental::HBWSpace; - - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static void deallocate(RecordBase*); - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this HBWSpace instance */ - static RecordBase s_root_record; -#endif - - const Kokkos::Experimental::HBWSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - SharedAllocationRecord( - const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - inline std::string get_label() const { - return std::string(RecordBase::head()->m_label); - } - - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size); - - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr); - - static SharedAllocationRecord* get_record(void* arg_alloc_ptr); - - static void print_records(std::ostream&, - const Kokkos::Experimental::HBWSpace&, - bool detail = false); -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -static_assert( - Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - -template <> -struct MemorySpaceAccess { - enum : bool { assignable = true }; - enum : bool { accessible = true }; - enum : bool { deepcopy = true }; -}; - -template <> -struct MemorySpaceAccess { - enum : bool { assignable = false }; - enum : bool { accessible = true }; - enum : bool { deepcopy = true }; -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template <> -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); - hostspace_parallel_deepcopy_async(copy_space, dst, src, n); - } -}; - -template <> -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); - hostspace_parallel_deepcopy_async(dst, src, n); - } -}; - -} // namespace Impl - -} // namespace Kokkos - -#endif -#endif // #define KOKKOS_HBWSPACE_HPP diff --git a/lib/kokkos/core/src/Kokkos_HostSpace.hpp b/lib/kokkos/core/src/Kokkos_HostSpace.hpp index 252aabd949..a1fb0f5a67 100644 --- a/lib/kokkos/core/src/Kokkos_HostSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HostSpace.hpp @@ -37,7 +37,6 @@ static_assert(false, #include #include "impl/Kokkos_HostSpace_deepcopy.hpp" -#include /*--------------------------------------------------------------------------*/ @@ -94,6 +93,16 @@ class HostSpace { #endif /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -105,9 +114,6 @@ class HostSpace { const size_t arg_logical_size = 0) const; private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -124,7 +130,6 @@ class HostSpace { private: static constexpr const char* m_name = "Host"; - friend class Kokkos::Impl::SharedAllocationRecord; }; } // namespace Kokkos @@ -136,8 +141,7 @@ namespace Kokkos { namespace Impl { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); template struct HostMirror { @@ -173,75 +177,7 @@ struct HostMirror { //---------------------------------------------------------------------------- -namespace Kokkos { - -namespace Impl { - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend Kokkos::HostSpace; - friend class SharedAllocationRecordCommon; - - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this HostSpace instance */ - static RecordBase s_root_record; -#endif - - Kokkos::HostSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /* exec_space*/, const Kokkos::HostSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::HostSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::HostSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } -}; - -} // namespace Impl - -} // namespace Kokkos +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HostSpace); //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp b/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp deleted file mode 100644 index 1ee1d2c81f..0000000000 --- a/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp +++ /dev/null @@ -1,413 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_LOGICALSPACES_HPP -#define KOKKOS_LOGICALSPACES_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -namespace Kokkos { -namespace Experimental { -struct DefaultMemorySpaceNamer { - static constexpr const char* get_name() { - return "DefaultLogicalMemorySpaceName"; - } -}; - -struct LogicalSpaceSharesAccess { - struct shared_access {}; - struct no_shared_access {}; -}; - -/// \class LogicalMemorySpace -/// \brief -/// -/// LogicalMemorySpace is a space that is identical to another space, -/// but differentiable by name and template argument -template -class LogicalMemorySpace { -#ifdef KOKKOS_ENABLE_OPENMPTARGET - // [DZP] For some reason I don't yet know, using LogicalMemorySpaces - // inside an OpenMPTarget build causes errors in the - // SharedAllocationRecords of other types. This is my way of erroring - // a build if we instantiate a LogicalMemSpace in an OMPTarget build - static_assert(!std::is_same::value, - "Can't use LogicalMemorySpaces in an OpenMPTarget build, we're " - "debugging memory issues"); -#endif - public: - //! Tag this class as a kokkos memory space - using memory_space = LogicalMemorySpace; - using size_type = typename BaseSpace::size_type; - - /// \typedef execution_space - /// \brief Default execution space for this memory space. - /// - /// Every memory space has a default execution space. This is - /// useful for things like initializing a View (which happens in - /// parallel using the View's default execution space). - - using execution_space = - std::conditional_t::value, - typename BaseSpace::execution_space, - DefaultBaseExecutionSpace>; - - using device_type = Kokkos::Device; - - LogicalMemorySpace() = default; - - template - LogicalMemorySpace(Args&&... args) : underlying_space((Args &&) args...) {} - - /**\brief Allocate untracked memory in the space */ - void* allocate(const size_t arg_alloc_size) const { - return allocate("[unlabeled]", arg_alloc_size); - } - void* allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const { - return impl_allocate(arg_label, arg_alloc_size, arg_logical_size); - } - - /**\brief Deallocate untracked memory in the space */ - void deallocate(void* const arg_alloc_ptr, - const size_t arg_alloc_size) const { - deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); - } - void deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const { - impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, arg_logical_size); - } - - /**\brief Return Name of the MemorySpace */ - constexpr static const char* name() { return Namer::get_name(); } - - private: - BaseSpace underlying_space; - template - friend class LogicalMemorySpace; - friend class Kokkos::Impl::SharedAllocationRecord; - - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - Kokkos::Tools::SpaceHandle arg_handle = - Kokkos::Tools::make_space_handle(name())) const { - return underlying_space.impl_allocate(arg_label, arg_alloc_size, - arg_logical_size, arg_handle); - } - void impl_deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle arg_handle = - Kokkos::Tools::make_space_handle(name())) const { - underlying_space.impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, - arg_logical_size, arg_handle); - } -}; -} // namespace Experimental -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template -struct MemorySpaceAccess< - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>, - OtherSpace> { - enum { assignable = MemorySpaceAccess::assignable }; - enum { accessible = MemorySpaceAccess::accessible }; - enum { deepcopy = MemorySpaceAccess::deepcopy }; -}; - -template -struct MemorySpaceAccess< - OtherSpace, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>> { - enum { assignable = MemorySpaceAccess::assignable }; - enum { accessible = MemorySpaceAccess::accessible }; - enum { deepcopy = MemorySpaceAccess::deepcopy }; -}; - -template -struct MemorySpaceAccess< - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>> { - enum { assignable = true }; - enum { accessible = true }; - enum { deepcopy = true }; -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { -template -class SharedAllocationRecord, - void> : public SharedAllocationRecord { - private: - using SpaceType = - Kokkos::Experimental::LogicalMemorySpace; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static void deallocate(RecordBase* arg_rec) { - delete static_cast(arg_rec); - } - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this - * LogicalMemorySpace instance */ - static RecordBase s_root_record; -#endif - - const SpaceType m_space; - - protected: - ~SharedAllocationRecord() { - m_space.deallocate(RecordBase::m_alloc_ptr->m_label, - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); - } - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const SpaceType& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const SpaceType& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information - RecordBase::m_alloc_ptr->m_record = - static_cast*>(this); - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length - 1); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; - } - - public: - inline std::string get_label() const { - return std::string(RecordBase::head()->m_label); - } - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const SpaceType& arg_space, const std::string& arg_label, - const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const SpaceType& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void*)nullptr; - - SharedAllocationRecord* const r = - allocate(arg_space, arg_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); - } - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size) { - SharedAllocationRecord* const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord* const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked: fence after copying data"); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); - } - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord* const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } - } - - static SharedAllocationRecord* get_record(void* alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHost = SharedAllocationRecord; - - SharedAllocationHeader const* const head = - alloc_ptr ? Header::get_header(alloc_ptr) - : (SharedAllocationHeader*)nullptr; - RecordHost* const record = - head ? static_cast(head->m_record) : (RecordHost*)nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< LogicalMemorySpace<> , " - "void >::get_record ERROR")); - } - - return record; - } -#ifdef KOKKOS_ENABLE_DEBUG - static void print_records(std::ostream& s, const SpaceType&, - bool detail = false) { - SharedAllocationRecord::print_host_accessible_records( - s, "HostSpace", &s_root_record, detail); - } -#else - static void print_records(std::ostream&, const SpaceType&, - bool detail = false) { - (void)detail; - throw_runtime_exception( - "SharedAllocationRecord::print_records only works " - "with KOKKOS_ENABLE_DEBUG enabled"); - } -#endif -}; -#ifdef KOKKOS_ENABLE_DEBUG -/**\brief Root record for tracked allocations from this LogicalSpace - * instance */ -template -SharedAllocationRecord - SharedAllocationRecord, - void>::s_root_record; -#endif - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template -struct DeepCopy, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, SharesAccess>, - ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy, - ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy, - DestinationSpace, ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; -} // namespace Impl - -} // namespace Kokkos -#endif // KOKKOS_LOGICALSPACES_HPP diff --git a/lib/kokkos/core/src/Kokkos_Macros.hpp b/lib/kokkos/core/src/Kokkos_Macros.hpp index 3cf7ac4fa2..b255d2a519 100644 --- a/lib/kokkos/core/src/Kokkos_Macros.hpp +++ b/lib/kokkos/core/src/Kokkos_Macros.hpp @@ -84,11 +84,12 @@ //---------------------------------------------------------------------------- -#if !defined(KOKKOS_ENABLE_THREADS) && !defined(KOKKOS_ENABLE_CUDA) && \ - !defined(KOKKOS_ENABLE_OPENMP) && !defined(KOKKOS_ENABLE_HPX) && \ - !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(KOKKOS_ENABLE_HIP) && \ - !defined(KOKKOS_ENABLE_SYCL) -#define KOKKOS_INTERNAL_NOT_PARALLEL +#if defined(KOKKOS_ENABLE_ATOMICS_BYPASS) && \ + (defined(KOKKOS_ENABLE_THREADS) || defined(KOKKOS_ENABLE_CUDA) || \ + defined(KOKKOS_ENABLE_OPENMP) || defined(KOKKOS_ENABLE_HPX) || \ + defined(KOKKOS_ENABLE_OPENMPTARGET) || defined(KOKKOS_ENABLE_HIP) || \ + defined(KOKKOS_ENABLE_SYCL) || defined(KOKKOS_ENABLE_OPENACC)) +#error Atomics may only be disabled if neither a host parallel nor a device backend is enabled #endif #define KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA @@ -339,12 +340,6 @@ #define KOKKOS_IMPL_DEVICE_FUNCTION #endif -// Temporary solution for SYCL not supporting printf in kernels. -// Might disappear at any point once we have found another solution. -#if !defined(KOKKOS_IMPL_DO_NOT_USE_PRINTF) -#define KOKKOS_IMPL_DO_NOT_USE_PRINTF(...) ::printf(__VA_ARGS__) -#endif - //---------------------------------------------------------------------------- // Define final version of functions. This is so that clang tidy can find these // macros more easily @@ -433,22 +428,6 @@ #define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL #endif -//---------------------------------------------------------------------------- -// Determine for what space the code is being compiled: -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_3) - -#if defined(__CUDACC__) && defined(__CUDA_ARCH__) && defined(KOKKOS_ENABLE_CUDA) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA -#elif defined(__SYCL_DEVICE_ONLY__) && defined(KOKKOS_ENABLE_SYCL) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL -#elif defined(__HIPCC__) && defined(__HIP_DEVICE_COMPILE__) && \ - defined(KOKKOS_ENABLE_HIP) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU -#else -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST -#endif - -#endif //---------------------------------------------------------------------------- // Remove surrounding parentheses if present diff --git a/lib/kokkos/core/src/Kokkos_MasterLock.hpp b/lib/kokkos/core/src/Kokkos_MasterLock.hpp deleted file mode 100644 index 1d09617371..0000000000 --- a/lib/kokkos/core/src/Kokkos_MasterLock.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_MASTER_LOCK_HPP -#define KOKKOS_MASTER_LOCK_HPP - -#include - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - -namespace Kokkos { -namespace Experimental { - -// my be used to coordinate work between master instances -// SHOULD NOT be used within a parallel algorithm -// -// This lock should be used with with a scoped lock guard -// i.e. std::unique_lock, std::lock_guard -// -// cannot be copied or moved -// has the following functions available -// -// Lock() -// ~Lock() -// -// void lock() -// void unlock() -// bool try_lock() -// -template -class MasterLock; - -} // namespace Experimental -} // namespace Kokkos - -#endif - -#endif // KOKKOS_MASTER_LOCK_HPP diff --git a/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp b/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp index 51a50d347d..1a77f373fd 100644 --- a/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp +++ b/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp @@ -51,24 +51,6 @@ KOKKOS_IMPL_MATH_CONSTANT(phi, 1.618033988749894848204586834365638118L); } // namespace Kokkos::numbers -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -namespace Kokkos::Experimental { -using Kokkos::numbers::e_v; -using Kokkos::numbers::egamma_v; -using Kokkos::numbers::inv_pi_v; -using Kokkos::numbers::inv_sqrt3_v; -using Kokkos::numbers::inv_sqrtpi_v; -using Kokkos::numbers::ln10_v; -using Kokkos::numbers::ln2_v; -using Kokkos::numbers::log10e_v; -using Kokkos::numbers::log2e_v; -using Kokkos::numbers::phi_v; -using Kokkos::numbers::pi_v; -using Kokkos::numbers::sqrt2_v; -using Kokkos::numbers::sqrt3_v; -} // namespace Kokkos::Experimental -#endif - #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_MATHCONSTANTS #undef KOKKOS_IMPL_PUBLIC_INCLUDE #undef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_MATHCONSTANTS diff --git a/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp b/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp index ee64c67b93..3fead8dd29 100644 --- a/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp +++ b/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp @@ -92,16 +92,6 @@ using promote_3_t = typename promote_3::type; #endif #endif -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_3) -#define KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE) \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE -#else -#define KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE) \ - /* nothing */ -#endif - #define KOKKOS_IMPL_MATH_UNARY_FUNCTION(FUNC) \ KOKKOS_INLINE_FUNCTION float FUNC(float x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ @@ -128,13 +118,7 @@ using promote_3_t = typename promote_3::type; T x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ return FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { \ - using ::Kokkos::FUNC; \ - using ::Kokkos::FUNC##f; \ - using ::Kokkos::FUNC##l; \ - }) + } // isinf, isnan, and isinfinite do not work on Windows with CUDA with std:: // getting warnings about calling host function in device function then @@ -151,9 +135,7 @@ using promote_3_t = typename promote_3::type; KOKKOS_INLINE_FUNCTION std::enable_if_t, bool> FUNC( \ T x) { \ return ::FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { using ::Kokkos::FUNC; }) + } #else #define KOKKOS_IMPL_MATH_UNARY_PREDICATE(FUNC) \ KOKKOS_INLINE_FUNCTION bool FUNC(float x) { \ @@ -173,9 +155,7 @@ using promote_3_t = typename promote_3::type; T x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ return FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { using ::Kokkos::FUNC; }) + } #endif #define KOKKOS_IMPL_MATH_BINARY_FUNCTION(FUNC) \ @@ -218,16 +198,10 @@ using promote_3_t = typename promote_3::type; long double> \ FUNC(T1 x, T2 y) { \ using Promoted = Kokkos::Impl::promote_2_t; \ - static_assert(std::is_same_v, ""); \ + static_assert(std::is_same_v); \ using std::FUNC; \ return FUNC(static_cast(x), static_cast(y)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { \ - using ::Kokkos::FUNC; \ - using ::Kokkos::FUNC##f; \ - using ::Kokkos::FUNC##l; \ - }) + } #define KOKKOS_IMPL_MATH_TERNARY_FUNCTION(FUNC) \ KOKKOS_INLINE_FUNCTION float FUNC(float x, float y, float z) { \ @@ -314,8 +288,6 @@ inline long double abs(long double x) { using std::abs; return abs(x); } -KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( - namespace Experimental { using ::Kokkos::abs; }) KOKKOS_IMPL_MATH_UNARY_FUNCTION(fabs) KOKKOS_IMPL_MATH_BINARY_FUNCTION(fmod) KOKKOS_IMPL_MATH_BINARY_FUNCTION(remainder) @@ -336,12 +308,6 @@ KOKKOS_INLINE_FUNCTION float nanf(char const*) { return sycl::nan(0u); } KOKKOS_INLINE_FUNCTION double nan(char const*) { return sycl::nan(0ul); } #endif inline long double nanl(char const* arg) { return ::nanl(arg); } -KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( - namespace Experimental { - using ::Kokkos::nan; - using ::Kokkos::nanf; - using ::Kokkos::nanl; - }) // Exponential functions KOKKOS_IMPL_MATH_UNARY_FUNCTION(exp) // FIXME_NVHPC nvc++ has issues with exp2 @@ -478,7 +444,6 @@ KOKKOS_IMPL_MATH_UNARY_PREDICATE(signbit) // islessgreater // isunordered -#undef KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED #undef KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE #undef KOKKOS_IMPL_MATH_UNARY_FUNCTION #undef KOKKOS_IMPL_MATH_UNARY_PREDICATE diff --git a/lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp b/lib/kokkos/core/src/Kokkos_MinMax.hpp similarity index 83% rename from lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp rename to lib/kokkos/core/src/Kokkos_MinMax.hpp index 37a28a80b6..5c60a88bfb 100644 --- a/lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp +++ b/lib/kokkos/core/src/Kokkos_MinMax.hpp @@ -14,13 +14,8 @@ // //@HEADER -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_MIN_MAX_CLAMP_HPP -#define KOKKOS_MIN_MAX_CLAMP_HPP +#ifndef KOKKOS_MIN_MAX_HPP +#define KOKKOS_MIN_MAX_HPP #include #include @@ -29,22 +24,6 @@ static_assert(false, namespace Kokkos { -// clamp -template -constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, - const T& hi) { - KOKKOS_EXPECTS(!(hi < lo)); - return (value < lo) ? lo : (hi < value) ? hi : value; -} - -template -constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, - const T& hi, - ComparatorType comp) { - KOKKOS_EXPECTS(!comp(hi, lo)); - return comp(value, lo) ? lo : comp(hi, value) ? hi : value; -} - // max template constexpr KOKKOS_INLINE_FUNCTION const T& max(const T& a, const T& b) { @@ -199,15 +178,6 @@ KOKKOS_INLINE_FUNCTION constexpr Kokkos::pair minmax( return result; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -namespace Experimental { -using ::Kokkos::clamp; -using ::Kokkos::max; -using ::Kokkos::min; -using ::Kokkos::minmax; -} // namespace Experimental -#endif - } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/Kokkos_Pair.hpp b/lib/kokkos/core/src/Kokkos_Pair.hpp index 7127c78280..9be8d8d7aa 100644 --- a/lib/kokkos/core/src/Kokkos_Pair.hpp +++ b/lib/kokkos/core/src/Kokkos_Pair.hpp @@ -28,6 +28,7 @@ #endif #include +#include #include namespace Kokkos { @@ -484,7 +485,6 @@ KOKKOS_FORCEINLINE_FUNCTION constexpr bool operator>=( } namespace Impl { - template struct is_pair_like : std::false_type {}; template diff --git a/lib/kokkos/core/src/Kokkos_Printf.hpp b/lib/kokkos/core/src/Kokkos_Printf.hpp index 39f95825c3..63a4cce2ae 100644 --- a/lib/kokkos/core/src/Kokkos_Printf.hpp +++ b/lib/kokkos/core/src/Kokkos_Printf.hpp @@ -30,8 +30,11 @@ namespace Kokkos { // In contrast to std::printf, return void to get a consistent behavior across // backends. The GPU backends always return 1 and NVHPC only compiles if we // don't ask for the return value. +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) +using ::printf; +#else template -KOKKOS_FUNCTION void printf(const char* format, Args... args) { +KOKKOS_FORCEINLINE_FUNCTION void printf(const char* format, Args... args) { #ifdef KOKKOS_ENABLE_SYCL // Some compilers warn if "args" is empty and format is not a string literal if constexpr (sizeof...(Args) == 0) @@ -39,15 +42,13 @@ KOKKOS_FUNCTION void printf(const char* format, Args... args) { else sycl::ext::oneapi::experimental::printf(format, args...); #else - if constexpr (sizeof...(Args) == 0) ::printf("%s", format); - // FIXME_OPENMPTARGET non-string-literal argument used in printf is not - // supported for spir64 -#if !(defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU)) + if constexpr (sizeof...(Args) == 0) + ::printf("%s", format); else ::printf(format, args...); #endif -#endif } +#endif } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp b/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp index 29a04ac3b0..e7a9ba0c7e 100644 --- a/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp +++ b/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp @@ -22,49 +22,34 @@ #endif #include -#include #include #include -namespace Kokkos { -namespace Profiling { +namespace Kokkos::Profiling { + +class [[nodiscard]] ProfilingSection { + uint32_t sectionID; -class ProfilingSection { public: ProfilingSection(ProfilingSection const&) = delete; ProfilingSection& operator=(ProfilingSection const&) = delete; - ProfilingSection(const std::string& sectionName) { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::createProfileSection(sectionName, &secID); - } +#if defined(__has_cpp_attribute) && __has_cpp_attribute(nodiscard) >= 201907 + [[nodiscard]] +#endif + explicit ProfilingSection(const std::string& sectionName) { + Kokkos::Profiling::createProfileSection(sectionName, §ionID); } - void start() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::startSection(secID); - } - } + void start() { Kokkos::Profiling::startSection(sectionID); } - void stop() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::stopSection(secID); - } - } + void stop() { Kokkos::Profiling::stopSection(sectionID); } - ~ProfilingSection() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::destroyProfileSection(secID); - } - } - - protected: - uint32_t secID; + ~ProfilingSection() { Kokkos::Profiling::destroyProfileSection(sectionID); } }; -} // namespace Profiling -} // namespace Kokkos +} // namespace Kokkos::Profiling #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE #undef KOKKOS_IMPL_PUBLIC_INCLUDE diff --git a/lib/kokkos/core/src/Kokkos_Swap.hpp b/lib/kokkos/core/src/Kokkos_Swap.hpp new file mode 100644 index 0000000000..2f849a13ab --- /dev/null +++ b/lib/kokkos/core/src/Kokkos_Swap.hpp @@ -0,0 +1,68 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SWAP_HPP +#define KOKKOS_SWAP_HPP + +#include + +#include +#include +#include + +namespace Kokkos { + +template +KOKKOS_FUNCTION constexpr std::enable_if_t && + std::is_move_assignable_v> +kokkos_swap(T& a, T& b) noexcept(std::is_nothrow_move_constructible_v&& + std::is_nothrow_move_assignable_v) { + T t(std::move(a)); + a = std::move(b); + b = std::move(t); +} + +namespace Impl { + +template +struct is_swappable { + template + static decltype(kokkos_swap(std::declval(), std::declval())) + test_swap(int); + struct Nope; + template + static Nope test_swap(long); + static constexpr bool value = + !std::is_same_v(0)), Nope>; +}; + +template +inline constexpr bool is_nothrow_swappable_v = + noexcept(kokkos_swap(std::declval(), std::declval())); + +} // namespace Impl + +template +KOKKOS_FUNCTION constexpr std::enable_if_t::value> +kokkos_swap(T (&a)[N], T (&b)[N]) noexcept(Impl::is_nothrow_swappable_v) { + for (std::size_t i = 0; i < N; ++i) { + kokkos_swap(a[i], b[i]); + } +} + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/Kokkos_Tuners.hpp b/lib/kokkos/core/src/Kokkos_Tuners.hpp index 618401654e..f5ffc66af5 100644 --- a/lib/kokkos/core/src/Kokkos_Tuners.hpp +++ b/lib/kokkos/core/src/Kokkos_Tuners.hpp @@ -256,13 +256,14 @@ auto get_point_helper(const PointType& in, const ArrayType& indices, template struct GetPoint; -template -struct GetPoint> { +template +struct GetPoint< + PointType, + std::array> { using index_set_type = - std::array; + std::array; static auto build(const PointType& in, const index_set_type& indices) { - return get_point_helper(in, indices, std::make_index_sequence{}); + return get_point_helper(in, indices, std::make_index_sequence{}); } }; diff --git a/lib/kokkos/core/src/Kokkos_View.hpp b/lib/kokkos/core/src/Kokkos_View.hpp index bcbb28014c..484a0e6f62 100644 --- a/lib/kokkos/core/src/Kokkos_View.hpp +++ b/lib/kokkos/core/src/Kokkos_View.hpp @@ -39,7 +39,7 @@ static_assert(false, #ifdef KOKKOS_ENABLE_IMPL_MDSPAN #include #endif -#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -75,25 +75,59 @@ constexpr KOKKOS_INLINE_FUNCTION std::size_t count_valid_integers( (i6 != KOKKOS_INVALID_INDEX) + (i7 != KOKKOS_INVALID_INDEX); } -KOKKOS_INLINE_FUNCTION -void runtime_check_rank(const size_t rank, const size_t dyn_rank, - const bool is_void_spec, const size_t i0, - const size_t i1, const size_t i2, const size_t i3, - const size_t i4, const size_t i5, const size_t i6, - const size_t i7, const std::string& label) { +// FIXME Ideally, we would not instantiate this function for every possible View +// type. We should be able to only pass "extent" when we use mdspan. +template +KOKKOS_INLINE_FUNCTION void runtime_check_rank( + const View&, const bool is_void_spec, const size_t i0, const size_t i1, + const size_t i2, const size_t i3, const size_t i4, const size_t i5, + const size_t i6, const size_t i7, const char* label) { (void)(label); if (is_void_spec) { const size_t num_passed_args = count_valid_integers(i0, i1, i2, i3, i4, i5, i6, i7); + // We either allow to pass as many extents as the dynamic rank is, or + // as many extents as the total rank is. In the latter case, the given + // extents for the static dimensions must match the + // compile-time extents. + constexpr int rank = View::rank(); + constexpr int dyn_rank = View::rank_dynamic(); + const bool n_args_is_dyn_rank = num_passed_args == dyn_rank; + const bool n_args_is_rank = num_passed_args == rank; - if (num_passed_args != dyn_rank && num_passed_args != rank) { + if constexpr (rank != dyn_rank) { + if (n_args_is_rank) { + size_t new_extents[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; + for (int i = dyn_rank; i < rank; ++i) + if (new_extents[i] != View::static_extent(i)) { + KOKKOS_IF_ON_HOST( + const std::string message = + "The specified run-time extent for Kokkos::View '" + + std::string(label) + + "' does not match the compile-time extent in dimension " + + std::to_string(i) + ". The given extent is " + + std::to_string(new_extents[i]) + " but should be " + + std::to_string(View::static_extent(i)) + ".\n"; + Kokkos::abort(message.c_str());) + KOKKOS_IF_ON_DEVICE( + Kokkos::abort( + "The specified run-time extents for a Kokkos::View " + "do not match the compile-time extents.");) + } + } + } + + if (!n_args_is_dyn_rank && !n_args_is_rank) { KOKKOS_IF_ON_HOST( const std::string message = - "Constructor for Kokkos View '" + label + - "' has mismatched number of arguments. Number of arguments = " + + "Constructor for Kokkos::View '" + std::string(label) + + "' has mismatched number of arguments. The number " + "of arguments = " + std::to_string(num_passed_args) + - " but dynamic rank = " + std::to_string(dyn_rank) + " \n"; + " neither matches the dynamic rank = " + + std::to_string(dyn_rank) + + " nor the total rank = " + std::to_string(rank) + "\n"; Kokkos::abort(message.c_str());) KOKKOS_IF_ON_DEVICE(Kokkos::abort("Constructor for Kokkos View has " "mismatched number of arguments.");) @@ -814,15 +848,15 @@ class View : public ViewTraits { template static KOKKOS_FUNCTION void check_access_member_function_valid_args(Is...) { - static_assert(rank <= sizeof...(Is), ""); - static_assert(sizeof...(Is) <= 8, ""); - static_assert(Kokkos::Impl::are_integral::value, ""); + static_assert(rank <= sizeof...(Is)); + static_assert(sizeof...(Is) <= 8); + static_assert(Kokkos::Impl::are_integral::value); } template static KOKKOS_FUNCTION void check_operator_parens_valid_args(Is...) { - static_assert(rank == sizeof...(Is), ""); - static_assert(Kokkos::Impl::are_integral::value, ""); + static_assert(rank == sizeof...(Is)); + static_assert(Kokkos::Impl::are_integral::value); } public: @@ -1402,21 +1436,30 @@ class View : public ViewTraits { "execution space"); } - size_t i0 = arg_layout.dimension[0]; - size_t i1 = arg_layout.dimension[1]; - size_t i2 = arg_layout.dimension[2]; - size_t i3 = arg_layout.dimension[3]; - size_t i4 = arg_layout.dimension[4]; - size_t i5 = arg_layout.dimension[5]; - size_t i6 = arg_layout.dimension[6]; - size_t i7 = arg_layout.dimension[7]; +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + size_t i0 = arg_layout.dimension[0]; + size_t i1 = arg_layout.dimension[1]; + size_t i2 = arg_layout.dimension[2]; + size_t i3 = arg_layout.dimension[3]; + size_t i4 = arg_layout.dimension[4]; + size_t i5 = arg_layout.dimension[5]; + size_t i6 = arg_layout.dimension[6]; + size_t i7 = arg_layout.dimension[7]; - const std::string& alloc_name = - Impl::get_property(prop_copy); - Impl::runtime_check_rank( - rank, rank_dynamic, - std::is_same::value, i0, i1, i2, i3, - i4, i5, i6, i7, alloc_name); + const std::string& alloc_name = + Impl::get_property(prop_copy); + Impl::runtime_check_rank( + *this, std::is_same::value, i0, i1, + i2, i3, i4, i5, i6, i7, alloc_name.c_str()); + } +#endif Kokkos::Impl::SharedAllocationRecord<>* record = m_map.allocate_shared( prop_copy, arg_layout, Impl::ViewCtorProp::has_execution_space); @@ -1445,6 +1488,29 @@ class View : public ViewTraits { typename Impl::ViewCtorProp::pointer_type>::value, "Constructing View to wrap user memory must supply matching pointer " "type"); + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + size_t i0 = arg_layout.dimension[0]; + size_t i1 = arg_layout.dimension[1]; + size_t i2 = arg_layout.dimension[2]; + size_t i3 = arg_layout.dimension[3]; + size_t i4 = arg_layout.dimension[4]; + size_t i5 = arg_layout.dimension[5]; + size_t i6 = arg_layout.dimension[6]; + size_t i7 = arg_layout.dimension[7]; + + Impl::runtime_check_rank( + *this, std::is_same::value, i0, i1, + i2, i3, i4, i5, i6, i7, "UNMANAGED"); + } +#endif } // Simple dimension-only layout diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp index f54c44d66f..99daf379b6 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp @@ -58,8 +58,10 @@ void Kokkos::Experimental::OpenACC::impl_initialize( Impl::OpenACCInternal::m_acc_device_num = acc_get_device_num(acc_device_host); } else { + using Kokkos::Impl::get_visible_devices; + std::vector const& visible_devices = get_visible_devices(); using Kokkos::Impl::get_gpu; - int const dev_num = get_gpu(settings); + int const dev_num = get_gpu(settings).value_or(visible_devices[0]); acc_set_device_num(dev_num, Impl::OpenACC_Traits::dev_type); Impl::OpenACCInternal::m_acc_device_num = dev_num; } diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp index b012f6a42a..5155bee33d 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp @@ -91,7 +91,11 @@ class OpenACC { #else int concurrency() const { return 256000; } // FIXME_OPENACC #endif - static bool in_parallel() { return acc_on_device(acc_device_not_host); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static bool in_parallel() { + return acc_on_device(acc_device_not_host); + } +#endif uint32_t impl_instance_id() const noexcept; Impl::OpenACCInternal* impl_internal_space_instance() const { return m_space_instance.get(); diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp index 141ec77fd1..acc0dcd3c6 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp @@ -19,8 +19,8 @@ #include #include #include -#include #include +#include #include @@ -66,6 +66,19 @@ void *Kokkos::Experimental::OpenACCSpace::impl_allocate( ptr = acc_malloc(arg_alloc_size); + if (!ptr) { + size_t alignment = 1; // OpenACC does not handle alignment + using Kokkos::Experimental::RawMemoryAllocationFailure; + auto failure_mode = + arg_alloc_size > 0 + ? RawMemoryAllocationFailure::FailureMode::OutOfMemoryError + : RawMemoryAllocationFailure::FailureMode::InvalidAllocationSize; + auto alloc_mechanism = + RawMemoryAllocationFailure::AllocationMechanism::OpenACCMalloc; + throw RawMemoryAllocationFailure(arg_alloc_size, alignment, failure_mode, + alloc_mechanism); + } + if (Kokkos::Profiling::profileLibraryLoaded()) { const size_t reported_size = (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp index 4aed7e00f7..ca022192b0 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp @@ -34,7 +34,7 @@ struct Kokkos::Impl::DeepCopy 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, @@ -52,7 +52,7 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { @@ -60,7 +60,7 @@ struct Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } }; @@ -70,7 +70,9 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { - if (n > 0) acc_memcpy_to_device(dst, const_cast(src), n); + if (n > 0) + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, const void* src, size_t n) { @@ -85,7 +87,8 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_to_device(dst, const_cast(src), n); + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { @@ -93,7 +96,8 @@ struct Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_to_device(dst, const_cast(src), n); + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } } }; @@ -104,7 +108,8 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_from_device(dst, const_cast(src), n); + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, @@ -120,14 +125,17 @@ template struct Kokkos::Impl::DeepCopy< Kokkos::HostSpace, Kokkos::Experimental::OpenACCSpace, ExecutionSpace> { DeepCopy(void* dst, const void* src, size_t n) { - if (n > 0) acc_memcpy_from_device(dst, const_cast(src), n); + if (n > 0) + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { exec.fence( "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_from_device(dst, const_cast(src), n); + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } } }; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp index 6645616ba5..c3d7236872 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp @@ -35,7 +35,7 @@ class OpenACCInternal { public: static int m_acc_device_num; - int m_async_arg = acc_async_sync; + int m_async_arg = acc_async_noval; OpenACCInternal() = default; @@ -43,7 +43,7 @@ class OpenACCInternal { bool verify_is_initialized(const char* const label) const; - void initialize(int async_arg = acc_async_sync); + void initialize(int async_arg = acc_async_noval); void finalize(); bool is_initialized() const; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp index 2c7793dc11..5afb5e75d3 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp @@ -31,7 +31,7 @@ template ::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -136,6 +136,7 @@ class Kokkos::Impl::ParallelReduce> struct OpenACCParallelReduceHelper { OpenACCParallelReduceHelper(Functor const&, Reducer const&, Policy const&) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -140,6 +140,7 @@ class Kokkos::Impl::ParallelReduce::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -129,7 +129,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::TeamThreadRangeBoundariesStruct& loop_boundaries, const Lambda& lambda, const JoinType& join, ValueType& init_result) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "custom reduction is not implemented"); } @@ -140,7 +140,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::ThreadVectorRangeBoundariesStruct< iType, Impl::OpenACCTeamMember>& loop_boundaries, const Lambda& lambda, const JoinType& join, ValueType& init_result) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "custom reduction is not implemented"); } @@ -394,6 +394,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( vector_length); \ functor(team, val); \ } \ + acc_wait(async_arg); \ aval = val; \ } \ } // namespace Kokkos::Experimental::Impl diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp index 91faa64f73..76e1514476 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp @@ -16,92 +16,11 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE -#include +#include #include -#include -#include - -#ifdef KOKKOS_ENABLE_DEBUG -Kokkos::Impl::SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::OpenACCSpace, void>::s_root_record; -#endif - -Kokkos::Impl::SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -Kokkos::Impl::SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenACCSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - Kokkos::Impl::DeepCopy( - RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - Kokkos::fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -Kokkos::Impl::SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenACC &arg_exec_space, - const Kokkos::Experimental::OpenACCSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_exec_space, arg_space, - arg_label, arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - Kokkos::Impl::DeepCopy( - arg_exec_space, RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -//============================================================================== -// {{{1 +#include #include -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicitly instantiate these CRTP base classes -// here, where we have access to the associated *_timpl.hpp header files. -template class Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; -template class Kokkos::Impl::SharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - -// end Explicit instantiations of CRTP Base classes }}}1 -//============================================================================== +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::OpenACCSpace); diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp index cf83a5b27b..cde5ecdcb7 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp @@ -20,55 +20,7 @@ #include #include -#include - -template <> -class Kokkos::Impl::SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace> { - private: - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - friend class SharedAllocationRecordCommon; - friend Kokkos::Experimental::OpenACCSpace; - - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - /**\brief Root record for tracked allocations from this OpenACCSpace - * instance */ - static RecordBase s_root_record; - - const Kokkos::Experimental::OpenACCSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::OpenACC& exec_space, - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); -}; +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::OpenACCSpace); #endif diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp index 4ec71f56ef..20ea392452 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp @@ -82,7 +82,7 @@ class OpenACCTeamMember { // FIXME_OPENACC: team_broadcast() is not implemented. template KOKKOS_FUNCTION void team_broadcast(ValueType& value, int thread_id) const { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "Kokkos Error: team_broadcast() is not implemented for the " "OpenACC backend"); return ValueType(); @@ -99,7 +99,7 @@ class OpenACCTeamMember { template KOKKOS_FUNCTION ValueType team_reduce(const ValueType& value, const JoinOp& op_in) const { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "Kokkos Error: team_reduce() is not implemented for the " "OpenACC backend"); return ValueType(); @@ -110,7 +110,7 @@ class OpenACCTeamMember { KOKKOS_FUNCTION ArgType team_scan(const ArgType& /*value*/, ArgType* const /*global_accum*/) const { static_assert( - !Kokkos::Impl::always_true::value, + Kokkos::Impl::always_false::value, "Kokkos Error: team_scan() is not implemented for the OpenACC backend"); return ArgType(); } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp index 9a169a435c..81f2c5c305 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp @@ -81,29 +81,16 @@ bool OpenMP::impl_is_initialized() noexcept { return Impl::OpenMPInternal::singleton().is_initialized(); } -bool OpenMP::in_parallel(OpenMP const &exec_space) noexcept { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - return ( - (exec_space.impl_internal_space_instance()->m_level < omp_get_level()) && - (!Impl::t_openmp_instance || - Impl::t_openmp_instance->m_level < omp_get_level())); -#else +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED bool OpenMP::in_parallel(OpenMP const &exec_space) noexcept { return exec_space.impl_internal_space_instance()->m_level < omp_get_level(); -#endif } +#endif int OpenMP::impl_thread_pool_size() const noexcept { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - return OpenMP::in_parallel(*this) - ? omp_get_num_threads() - : (Impl::t_openmp_instance - ? Impl::t_openmp_instance->m_pool_size - : impl_internal_space_instance()->m_pool_size); -#else - return OpenMP::in_parallel(*this) + return (impl_internal_space_instance()->get_level() < omp_get_level()) ? omp_get_num_threads() : impl_internal_space_instance()->m_pool_size; -#endif } int OpenMP::impl_max_hardware_threads() noexcept { diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp index 594f40d524..11292af84a 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp @@ -27,14 +27,7 @@ static_assert(false, #include -#include -#include #include - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - #include #include #include @@ -45,6 +38,8 @@ static_assert(false, #include +#include +#include #include /*--------------------------------------------------------------------------*/ @@ -53,11 +48,6 @@ namespace Kokkos { namespace Impl { class OpenMPInternal; - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -// FIXME_OPENMP we can remove this after we remove partition_master -inline thread_local OpenMPInternal* t_openmp_instance = nullptr; -#endif } // namespace Impl /// \class OpenMP @@ -67,12 +57,7 @@ class OpenMP { //! Tag this class as a kokkos execution space using execution_space = OpenMP; - using memory_space = -#ifdef KOKKOS_ENABLE_HBWSPACE - Experimental::HBWSpace; -#else - HostSpace; -#endif + using memory_space = HostSpace; //! This execution space preferred device_type using device_type = Kokkos::Device; @@ -87,8 +72,10 @@ class OpenMP { /// \brief Print configuration information to the given output stream. void print_configuration(std::ostream& os, bool verbose = false) const; +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 /// \brief is the instance running a parallel algorithm - static bool in_parallel(OpenMP const& = OpenMP()) noexcept; + KOKKOS_DEPRECATED static bool in_parallel(OpenMP const& = OpenMP()) noexcept; +#endif /// \brief Wait until all dispatched functors complete on the given instance /// @@ -104,18 +91,6 @@ class OpenMP { /// This always returns false on OpenMP inline static bool is_asynchronous(OpenMP const& = OpenMP()) noexcept; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - /// \brief Partition the default instance and call 'f' on each new 'master' - /// thread - /// - /// Func is a functor with the following signiture - /// void( int partition_id, int num_partitions ) - template - KOKKOS_DEPRECATED static void partition_master( - F const& f, int requested_num_partitions = 0, - int requested_partition_size = 0); -#endif - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(OpenMP const& = OpenMP()); #else @@ -166,14 +141,7 @@ class OpenMP { }; inline int OpenMP::impl_thread_pool_rank() noexcept { - // FIXME_OPENMP Can we remove this when removing partition_master? It's only - // used in one partition_master test -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - KOKKOS_IF_ON_HOST( - (return Impl::t_openmp_instance ? 0 : omp_get_thread_num();)) -#else KOKKOS_IF_ON_HOST((return omp_get_thread_num();)) -#endif KOKKOS_IF_ON_DEVICE((return -1;)) } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp index 12bf3b71f7..32172fbc6c 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp @@ -47,61 +47,6 @@ void OpenMPInternal::release_lock() { desul::MemoryScopeDevice()); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void OpenMPInternal::validate_partition_impl(const int nthreads, - int &num_partitions, - int &partition_size) { - if (nthreads == 1) { - num_partitions = 1; - partition_size = 1; - } else if (num_partitions < 1 && partition_size < 1) { - int idle = nthreads; - for (int np = 2; np <= nthreads; ++np) { - for (int ps = 1; ps <= nthreads / np; ++ps) { - if (nthreads - np * ps < idle) { - idle = nthreads - np * ps; - num_partitions = np; - partition_size = ps; - } - if (idle == 0) { - break; - } - } - } - } else if (num_partitions < 1 && partition_size > 0) { - if (partition_size <= nthreads) { - num_partitions = nthreads / partition_size; - } else { - num_partitions = 1; - partition_size = nthreads; - } - } else if (num_partitions > 0 && partition_size < 1) { - if (num_partitions <= nthreads) { - partition_size = nthreads / num_partitions; - } else { - num_partitions = nthreads; - partition_size = 1; - } - } else if (num_partitions * partition_size > nthreads) { - int idle = nthreads; - const int NP = num_partitions; - const int PS = partition_size; - for (int np = NP; np > 0; --np) { - for (int ps = PS; ps > 0; --ps) { - if ((np * ps <= nthreads) && (nthreads - np * ps < idle)) { - idle = nthreads - np * ps; - num_partitions = np; - partition_size = ps; - } - if (idle == 0) { - break; - } - } - } - } -} -#endif - void OpenMPInternal::clear_thread_data() { const size_t member_bytes = sizeof(int64_t) * diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp index 03f5fff395..35b9aa93ba 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp @@ -41,16 +41,6 @@ #include /*--------------------------------------------------------------------------*/ -namespace Kokkos { -namespace Impl { - -inline bool execute_in_serial(OpenMP const& space = OpenMP()) { - return (OpenMP::in_parallel(space) && - !(omp_get_nested() && (omp_get_level() == 1))); -} - -} // namespace Impl -} // namespace Kokkos namespace Kokkos { namespace Impl { @@ -99,11 +89,6 @@ class OpenMPInternal { // Release lock used to protect access to m_pool void release_lock(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - static void validate_partition_impl(const int nthreads, int& num_partitions, - int& partition_size); -#endif - void resize_thread_data(size_t pool_reduce_bytes, size_t team_reduce_bytes, size_t team_shared_bytes, size_t thread_local_bytes); @@ -115,6 +100,8 @@ class OpenMPInternal { return m_pool[i]; } + int get_level() const { return m_level; } + bool is_initialized() const { return m_initialized; } bool verify_is_initialized(const char* const label) const; @@ -122,32 +109,20 @@ class OpenMPInternal { void print_configuration(std::ostream& s) const; }; -} // namespace Impl - -namespace Experimental { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -template <> -class MasterLock { - public: - void lock() { omp_set_lock(&m_lock); } - void unlock() { omp_unset_lock(&m_lock); } - bool try_lock() { return static_cast(omp_test_lock(&m_lock)); } - - KOKKOS_DEPRECATED MasterLock() { omp_init_lock(&m_lock); } - ~MasterLock() { omp_destroy_lock(&m_lock); } - - MasterLock(MasterLock const&) = delete; - MasterLock(MasterLock&&) = delete; - MasterLock& operator=(MasterLock const&) = delete; - MasterLock& operator=(MasterLock&&) = delete; - - private: - omp_lock_t m_lock; -}; +inline bool execute_in_serial(OpenMP const& space = OpenMP()) { +// The default value returned by `omp_get_max_active_levels` with gcc version +// lower than 11.1.0 is 2147483647 instead of 1. +#if (!defined(KOKKOS_COMPILER_GNU) || KOKKOS_COMPILER_GNU >= 1110) && \ + _OPENMP >= 201511 + bool is_nested = omp_get_max_active_levels() > 1; +#else + bool is_nested = static_cast(omp_get_nested()); #endif + return (space.impl_internal_space_instance()->get_level() < omp_get_level() && + !(is_nested && (omp_get_level() == 1))); +} -} // namespace Experimental +} // namespace Impl namespace Experimental { namespace Impl { @@ -202,50 +177,6 @@ std::vector partition_space(OpenMP const& main_instance, return Impl::create_OpenMP_instances(main_instance, weights); } } // namespace Experimental - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -template -KOKKOS_DEPRECATED void OpenMP::partition_master(F const& f, int num_partitions, - int partition_size) { -#if _OPENMP >= 201511 - if (omp_get_max_active_levels() > 1) { -#else - if (omp_get_nested()) { -#endif - using Exec = Impl::OpenMPInternal; - - Exec* prev_instance = &Impl::OpenMPInternal::singleton(); - - Exec::validate_partition_impl(prev_instance->m_pool_size, num_partitions, - partition_size); - - OpenMP::memory_space space; - -#pragma omp parallel num_threads(num_partitions) - { - Exec thread_local_instance(partition_size); - Impl::t_openmp_instance = &thread_local_instance; - - size_t pool_reduce_bytes = 32 * partition_size; - size_t team_reduce_bytes = 32 * partition_size; - size_t team_shared_bytes = 1024 * partition_size; - size_t thread_local_bytes = 1024; - - thread_local_instance.resize_thread_data( - pool_reduce_bytes, team_reduce_bytes, team_shared_bytes, - thread_local_bytes); - - omp_set_num_threads(partition_size); - f(omp_get_thread_num(), omp_get_num_threads()); - Impl::t_openmp_instance = nullptr; - } - } else { - // nested openmp not enabled - f(0, 1); - } -} -#endif - } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp index 96dc664eb7..823a7e668e 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp @@ -147,15 +147,7 @@ class ParallelFor, Kokkos::OpenMP> { inline ParallelFor(const FunctorType& arg_functor, Policy arg_policy) : m_instance(nullptr), m_functor(arg_functor), m_policy(arg_policy) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; @@ -251,16 +243,9 @@ class ParallelFor, inline ParallelFor(const FunctorType& arg_functor, MDRangePolicy arg_policy) : m_instance(nullptr), m_iter(arg_policy, arg_functor) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } + template static int max_tile_size_product(const Policy&, const Functor&) { /** @@ -409,15 +394,7 @@ class ParallelFor, m_shmem_size(arg_policy.scratch_size(0) + arg_policy.scratch_size(1) + FunctorTeamShmemSize::value( arg_functor, arg_policy.team_size())) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp index 52cdef18e6..05fd1c9dce 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp @@ -170,15 +170,7 @@ class ParallelReduce, m_functor_reducer(arg_functor_reducer), m_policy(arg_policy), m_result_ptr(arg_view.data()) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, @@ -319,15 +311,7 @@ class ParallelReduce::accessible, @@ -543,15 +527,7 @@ class ParallelReduce::value( arg_functor_reducer.get_functor(), arg_policy.team_size())) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif static_assert( Kokkos::Impl::MemorySpaceAccess, inline ParallelScan(const FunctorType& arg_functor, const Policy& arg_policy) : m_instance(nullptr), m_functor(arg_functor), m_policy(arg_policy) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; @@ -292,15 +284,7 @@ class ParallelScanWithTotal, Kokkos::Impl::MemorySpaceAccess::accessible, "Kokkos::OpenMP parallel_scan result must be host-accessible!"); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } //---------------------------------------- diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp index adf972dd08..ea4e7f6bab 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp @@ -65,7 +65,11 @@ class OpenMPTarget { using scratch_memory_space = ScratchMemorySpace; - inline static bool in_parallel() { return omp_in_parallel(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED inline static bool in_parallel() { + return omp_in_parallel(); + } +#endif static void fence(const std::string& name = "Kokkos::OpenMPTarget::fence: Unnamed Instance Fence"); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp index 81fbc56de0..a414b34d7c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp @@ -37,7 +37,6 @@ #include #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -110,79 +109,13 @@ void OpenMPTargetSpace::deallocate(const char* arg_label, } // namespace Experimental } // namespace Kokkos -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::OpenMPTargetSpace, void>::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // TODO DeepCopy - // DeepCopy - Kokkos::Impl::DeepCopy( - RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - Kokkos::fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -//---------------------------------------------------------------------------- - -} // namespace Impl -} // namespace Kokkos - //============================================================================== // {{{1 #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - -} // end namespace Impl -} // end namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::OpenMPTargetSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp index e5b33d0982..ed625cfcc8 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp @@ -98,6 +98,16 @@ class OpenMPTargetSpace { ~OpenMPTargetSpace() = default; /**\brief Allocate untracked memory in the space */ + // FIXME_OPENMPTARGET Use execution space instance + void* allocate(const OpenMPTarget&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + // FIXME_OPENMPTARGET Use execution space instance + void* allocate(const OpenMPTarget&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -121,9 +131,6 @@ class OpenMPTargetSpace { const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = Kokkos::Tools::make_space_handle(name())) const; - - friend class Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::OpenMPTargetSpace, void>; }; } // namespace Experimental } // namespace Kokkos @@ -131,64 +138,8 @@ class OpenMPTargetSpace { //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -namespace Kokkos { -namespace Impl { - -template <> -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace> { - private: - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - friend Kokkos::Experimental::OpenMPTargetSpace; - - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - /**\brief Root record for tracked allocations from this OpenMPTargetSpace - * instance */ - static RecordBase s_root_record; - - const Kokkos::Experimental::OpenMPTargetSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc) { - KOKKOS_IF_ON_HOST( - (return new SharedAllocationRecord(arg_space, arg_label, arg_alloc);)) - KOKKOS_IF_ON_DEVICE( - ((void)arg_space; (void)arg_label; (void)arg_alloc; return nullptr;)) - } -}; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::OpenMPTargetSpace); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp index 1902c38409..b39f5aca35 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp @@ -75,6 +75,7 @@ int* OpenMPTargetExec::m_lock_array = nullptr; uint64_t OpenMPTargetExec::m_lock_size = 0; uint32_t* OpenMPTargetExec::m_uniquetoken_ptr = nullptr; int OpenMPTargetExec::MAX_ACTIVE_THREADS = 0; +std::mutex OpenMPTargetExec::m_mutex_scratch_ptr; void OpenMPTargetExec::clear_scratch() { Kokkos::Experimental::OpenMPTargetSpace space; @@ -98,6 +99,11 @@ void OpenMPTargetExec::resize_scratch(int64_t team_size, int64_t shmem_size_L0, int64_t shmem_size_L1, int64_t league_size) { Kokkos::Experimental::OpenMPTargetSpace space; + // Level-0 scratch when using clang/17 and higher comes from their OpenMP + // extension, `ompx_dyn_cgroup_mem`. +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + shmem_size_L0 = 0; +#endif const int64_t shmem_size = shmem_size_L0 + shmem_size_L1; // L0 + L1 scratch memory per team. const int64_t padding = shmem_size * 10 / 100; // Padding per team. diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp index 9e8844a6f2..3387108da3 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp @@ -178,8 +178,10 @@ void OpenMPTarget::impl_static_fence(const std::string& name) { } void OpenMPTarget::impl_initialize(InitializationSettings const& settings) { + using Kokkos::Impl::get_visible_devices; + std::vector const& visible_devices = get_visible_devices(); using Kokkos::Impl::get_gpu; - const int device_num = get_gpu(settings); + const int device_num = get_gpu(settings).value_or(visible_devices[0]); omp_set_default_device(device_num); Impl::OpenMPTargetInternal::impl_singleton()->impl_initialize(); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp new file mode 100644 index 0000000000..2bd672f4d0 --- /dev/null +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp @@ -0,0 +1,46 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_OPENMPTARGET_MACROS_HPP +#define KOKKOS_OPENMPTARGET_MACROS_HPP + +// Intel architectures prefer the classical hierarchical parallelism that relies +// on OpenMP. +#if defined(KOKKOS_ARCH_INTEL_GPU) +#define KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU +#endif + +// Define a macro for llvm compiler greater than version 17 and on NVIDIA and +// AMD GPUs. This would be useful in cases where non-OpenMP standard llvm +// extensions can be used. +#if defined(KOKKOS_COMPILER_CLANG) && (KOKKOS_COMPILER_CLANG >= 1700) && \ + (defined(KOKKOS_ARCH_AMD_GPU) || defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU)) +#define KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS +#endif + +#define KOKKOS_IMPL_OPENMPTARGET_PRAGMA_HELPER(x) _Pragma(#x) +#define KOKKOS_IMPL_OMPTARGET_PRAGMA(x) \ + KOKKOS_IMPL_OPENMPTARGET_PRAGMA_HELPER(omp target x) + +// Use scratch memory extensions to request dynamic shared memory for the +// right compiler/architecture combination. +#ifdef KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS +#define KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(N) ompx_dyn_cgroup_mem(N) +#else +#define KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(N) +#endif + +#endif // KOKKOS_OPENMPTARGET_MACROS_HPP diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp index 9767d8e53e..dcc509d2fa 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp @@ -21,16 +21,10 @@ #include #include #include -#include #include #include "Kokkos_OpenMPTarget_Abort.hpp" - -// Intel architectures prefer the classical hierarchical parallelism that relies -// on OpenMP. -#if defined(KOKKOS_ARCH_INTEL_GPU) -#define KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU -#endif +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -113,14 +107,20 @@ class OpenMPTargetExecTeamMember { team_broadcast(value, thread_id); } - // FIXME_OPENMPTARGET this function has the wrong interface and currently - // ignores the reducer passed. - template - KOKKOS_INLINE_FUNCTION ValueType team_reduce(const ValueType& value, - const JoinOp&) const { + template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value> + team_reduce(ReducerType const& reducer) const noexcept { + team_reduce(reducer, reducer.reference()); + } + + // FIXME_OPENMPTARGET this function currently ignores the reducer passed. + template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value> + team_reduce(ReducerType const&, typename ReducerType::value_type& value) const + noexcept { #pragma omp barrier - using value_type = ValueType; + using value_type = typename ReducerType::value_type; // const JoinLambdaAdapter op(op_in); // Make sure there is enough scratch space: @@ -149,8 +149,9 @@ class OpenMPTargetExecTeamMember { } #pragma omp barrier } - return team_scratch[0]; + value = team_scratch[0]; } + /** \brief Intra-team exclusive prefix sum with team_rank() ordering * with intra-team non-deterministic ordering accumulation. * @@ -249,15 +250,37 @@ class OpenMPTargetExecTeamMember { // and L1 shmem size. TEAM_REDUCE_SIZE = 512 bytes saved per team for // hierarchical reduction. There is an additional 10% of the requested // scratch memory allocated per team as padding. Hence the product with 0.1. + // + // Use llvm extensions for dynamic shared memory with compilers/architecture + // combinations where it is supported. + // + // Size allocated in HBM will now change based on whether we use llvm + // extensions. +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + const int total_shmem = shmem_size_L1 + shmem_size_L1 * 0.1; +#else + const int total_shmem = + shmem_size_L0 + shmem_size_L1 + (shmem_size_L0 + shmem_size_L1) * 0.1; +#endif + + // Per team offset for buffer in HBM. const int reduce_offset = - m_shmem_block_index * - (shmem_size_L0 + shmem_size_L1 + - ((shmem_size_L0 + shmem_size_L1) * 0.1) + TEAM_REDUCE_SIZE); + m_shmem_block_index * (total_shmem + TEAM_REDUCE_SIZE); + +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + const int l1_offset = reduce_offset + TEAM_REDUCE_SIZE; + char* l0_scratch = + static_cast(llvm_omp_target_dynamic_shared_alloc()); + m_team_shared = scratch_memory_space( + l0_scratch, shmem_size_L0, static_cast(glb_scratch) + l1_offset, + shmem_size_L1); +#else const int l0_offset = reduce_offset + TEAM_REDUCE_SIZE; const int l1_offset = l0_offset + shmem_size_L0; m_team_shared = scratch_memory_space( (static_cast(glb_scratch) + l0_offset), shmem_size_L0, static_cast(glb_scratch) + l1_offset, shmem_size_L1); +#endif m_reduce_scratch = static_cast(glb_scratch) + reduce_offset; m_league_rank = league_rank; m_team_rank = omp_tid; @@ -751,6 +774,7 @@ class OpenMPTargetExec { int64_t thread_local_bytes, int64_t league_size); static void* m_scratch_ptr; + static std::mutex m_mutex_scratch_ptr; static int64_t m_scratch_size; static int* m_lock_array; static uint64_t m_lock_size; diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp index 1abc925cae..26085f1140 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -140,8 +141,10 @@ class ParallelFor, // guarantees that the number of teams specified in the `num_teams` clause is // always less than or equal to the maximum concurrently running teams. #if !defined(KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU) -#pragma omp target teams thread_limit(team_size) firstprivate(a_functor) \ - num_teams(max_active_teams) is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams thread_limit(team_size) firstprivate(a_functor) + num_teams(max_active_teams) is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel { if (omp_get_num_teams() > max_active_teams) diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp index 4452af3846..caa568a892 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp @@ -55,6 +55,9 @@ class ParallelReduce, const pointer_type m_result_ptr; bool m_result_ptr_on_device; const int m_result_ptr_num_elems; + // Only let one ParallelReduce instance at a time use the scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_memory_lock; using TagType = typename Policy::work_tag; public: @@ -105,7 +108,8 @@ class ParallelReduce, m_result_ptr_on_device( MemorySpaceAccess::accessible), - m_result_ptr_num_elems(arg_result_view.size()) {} + m_result_ptr_num_elems(arg_result_view.size()), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp index a302fa7151..8abffa47a4 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp @@ -470,6 +470,10 @@ class ParallelReduce m_scratch_memory_lock; + public: void execute() const { const FunctorType& functor = m_functor_reducer.get_functor(); @@ -517,7 +521,8 @@ class ParallelReduce::value( - arg_functor_reducer.get_functor(), arg_policy.team_size())) {} + arg_functor_reducer.get_functor(), arg_policy.team_size())), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp index 1d6677a1df..c1f7851f41 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp @@ -238,8 +238,10 @@ class ParallelScanWithTotal, if (!base_t::m_result_ptr_device_accessible) { const int size = base_t::m_functor_reducer.get_reducer().value_size(); - DeepCopy( - base_t::m_result_ptr, chunk_values.data() + (n_chunks - 1), size); + DeepCopy( + base_t::m_policy.space(), base_t::m_result_ptr, + chunk_values.data() + (n_chunks - 1), size); } } else if (!base_t::m_result_ptr_device_accessible) { base_t::m_functor_reducer.get_reducer().init(base_t::m_result_ptr); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp index fb75f05f27..eb3dc3773c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp @@ -21,6 +21,7 @@ #include #include #include +#include namespace Kokkos { namespace Impl { @@ -394,9 +395,11 @@ struct ParallelReduceSpecialize, initializer(OpenMPTargetReducerWrapper ::init(omp_priv)) #if !defined(KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU) -#pragma omp target teams num_teams(max_active_teams) thread_limit(team_size) \ - firstprivate(f) is_device_ptr(scratch_ptr) reduction(custom \ - : result) + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams num_teams(max_active_teams) thread_limit(team_size) + firstprivate(f) is_device_ptr(scratch_ptr) reduction(custom + : result) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel reduction(custom : result) { if (omp_get_num_teams() > max_active_teams) @@ -482,9 +485,11 @@ struct ParallelReduceSpecialize, // Case where reduction is on a native data type. if constexpr (std::is_arithmetic::value) { -#pragma omp target teams num_teams(max_active_teams) thread_limit(team_size) map(to \ - : f) \ - is_device_ptr(scratch_ptr) reduction(+: result) + // Use scratch memory extensions to request dynamic shared memory for + // the right compiler/architecture combination. + KOKKOS_IMPL_OMPTARGET_PRAGMA(teams num_teams(max_active_teams) thread_limit(team_size) map(to: f) \ + is_device_ptr(scratch_ptr) reduction(+: result) \ + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel reduction(+ : result) { if (omp_get_num_teams() > max_active_teams) @@ -636,11 +641,13 @@ struct ParallelReduceSpecialize, return; } - -#pragma omp target teams num_teams(nteams) thread_limit(team_size) map(to \ - : f) \ - is_device_ptr(scratch_ptr) - { + // Use scratch memory extensions to request dynamic shared memory for the + // right compiler/architecture combination. + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams num_teams(nteams) thread_limit(team_size) map(to + : f) + is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) { #pragma omp parallel { const int team_num = omp_get_team_num(); @@ -665,9 +672,8 @@ struct ParallelReduceSpecialize, int tree_neighbor_offset = 1; do { -#pragma omp target teams distribute parallel for simd map(to \ - : final_reducer) \ - is_device_ptr(scratch_ptr) +#pragma omp target teams distribute parallel for simd firstprivate( \ + final_reducer) is_device_ptr(scratch_ptr) for (int i = 0; i < nteams - tree_neighbor_offset; i += 2 * tree_neighbor_offset) { ValueType* team_scratch = static_cast(scratch_ptr); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp index 41e62ce6e6..6878531730 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp @@ -438,6 +438,10 @@ class ParallelReduce m_scratch_memory_lock; + public: inline void execute() const { execute_tile( @@ -452,7 +456,8 @@ class ParallelReduce::accessible) {} + typename ViewType::memory_space>::accessible), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} template inline std::enable_if_t execute_tile(const FunctorType& functor, diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp index 672271ed6b..9b578aca11 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp @@ -18,7 +18,6 @@ #define KOKKOS_OPENMPTARGETREDUCER_HPP #include -#include #include #include "Kokkos_OpenMPTarget_Abort.hpp" diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp index 7fa935f693..9a246f7642 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp @@ -88,26 +88,57 @@ bool SYCL::impl_is_initialized() { void SYCL::impl_finalize() { Impl::SYCLInternal::singleton().finalize(); } void SYCL::print_configuration(std::ostream& os, bool verbose) const { - os << "Devices:\n"; - os << " KOKKOS_ENABLE_SYCL: yes\n"; - os << "\nRuntime Configuration:\n"; - os << "macro KOKKOS_ENABLE_SYCL : defined\n"; +#ifdef KOKKOS_ENABLE_ONEDPL + os << "macro KOKKOS_ENABLE_ONEDPL : defined\n"; +#else + os << "macro KOKKOS_ENABLE_ONEDPL : undefined\n"; +#endif #ifdef KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED os << "macro KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED : defined\n"; #else os << "macro KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED : undefined\n"; #endif - +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL + os << "macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL : defined\n"; +#else + os << "macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL : undefined\n"; +#endif #ifdef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES os << "macro KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES : defined\n"; #else os << "macro KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES : undefined\n"; #endif - if (verbose) + int counter = 0; + int active_device = Kokkos::device_id(); + std::cout << "\nAvailable devices: \n"; + std::vector devices = Impl::get_sycl_devices(); + for (const auto& device : devices) { + std::string device_type; + switch (device.get_info()) { + case sycl::info::device_type::cpu: device_type = "cpu"; break; + case sycl::info::device_type::gpu: device_type = "gpu"; break; + case sycl::info::device_type::accelerator: + device_type = "accelerator"; + break; + case sycl::info::device_type::custom: device_type = "custom"; break; + case sycl::info::device_type::automatic: device_type = "automatic"; break; + case sycl::info::device_type::host: device_type = "host"; break; + case sycl::info::device_type::all: device_type = "all"; break; + } + os << "[" << device.get_backend() << "]:" << device_type << ':' << counter + << "] " << device.get_info(); + if (counter == active_device) os << " : Selected"; + os << '\n'; + ++counter; + } + + if (verbose) { + os << '\n'; SYCL::impl_sycl_info(os, m_space_instance->m_queue->get_device()); + } } void SYCL::fence(const std::string& name) const { @@ -137,20 +168,11 @@ void SYCL::impl_static_fence(const std::string& name) { } void SYCL::impl_initialize(InitializationSettings const& settings) { - std::vector gpu_devices = - sycl::device::get_devices(sycl::info::device_type::gpu); - // If the device id is not specified and there are no GPUs, sidestep Kokkos - // device selection and use whatever is available (if no GPU architecture is - // specified). -#if !defined(KOKKOS_ARCH_INTEL_GPU) && !defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) - if (!settings.has_device_id() && gpu_devices.empty()) { - Impl::SYCLInternal::singleton().initialize(sycl::device()); - Impl::SYCLInternal::m_syclDev = 0; - return; - } -#endif - const auto id = ::Kokkos::Impl::get_gpu(settings); - Impl::SYCLInternal::singleton().initialize(gpu_devices[id]); + const auto& visible_devices = ::Kokkos::Impl::get_visible_devices(); + const auto id = + ::Kokkos::Impl::get_gpu(settings).value_or(visible_devices[0]); + std::vector sycl_devices = Impl::get_sycl_devices(); + Impl::SYCLInternal::singleton().initialize(sycl_devices[id]); Impl::SYCLInternal::m_syclDev = id; } @@ -243,9 +265,32 @@ std::ostream& SYCL::impl_sycl_info(std::ostream& os, namespace Impl { +std::vector get_sycl_devices() { +#if defined(KOKKOS_ARCH_INTEL_GPU) || defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) || \ + defined(KOKKOS_ARCH_AMD_GPU) + std::vector devices = + sycl::device::get_devices(sycl::info::device_type::gpu); +#if defined(KOKKOS_ARCH_INTEL_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_level_zero; +#elif defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_cuda; +#elif defined(KOKKOS_ARCH_AMD_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_hip; +#endif + devices.erase(std::remove_if(devices.begin(), devices.end(), + [backend](const sycl::device& d) { + return d.get_backend() != backend; + }), + devices.end()); +#else + std::vector devices = sycl::device::get_devices(); +#endif + return devices; +} + int g_sycl_space_factory_initialized = Kokkos::Impl::initialize_space_factory("170_SYCL"); -} +} // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp index be6b4b8930..0f3d1f0994 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp @@ -78,19 +78,15 @@ class SYCL { //! \name Functions that all Kokkos devices must implement. //@{ - KOKKOS_INLINE_FUNCTION static int in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__SYCL_DEVICE_ONLY__) return true; #else return false; #endif } - - /** \brief Set the device in a "sleep" state. */ - static bool sleep(); - - /** \brief Wake the device from the 'sleep' state. A noop for OpenMP. */ - static bool wake(); +#endif /** \brief Wait until all dispatched functors complete. A noop for OpenMP. */ static void impl_static_fence(const std::string& name); @@ -188,6 +184,10 @@ std::vector partition_space(const SYCL& sycl_space, sycl::queue(context, device, sycl::property::queue::in_order())); return instances; } + +namespace Impl { +std::vector get_sycl_devices(); +} // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp index 080369770d..0e67adb578 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp @@ -54,7 +54,7 @@ Kokkos::View sycl_global_unique_token_locks( } SYCLInternal::~SYCLInternal() { - if (!was_finalized || m_scratchSpace || m_scratchFlags) { + if (!was_finalized || m_scratchSpace || m_scratchHost || m_scratchFlags) { std::cerr << "Kokkos::Experimental::SYCL ERROR: Failed to call " "Kokkos::Experimental::SYCL::finalize()" << std::endl; @@ -102,6 +102,23 @@ void SYCLInternal::initialize(const sycl::device& d) { void SYCLInternal::initialize(const sycl::queue& q) { KOKKOS_EXPECTS(!is_initialized()); +#define KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(BACKEND, REQUIRED) \ + if (BACKEND != REQUIRED) \ + Kokkos::abort( \ + "The SYCL execution space instance was initialized with an " \ + "unsupported backend type! For this GPU architecture, only " #REQUIRED \ + " is supported.") +#if defined(KOKKOS_ARCH_INTEL_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_level_zero); +#elif defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_cuda); +#elif defined(KOKKOS_ARCH_AMD_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_hip); +#endif + if (was_finalized) Kokkos::abort("Calling SYCL::initialize after SYCL::finalize is illegal\n"); @@ -196,14 +213,22 @@ void SYCLInternal::finalize() { #endif } - using RecordSYCL = Kokkos::Impl::SharedAllocationRecord; + auto device_mem_space = SYCLDeviceUSMSpace(*m_queue); + auto host_mem_space = SYCLHostUSMSpace(*m_queue); if (nullptr != m_scratchSpace) - RecordSYCL::decrement(RecordSYCL::get_record(m_scratchSpace)); + device_mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + if (nullptr != m_scratchHost) + host_mem_space.deallocate(m_scratchHost, + m_scratchHostCount * sizeScratchGrain); if (nullptr != m_scratchFlags) - RecordSYCL::decrement(RecordSYCL::get_record(m_scratchFlags)); + device_mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); m_syclDev = -1; m_scratchSpaceCount = 0; m_scratchSpace = nullptr; + m_scratchHostCount = 0; + m_scratchHost = nullptr; m_scratchFlagsCount = 0; m_scratchFlags = nullptr; @@ -228,54 +253,68 @@ void SYCLInternal::finalize() { sycl::device_ptr SYCLInternal::scratch_space(const std::size_t size) { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { - m_scratchSpaceCount = scratch_count(size); - - using Record = Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>; + auto mem_space = Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue); if (nullptr != m_scratchSpace) - Record::decrement(Record::get_record(m_scratchSpace)); + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + + m_scratchSpaceCount = scratch_count(size); std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( m_scratchSpaceCount, sizeScratchGrain); - Record* const r = Record::allocate( - Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue), - "Kokkos::Experimental::SYCL::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchSpace", alloc_size)); } return m_scratchSpace; } +sycl::host_ptr SYCLInternal::scratch_host(const std::size_t size) { + if (verify_is_initialized("scratch_unified") && + m_scratchHostCount < scratch_count(size)) { + auto mem_space = Kokkos::Experimental::SYCLHostUSMSpace(*m_queue); + + if (nullptr != m_scratchHost) + mem_space.deallocate(m_scratchHost, + m_scratchHostCount * sizeScratchGrain); + + m_scratchHostCount = scratch_count(size); + + std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( + m_scratchHostCount, sizeScratchGrain); + m_scratchHost = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchHost", alloc_size)); + } + + return m_scratchHost; +} + sycl::device_ptr SYCLInternal::scratch_flags(const std::size_t size) { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { - m_scratchFlagsCount = scratch_count(size); - - using Record = Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>; + auto mem_space = Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue); if (nullptr != m_scratchFlags) - Record::decrement(Record::get_record(m_scratchFlags)); + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + + m_scratchFlagsCount = scratch_count(size); std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( m_scratchFlagsCount, sizeScratchGrain); - Record* const r = Record::allocate( - Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue), - "Kokkos::Experimental::SYCL::InternalScratchFlags", alloc_size); + m_scratchFlags = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchFlags", alloc_size)); - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); - } - auto memset_event = m_queue->memset(m_scratchFlags, 0, - m_scratchFlagsCount * sizeScratchGrain); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. + auto memset_event = m_queue->memset(m_scratchFlags, 0, + m_scratchFlagsCount * sizeScratchGrain); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES - m_queue->ext_oneapi_submit_barrier(std::vector{memset_event}); + m_queue->ext_oneapi_submit_barrier(std::vector{memset_event}); #endif + } return m_scratchFlags; } @@ -318,15 +357,12 @@ size_t SYCLInternal::USMObjectMem::reserve(size_t n) { assert(m_q); if (m_capacity < n) { - using Record = Kokkos::Impl::SharedAllocationRecord; - // First free what we have (in case malloc can reuse it) - if (m_data) Record::decrement(Record::get_record(m_data)); + AllocationSpace alloc_space(*m_q); + if (m_data) alloc_space.deallocate(m_data, m_capacity); - Record* const r = Record::allocate( - AllocationSpace(*m_q), "Kokkos::Experimental::SYCL::USMObjectMem", n); - Record::increment(r); + m_data = + alloc_space.allocate("Kokkos::Experimental::SYCL::USMObjectMem", n); - m_data = r->data(); if constexpr (sycl::usm::alloc::device == Kind) m_staging.reset(new char[n]); m_capacity = n; @@ -340,8 +376,8 @@ void SYCLInternal::USMObjectMem::reset() { if (m_data) { // This implies a fence since this class is not copyable // and deallocating implies a fence across all registered queues. - using Record = Kokkos::Impl::SharedAllocationRecord; - Record::decrement(Record::get_record(m_data)); + AllocationSpace alloc_space(*m_q); + alloc_space.deallocate(m_data, m_capacity); m_capacity = 0; m_data = nullptr; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp index 51a617054d..ab7e8ce71e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp @@ -45,6 +45,7 @@ class SYCLInternal { sycl::device_ptr scratch_space(const std::size_t size); sycl::device_ptr scratch_flags(const std::size_t size); + sycl::host_ptr scratch_host(const std::size_t size); int acquire_team_scratch_space(); sycl::device_ptr resize_team_scratch_space(int scratch_pool_id, std::int64_t bytes, @@ -60,6 +61,8 @@ class SYCLInternal { std::size_t m_scratchSpaceCount = 0; sycl::device_ptr m_scratchSpace = nullptr; + std::size_t m_scratchHostCount = 0; + sycl::host_ptr m_scratchHost = nullptr; std::size_t m_scratchFlagsCount = 0; sycl::device_ptr m_scratchFlags = nullptr; // mutex to access shared memory @@ -330,8 +333,8 @@ struct sycl::is_device_copyable< Kokkos::Experimental::Impl::SYCLFunctionWrapper> : std::true_type {}; -// FIXME_SYCL Remove when this specialization when specializations for -// sycl::device_copyable also apply to const-qualified types. +#if (defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER < 20240000) || \ + (defined(__LIBSYCL_MAJOR_VERSION) && __LIBSYCL_MAJOR_VERSION < 7) template struct NonTriviallyCopyableAndDeviceCopyable { NonTriviallyCopyableAndDeviceCopyable( @@ -356,3 +359,4 @@ struct sycl::is_device_copyable< : std::true_type {}; #endif #endif +#endif diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp index f4fada570b..7fbf5420f8 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp @@ -118,6 +118,8 @@ class Kokkos::Impl::ParallelFor, const BarePolicy bare_policy(m_policy); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { const auto range = compute_ranges(); const sycl::range<3> global_range = range.get_global_range(); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp index 9c5767d209..b4de7eb89f 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp @@ -81,6 +81,8 @@ class Kokkos::Impl::ParallelFor, const Kokkos::Experimental::SYCL& space = policy.space(); sycl::queue& q = space.sycl_queue(); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES cgh.depends_on(memcpy_event); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp index 4fc5818ce9..ecb4a863da 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp @@ -46,9 +46,9 @@ class Kokkos::Impl::ParallelFor, int m_shmem_size; sycl::device_ptr m_global_scratch_ptr; size_t m_scratch_size[2]; - // Only let one ParallelFor/Reduce modify the team scratch memory. The - // constructor acquires the mutex which is released in the destructor. - std::scoped_lock m_scratch_lock; + // Only let one ParallelFor instance at a time use the team scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; int m_scratch_pool_id = -1; template @@ -59,6 +59,8 @@ class Kokkos::Impl::ParallelFor, const Kokkos::Experimental::SYCL& space = policy.space(); sycl::queue& q = space.sycl_queue(); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { // FIXME_SYCL accessors seem to need a size greater than zero at least for // host queues @@ -74,7 +76,8 @@ class Kokkos::Impl::ParallelFor, auto lambda = [=](sycl::nd_item<2> item) { const member_type team_member( - team_scratch_memory_L0.get_pointer(), shmem_begin, scratch_size[0], + KOKKOS_IMPL_SYCL_GET_MULTI_PTR(team_scratch_memory_L0), shmem_begin, + scratch_size[0], global_scratch_ptr + item.get_group(1) * scratch_size[1], scratch_size[1], item, item.get_group_linear_id(), item.get_group_range(1)); @@ -141,9 +144,9 @@ class Kokkos::Impl::ParallelFor, m_league_size(arg_policy.league_size()), m_team_size(arg_policy.team_size()), m_vector_size(arg_policy.impl_vector_length()), - m_scratch_lock(arg_policy.space() - .impl_internal_space_instance() - ->m_team_scratch_mutex) { + m_scratch_buffers_lock(arg_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { // FIXME_SYCL optimize if (m_team_size < 0) m_team_size = diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp index 6964c2dbcf..f55280e22e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp @@ -78,7 +78,7 @@ class Kokkos::Impl::ParallelReduce::accessible), - m_shared_memory_lock( + m_scratch_buffers_lock( m_space.impl_internal_space_instance()->m_mutexScratchSpace) {} private: @@ -95,9 +95,16 @@ class Kokkos::Impl::ParallelReduce results_ptr; + auto host_result_ptr = + (m_result_ptr && !m_result_ptr_device_accessible) + ? static_cast>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If n_tiles==0 we only call init() and final() working with the global // scratch memory but don't copy back to m_result_ptr yet. if (n_tiles == 0) { @@ -109,8 +116,10 @@ class Kokkos::Impl::ParallelReduce>( instance.scratch_space(sizeof(value_type) * value_count)); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); cgh.single_task([=]() { const CombinedFunctorReducerType& functor_reducer = functor_reducer_wrapper.get_functor(); @@ -148,8 +157,10 @@ class Kokkos::Impl::ParallelReduce>( instance.scratch_space(sizeof(value_type) * value_count * n_wgroups)); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); auto scratch_flags = static_cast>( instance.scratch_flags(sizeof(unsigned int))); @@ -223,6 +234,7 @@ class Kokkos::Impl::ParallelReduce= static_cast(n_wgroups)) reducer.init(&local_mem[local_id * value_count]); else { @@ -268,6 +280,7 @@ class Kokkos::Impl::ParallelReduce= static_cast(n_wgroups)) reducer.init(&local_value); else { @@ -296,11 +309,13 @@ class Kokkos::Impl::ParallelReduce( - m_space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + m_space.fence( + "Kokkos::Impl::ParallelReduce::execute: result " + "not device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(value_type) * value_count); } return last_reduction_event; @@ -335,9 +350,9 @@ class Kokkos::Impl::ParallelReduce m_shared_memory_lock; + // Only let one ParallelReduce instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; }; #endif /* KOKKOS_SYCL_PARALLEL_REDUCE_MDRANGE_HPP */ diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp index 8c900cfa42..5333e3c8a8 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp @@ -51,7 +51,7 @@ class Kokkos::Impl::ParallelReduce::accessible), - m_shared_memory_lock( + m_scratch_buffers_lock( p.space().impl_internal_space_instance()->m_mutexScratchSpace) {} private: @@ -70,11 +70,20 @@ class Kokkos::Impl::ParallelReduce results_ptr = nullptr; - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto host_result_ptr = + (m_result_ptr && !m_result_ptr_device_accessible) + ? static_cast>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If size<=1 we only call init(), the functor and possibly final once // working with the global scratch memory but don't copy back to // m_result_ptr yet. @@ -168,6 +177,7 @@ class Kokkos::Impl::ParallelReduce= n_wgroups) reducer.init(&local_mem[local_id * value_count]); else { @@ -210,6 +220,7 @@ class Kokkos::Impl::ParallelReduce= n_wgroups) reducer.init(&local_value); else { @@ -320,11 +331,13 @@ class Kokkos::Impl::ParallelReduce( - space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + space.fence( + "Kokkos::Impl::ParallelReduce::execute: result " + "not device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(*m_result_ptr) * value_count); } return last_reduction_event; @@ -354,9 +367,9 @@ class Kokkos::Impl::ParallelReduce m_shared_memory_lock; + // Only let one ParallelReduce instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; }; #endif /* KOKKOS_SYCL_PARALLEL_REDUCE_RANGE_HPP */ diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp index 07145b0fb9..27165c59e3 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp @@ -59,9 +59,10 @@ class Kokkos::Impl::ParallelReduce m_scratch_lock; + // Only let one ParallelReduce instance at a time use the team scratch memory + // and the host scratch memory. The constructor acquires the mutex which is + // released in the destructor. + std::scoped_lock m_scratch_buffers_lock; int m_scratch_pool_id = -1; template @@ -79,9 +80,16 @@ class Kokkos::Impl::ParallelReduce>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If size<=1 we only call init(), the functor and possibly final once // working with the global scratch memory but don't copy back to // m_result_ptr yet. @@ -89,8 +97,10 @@ class Kokkos::Impl::ParallelReduce>(instance.scratch_space( sizeof(value_type) * std::max(value_count, 1u))); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); auto parallel_reduce_event = q.submit([&](sycl::handler& cgh) { // FIXME_SYCL accessors seem to need a size greater than zero at least @@ -121,9 +131,10 @@ class Kokkos::Impl::ParallelReduce) functor(team_member, update); else @@ -160,12 +171,16 @@ class Kokkos::Impl::ParallelReduce const global_scratch_ptr = m_global_scratch_ptr; + sycl::local_accessor num_teams_done(1, cgh); auto team_reduction_factory = [&](sycl::local_accessor local_mem, sycl::device_ptr results_ptr) { - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>( + host_result_ptr); auto lambda = [=](sycl::nd_item<2> item) { auto n_wgroups = item.get_group_range()[1]; int wgroup_size = @@ -173,8 +188,6 @@ class Kokkos::Impl::ParallelReduce( - local_mem[wgroup_size * std::max(value_count, 1u)]); const auto local_id = item.get_local_linear_id(); const CombinedFunctorReducerType& functor_reducer = functor_reducer_wrapper.get_functor(); @@ -188,8 +201,8 @@ class Kokkos::Impl::ParallelReduce scratch_flags_ref(*scratch_flags); - num_teams_done = ++scratch_flags_ref; + num_teams_done[0] = ++scratch_flags_ref; } sycl::group_barrier(item.get_group()); - if (num_teams_done == n_wgroups) { + if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; if (local_id >= n_wgroups) reducer.init(&local_mem[local_id * value_count]); else { @@ -241,8 +255,8 @@ class Kokkos::Impl::ParallelReduce scratch_flags_ref(*scratch_flags); - num_teams_done = ++scratch_flags_ref; + num_teams_done[0] = ++scratch_flags_ref; } item.barrier(sycl::access::fence_space::local_space); - if (num_teams_done == n_wgroups) { + if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; if (local_id >= n_wgroups) reducer.init(&local_value); else { @@ -311,10 +326,7 @@ class Kokkos::Impl::ParallelReduce local_mem( - sycl::range<1>(wgroup_size) * std::max(value_count, 1u) + - (sizeof(unsigned int) + sizeof(value_type) - 1) / - sizeof(value_type), - cgh); + sycl::range<1>(wgroup_size) * std::max(value_count, 1u), cgh); const auto init_size = std::max((size + wgroup_size - 1) / wgroup_size, 1); @@ -358,11 +370,13 @@ class Kokkos::Impl::ParallelReduce( - space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + space.fence( + "Kokkos::Impl::ParallelReduce::execute: result not " + "device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(*m_result_ptr) * value_count); } return last_reduction_event; @@ -448,9 +462,9 @@ class Kokkos::Impl::ParallelReducem_team_scratch_mutex) { + m_scratch_buffers_lock(arg_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { initialize(); } }; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp index 04425723e1..977b69bc9e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SYCL_PARALLEL_SCAN_RANGE_HPP -#define KOKKO_SYCL_PARALLEL_SCAN_RANGE_HPP +#ifndef KOKKOS_SYCL_PARALLEL_SCAN_RANGE_HPP +#define KOKKOS_SYCL_PARALLEL_SCAN_RANGE_HPP #include #include @@ -111,13 +111,13 @@ class ParallelScanSYCLBase { const CombinedFunctorReducer m_functor_reducer; const Policy m_policy; - pointer_type m_scratch_space = nullptr; - const pointer_type m_result_ptr; + sycl::host_ptr m_scratch_host = nullptr; + pointer_type m_result_ptr; const bool m_result_ptr_device_accessible; - // Only let one Parallel/Scan modify the shared memory. The - // constructor acquires the mutex which is released in the destructor. - std::scoped_lock m_shared_memory_lock; + // Only let one ParallelScan instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; private: template @@ -187,6 +187,7 @@ class ParallelScanSYCLBase { } item.barrier(sycl::access::fence_space::global_space); if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; value_type total; reducer.init(&total); @@ -220,6 +221,8 @@ class ParallelScanSYCLBase { sycl::device_ptr global_mem; sycl::device_ptr group_results; + desul::ensure_sycl_lock_arrays_on_device(q); + auto perform_work_group_scans = q.submit([&](sycl::handler& cgh) { sycl::local_accessor num_teams_done(1, cgh); @@ -253,7 +256,8 @@ class ParallelScanSYCLBase { global_mem = static_cast>(instance.scratch_space( n_wgroups * (wgroup_size + 1) * sizeof(value_type))); - m_scratch_space = global_mem; + m_scratch_host = static_cast>( + instance.scratch_host(sizeof(value_type))); group_results = global_mem + n_wgroups * wgroup_size; @@ -281,10 +285,11 @@ class ParallelScanSYCLBase { // Write results to global memory auto update_global_results = q.submit([&](sycl::handler& cgh) { - auto result_ptr_device_accessible = m_result_ptr_device_accessible; // The compiler failed with CL_INVALID_ARG_VALUE if using m_result_ptr // directly. - auto result_ptr = m_result_ptr_device_accessible ? m_result_ptr : nullptr; + pointer_type result_ptr = m_result_ptr_device_accessible + ? m_result_ptr + : static_cast(m_scratch_host); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES cgh.depends_on(perform_work_group_scans); @@ -293,7 +298,6 @@ class ParallelScanSYCLBase { cgh.parallel_for( sycl::nd_range<1>(n_wgroups * wgroup_size, wgroup_size), [=](sycl::nd_item<1> item) { - auto global_mem_copy = global_mem; const index_type global_id = item.get_global_linear_id(); const CombinedFunctorReducer< FunctorType, typename Analysis::Reducer>& functor_reducer = @@ -312,9 +316,7 @@ class ParallelScanSYCLBase { else functor(WorkTag(), global_id + begin, update, true); - global_mem_copy[global_id] = update; - if (global_id == size - 1 && result_ptr_device_accessible) - *result_ptr = update; + if (global_id == size - 1) *result_ptr = update; } }); }); @@ -351,9 +353,9 @@ class ParallelScanSYCLBase { m_policy(arg_policy), m_result_ptr(arg_result_ptr), m_result_ptr_device_accessible(arg_result_ptr_device_accessible), - m_shared_memory_lock(m_policy.space() - .impl_internal_space_instance() - ->m_mutexScratchSpace) {} + m_scratch_buffers_lock(m_policy.space() + .impl_internal_space_instance() + ->m_mutexScratchSpace) {} }; } // namespace Kokkos::Impl @@ -390,11 +392,13 @@ class Kokkos::Impl::ParallelScanWithTotal< Base::impl_execute([&]() { const long long nwork = Base::m_policy.end() - Base::m_policy.begin(); if (nwork > 0 && !Base::m_result_ptr_device_accessible) { + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x + // slower. + m_exec.fence( + "Kokkos::Impl::ParallelReduce::execute: " + "result not device-accessible"); const int size = Base::m_functor_reducer.get_reducer().value_size(); - DeepCopy(m_exec, Base::m_result_ptr, - Base::m_scratch_space + nwork - 1, - size); + std::memcpy(Base::m_result_ptr, Base::m_scratch_host, size); } }); } diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp index 64b7f56796..9cc8008cdf 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include /*--------------------------------------------------------------------------*/ @@ -243,226 +242,17 @@ void SYCLHostUSMSpace::deallocate(const char* arg_label, } // namespace Experimental } // namespace Kokkos -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>::s_root_record; - -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLSharedUSMSpace, void>::s_root_record; - -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLHostUSMSpace, void>::s_root_record; -#endif - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLDeviceUSMSpace& space, - const std::string& label, const size_t size, - const SharedAllocationRecord::function_type dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(space, label, size), - sizeof(SharedAllocationHeader) + size, dealloc, label), - m_space(space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, label); - - // Copy to device memory - Kokkos::Experimental::SYCL exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& arg_exec_space, - const Kokkos::Experimental::SYCLDeviceUSMSpace& space, - const std::string& label, const size_t size, - const SharedAllocationRecord::function_type dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_exec_space, space, - label, size), - sizeof(SharedAllocationHeader) + size, dealloc, label), - m_space(space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, label); - - // Copy to device memory - Kokkos::Impl::DeepCopy( - arg_exec_space, RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(exec_space, arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(exec_space, arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -//---------------------------------------------------------------------------- - -} // namespace Impl -} // namespace Kokkos - //============================================================================== // {{{1 #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace>; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLDeviceUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLSharedUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLHostUSMSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp index 239c6e3ce0..b86cfca413 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp @@ -66,11 +66,6 @@ class SYCLDeviceUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLDeviceUSM"; }; private: @@ -87,6 +82,16 @@ class SYCLSharedUSMSpace { SYCLSharedUSMSpace(); explicit SYCLSharedUSMSpace(sycl::queue queue); + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const SYCL& exec_space, const std::size_t arg_alloc_size) const; void* allocate(const SYCL& exec_space, const char* arg_label, @@ -102,11 +107,6 @@ class SYCLSharedUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLSharedUSM"; }; private: @@ -123,6 +123,16 @@ class SYCLHostUSMSpace { SYCLHostUSMSpace(); explicit SYCLHostUSMSpace(sycl::queue queue); + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const SYCL& exec_space, const std::size_t arg_alloc_size) const; void* allocate(const SYCL& exec_space, const char* arg_label, @@ -138,11 +148,6 @@ class SYCLHostUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLHostUSM"; }; private: @@ -166,19 +171,16 @@ struct is_sycl_type_space : public std::true_type {}; static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); template <> struct MemorySpaceAccess -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const Kokkos::Experimental::SYCLDeviceUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace>; - using base_t = - SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - - static RecordBase s_root_record; - - const Kokkos::Experimental::SYCLSharedUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace>; - using base_t = - SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - - static RecordBase s_root_record; - - const Kokkos::Experimental::SYCLHostUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -} // namespace Impl - } // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLDeviceUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLSharedUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLHostUSMSpace); + #endif #endif diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp index 89c09c3195..dbba382758 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp @@ -140,9 +140,14 @@ class SYCLTeamMember { } value = sg.shuffle(value, 0); + const auto n_subgroups = sg.get_group_range()[0]; + if (n_subgroups == 1) { + reducer.reference() = value; + return; + } + // We need to chunk up the whole reduction because we might not have // allocated enough memory. - const auto n_subgroups = sg.get_group_range()[0]; const unsigned int maximum_work_range = std::min(m_team_reduce_size / sizeof(value_type), n_subgroups); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp index 9548f211d9..61db6b34aa 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp @@ -26,8 +26,7 @@ namespace Impl { template struct ZeroMemset> { ZeroMemset(const Kokkos::Experimental::SYCL& exec_space, - const View& dst, - typename View::const_value_type&) { + const View& dst) { auto event = exec_space.impl_internal_space_instance()->m_queue->memset( dst.data(), 0, dst.size() * sizeof(typename View::value_type)); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES @@ -35,12 +34,6 @@ struct ZeroMemset> { ->m_queue->ext_oneapi_submit_barrier(std::vector{event}); #endif } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - Experimental::Impl::SYCLInternal::singleton().m_queue->memset( - dst.data(), 0, dst.size() * sizeof(typename View::value_type)); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp index 071ecdbc4f..39b201976b 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp @@ -153,7 +153,7 @@ void Serial::print_configuration(std::ostream& os, bool /*verbose*/) const { os << "Host Serial Execution Space:\n"; os << " KOKKOS_ENABLE_SERIAL: yes\n"; -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS os << "Kokkos atomics disabled\n"; #endif diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp index 67119cac16..43eb4992ed 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp @@ -121,7 +121,10 @@ class Serial { /// For the Serial device, this method always returns false, /// because parallel_for or parallel_reduce with the Serial device /// always execute sequentially. - inline static int in_parallel() { return false; } + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED inline static int in_parallel() { return false; } +#endif /// \brief Wait until all dispatched functors complete. /// diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp index 69787aa500..67978aa3e9 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_MDRANGE_HPP -#define KOKKO_SERIAL_PARALLEL_MDRANGE_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_MDRANGE_HPP +#define KOKKOS_SERIAL_PARALLEL_MDRANGE_HPP #include #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp index 56894716db..91b4c56711 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_RANGE_HPP -#define KOKKO_SERIAL_PARALLEL_RANGE_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_RANGE_HPP +#define KOKKOS_SERIAL_PARALLEL_RANGE_HPP #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp index 0876f1af22..f34a7daaca 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_TEAM_HPP -#define KOKKO_SERIAL_PARALLEL_TEAM_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_TEAM_HPP +#define KOKKOS_SERIAL_PARALLEL_TEAM_HPP #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp index f9c86f55ce..5905d6d32e 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp @@ -121,7 +121,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = TaskBase; using queue_type = typename scheduler_type::queue_type; - task_base_type* const end = (task_base_type*)task_base_type::EndTag; + auto* const end = reinterpret_cast(task_base_type::EndTag); execution_space serial_execution_space; auto& data = serial_execution_space.impl_internal_space_instance() @@ -157,7 +157,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = TaskBase; using queue_type = typename scheduler_type::queue_type; - task_base_type* const end = (task_base_type*)task_base_type::EndTag; + auto* const end = reinterpret_cast(task_base_type::EndTag); execution_space serial_execution_space; diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp index 3ec2dfbcfa..6ad6aabc5a 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp @@ -22,6 +22,7 @@ #include #include +#include namespace Kokkos { namespace Impl { @@ -34,14 +35,11 @@ template struct ZeroMemset< std::conditional_t::value, Serial, DummyExecutionSpace>, - View> - : public ZeroMemset> { - using Base = ZeroMemset>; - using Base::Base; - - ZeroMemset(const Serial&, const View& dst, - typename View::const_value_type& value) - : Base(dst, value) {} + View> { + ZeroMemset(const Serial&, const View& dst) { + using ValueType = typename View::value_type; + std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); + } }; } // namespace Impl diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp index c0d70c03ec..31653c46ca 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp @@ -38,15 +38,6 @@ static_assert(false, /*--------------------------------------------------------------------------*/ -namespace Kokkos { -namespace Impl { -class ThreadsExec; -enum class fence_is_static { yes, no }; -} // namespace Impl -} // namespace Kokkos - -/*--------------------------------------------------------------------------*/ - namespace Kokkos { /** \brief Execution space for a pool of C++11 threads on a CPU. */ @@ -73,7 +64,9 @@ class Threads { /// \brief True if and only if this method is being called in a /// thread-parallel function. - static int in_parallel(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static int in_parallel(); +#endif /// \brief Print configuration information to the given output stream. void print_configuration(std::ostream& os, bool verbose = false) const; diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp similarity index 56% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp index 801a1ac82e..3842966cd7 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp @@ -16,17 +16,15 @@ #ifndef KOKKOS_IMPL_PUBLIC_INCLUDE #define KOKKOS_IMPL_PUBLIC_INCLUDE +#include "Threads/Kokkos_Threads_Instance.hpp" #endif #include -#include -#include #include #include #include #include -#include #include @@ -41,7 +39,6 @@ namespace Kokkos { namespace Impl { namespace { -std::mutex host_internal_cppthread_mutex; // std::thread compatible driver. // Recovery from an exception would require constant intra-thread health @@ -49,7 +46,7 @@ std::mutex host_internal_cppthread_mutex; // abort the process. void internal_cppthread_driver() { try { - ThreadsExec::driver(); + ThreadsInternal::driver(); } catch (const std::exception &x) { std::cerr << "Exception thrown from worker thread: " << x.what() << std::endl; @@ -62,32 +59,17 @@ void internal_cppthread_driver() { } } -ThreadsExec s_threads_process; -ThreadsExec *s_threads_exec[ThreadsExec::MAX_THREAD_COUNT] = {nullptr}; -std::thread::id s_threads_pid[ThreadsExec::MAX_THREAD_COUNT]; -std::pair s_threads_coord[ThreadsExec::MAX_THREAD_COUNT]; +ThreadsInternal s_threads_process; +ThreadsInternal *s_threads_exec[ThreadsInternal::MAX_THREAD_COUNT] = {nullptr}; +std::thread::id s_threads_pid[ThreadsInternal::MAX_THREAD_COUNT]; +std::pair + s_threads_coord[ThreadsInternal::MAX_THREAD_COUNT]; int s_thread_pool_size[3] = {0, 0, 0}; -unsigned s_current_reduce_size = 0; -unsigned s_current_shared_size = 0; - -void (*volatile s_current_function)(ThreadsExec &, const void *); +void (*volatile s_current_function)(ThreadsInternal &, const void *); const void *volatile s_current_function_arg = nullptr; -struct Sentinel { - ~Sentinel() { - if (s_thread_pool_size[0] || s_thread_pool_size[1] || - s_thread_pool_size[2] || s_current_reduce_size || - s_current_shared_size || s_current_function || s_current_function_arg || - s_threads_exec[0]) { - std::cerr << "ERROR : Process exiting while Kokkos::Threads is still " - "initialized" - << std::endl; - } - } -}; - inline unsigned fan_size(const unsigned rank, const unsigned size) { const unsigned rank_rev = size - (rank + 1); unsigned count = 0; @@ -97,6 +79,12 @@ inline unsigned fan_size(const unsigned rank, const unsigned size) { return count; } +void wait_yield(volatile ThreadState &flag, const ThreadState value) { + while (value == flag) { + std::this_thread::yield(); + } +} + } // namespace } // namespace Impl } // namespace Kokkos @@ -107,66 +95,44 @@ inline unsigned fan_size(const unsigned rank, const unsigned size) { namespace Kokkos { namespace Impl { -//---------------------------------------------------------------------------- -// Spawn a thread - -void ThreadsExec::spawn() { - std::thread t(internal_cppthread_driver); - t.detach(); -} - -//---------------------------------------------------------------------------- - -bool ThreadsExec::is_process() { +bool ThreadsInternal::is_process() { static const std::thread::id master_pid = std::this_thread::get_id(); return master_pid == std::this_thread::get_id(); } -void ThreadsExec::global_lock() { host_internal_cppthread_mutex.lock(); } - -void ThreadsExec::global_unlock() { host_internal_cppthread_mutex.unlock(); } - //---------------------------------------------------------------------------- -void ThreadsExec::wait_yield(volatile int &flag, const int value) { - while (value == flag) { - std::this_thread::yield(); - } -} +void execute_function_noop(ThreadsInternal &, const void *) {} -void execute_function_noop(ThreadsExec &, const void *) {} - -void ThreadsExec::driver() { +void ThreadsInternal::driver() { SharedAllocationRecord::tracking_enable(); - ThreadsExec this_thread; + ThreadsInternal this_thread; - while (ThreadsExec::Active == this_thread.m_pool_state) { + while (this_thread.m_pool_state == ThreadState::Active) { (*s_current_function)(this_thread, s_current_function_arg); // Deactivate thread and wait for reactivation - this_thread.m_pool_state = ThreadsExec::Inactive; + this_thread.m_pool_state = ThreadState::Inactive; - wait_yield(this_thread.m_pool_state, ThreadsExec::Inactive); + wait_yield(this_thread.m_pool_state, ThreadState::Inactive); } } -ThreadsExec::ThreadsExec() +ThreadsInternal::ThreadsInternal() : m_pool_base(nullptr), m_scratch(nullptr), m_scratch_reduce_end(0), m_scratch_thread_end(0), - m_numa_rank(0), - m_numa_core_rank(0), m_pool_rank(0), m_pool_size(0), m_pool_fan_size(0), - m_pool_state(ThreadsExec::Terminating) { + m_pool_state(ThreadState::Terminating) { if (&s_threads_process != this) { - // A spawned thread - - ThreadsExec *const nil = nullptr; + // The code in the if is executed by a spawned thread not by the root + // thread + ThreadsInternal *const nil = nullptr; // Which entry in 's_threads_exec', possibly determined from hwloc binding const int entry = reinterpret_cast(s_current_function_arg) < @@ -178,80 +144,66 @@ ThreadsExec::ThreadsExec() // Given a good entry set this thread in the 's_threads_exec' array if (entry < s_thread_pool_size[0] && nil == atomic_compare_exchange(s_threads_exec + entry, nil, this)) { - const std::pair coord = - Kokkos::hwloc::get_this_thread_coordinate(); - - m_numa_rank = coord.first; - m_numa_core_rank = coord.second; - m_pool_base = s_threads_exec; - m_pool_rank = s_thread_pool_size[0] - (entry + 1); - m_pool_rank_rev = s_thread_pool_size[0] - (pool_rank() + 1); - m_pool_size = s_thread_pool_size[0]; - m_pool_fan_size = fan_size(m_pool_rank, m_pool_size); - m_pool_state = ThreadsExec::Active; + m_pool_base = s_threads_exec; + m_pool_rank = s_thread_pool_size[0] - (entry + 1); + m_pool_rank_rev = s_thread_pool_size[0] - (pool_rank() + 1); + m_pool_size = s_thread_pool_size[0]; + m_pool_fan_size = fan_size(m_pool_rank, m_pool_size); + m_pool_state = ThreadState::Active; s_threads_pid[m_pool_rank] = std::this_thread::get_id(); // Inform spawning process that the threads_exec entry has been set. - s_threads_process.m_pool_state = ThreadsExec::Active; + s_threads_process.m_pool_state = ThreadState::Active; } else { // Inform spawning process that the threads_exec entry could not be set. - s_threads_process.m_pool_state = ThreadsExec::Terminating; + s_threads_process.m_pool_state = ThreadState::Terminating; } } else { // Enables 'parallel_for' to execute on unitialized Threads device m_pool_rank = 0; m_pool_size = 1; - m_pool_state = ThreadsExec::Inactive; + m_pool_state = ThreadState::Inactive; s_threads_pid[m_pool_rank] = std::this_thread::get_id(); } } -ThreadsExec::~ThreadsExec() { +ThreadsInternal::~ThreadsInternal() { const unsigned entry = m_pool_size - (m_pool_rank + 1); - using Record = Kokkos::Impl::SharedAllocationRecord; - if (m_scratch) { - Record *const r = Record::get_record(m_scratch); - + Kokkos::kokkos_free(m_scratch); m_scratch = nullptr; - - Record::decrement(r); } m_pool_base = nullptr; m_scratch_reduce_end = 0; m_scratch_thread_end = 0; - m_numa_rank = 0; - m_numa_core_rank = 0; m_pool_rank = 0; m_pool_size = 0; m_pool_fan_size = 0; - m_pool_state = ThreadsExec::Terminating; + m_pool_state = ThreadState::Terminating; if (&s_threads_process != this && entry < MAX_THREAD_COUNT) { - ThreadsExec *const nil = nullptr; + ThreadsInternal *const nil = nullptr; atomic_compare_exchange(s_threads_exec + entry, this, nil); - s_threads_process.m_pool_state = ThreadsExec::Terminating; + s_threads_process.m_pool_state = ThreadState::Terminating; } } -int ThreadsExec::get_thread_count() { return s_thread_pool_size[0]; } - -ThreadsExec *ThreadsExec::get_thread(const int init_thread_rank) { - ThreadsExec *const th = +ThreadsInternal *ThreadsInternal::get_thread(const int init_thread_rank) { + ThreadsInternal *const th = init_thread_rank < s_thread_pool_size[0] ? s_threads_exec[s_thread_pool_size[0] - (init_thread_rank + 1)] : nullptr; if (nullptr == th || th->m_pool_rank != init_thread_rank) { std::ostringstream msg; - msg << "Kokkos::Impl::ThreadsExec::get_thread ERROR : " + msg << "Kokkos::Impl::ThreadsInternal::get_thread ERROR : " << "thread " << init_thread_rank << " of " << s_thread_pool_size[0]; if (nullptr == th) { msg << " does not exist"; @@ -264,24 +216,6 @@ ThreadsExec *ThreadsExec::get_thread(const int init_thread_rank) { return th; } -//---------------------------------------------------------------------------- - -void ThreadsExec::execute_sleep(ThreadsExec &exec, const void *) { - ThreadsExec::global_lock(); - ThreadsExec::global_unlock(); - - const int n = exec.m_pool_fan_size; - const int rank_rev = exec.m_pool_size - (exec.m_pool_rank + 1); - - for (int i = 0; i < n; ++i) { - Impl::spinwait_while_equal( - exec.m_pool_base[rank_rev + (1 << i)]->m_pool_state, - ThreadsExec::Active); - } - - exec.m_pool_state = ThreadsExec::Inactive; -} - } // namespace Impl } // namespace Kokkos @@ -290,8 +224,8 @@ void ThreadsExec::execute_sleep(ThreadsExec &exec, const void *) { namespace Kokkos { namespace Impl { -void ThreadsExec::verify_is_process(const std::string &name, - const bool initialized) { +void ThreadsInternal::verify_is_process(const std::string &name, + const bool initialized) { if (!is_process()) { std::string msg(name); msg.append( @@ -307,63 +241,48 @@ void ThreadsExec::verify_is_process(const std::string &name, } } -int ThreadsExec::in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED int ThreadsInternal::in_parallel() { // A thread function is in execution and // the function argument is not the special threads process argument and // the master process is a worker or is not the master process. return s_current_function && (&s_threads_process != s_current_function_arg) && (s_threads_process.m_pool_base || !is_process()); } -void ThreadsExec::fence() { internal_fence(Impl::fence_is_static::yes); } -void ThreadsExec::fence(const std::string &name) { - internal_fence(name, Impl::fence_is_static::yes); +#endif +void ThreadsInternal::fence() { + fence("Kokkos::ThreadsInternal::fence: Unnamed Instance Fence"); } - -void ThreadsExec::internal_fence(Impl::fence_is_static is_static) { - internal_fence((is_static == Impl::fence_is_static::no) - ? "Kokkos::ThreadsExec::fence: Unnamed Instance Fence" - : "Kokkos::ThreadsExec::fence: Unnamed Static Fence", - is_static); +void ThreadsInternal::fence(const std::string &name) { + Kokkos::Tools::Experimental::Impl::profile_fence_event( + name, Kokkos::Tools::Experimental::Impl::DirectFenceIDHandle{1}, + internal_fence); } // Wait for root thread to become inactive -void ThreadsExec::internal_fence(const std::string &name, - Impl::fence_is_static is_static) { - const auto &fence_lam = [&]() { - if (s_thread_pool_size[0]) { - // Wait for the root thread to complete: - Impl::spinwait_while_equal(s_threads_exec[0]->m_pool_state, - ThreadsExec::Active); - } - - s_current_function = nullptr; - s_current_function_arg = nullptr; - - // Make sure function and arguments are cleared before - // potentially re-activating threads with a subsequent launch. - memory_fence(); - }; - if (is_static == Impl::fence_is_static::yes) { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, - Kokkos::Tools::Experimental::SpecialSynchronizationCases:: - GlobalDeviceSynchronization, - fence_lam); - } else { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, Kokkos::Tools::Experimental::Impl::DirectFenceIDHandle{1}, - fence_lam); +void ThreadsInternal::internal_fence() { + if (s_thread_pool_size[0]) { + // Wait for the root thread to complete: + Impl::spinwait_while_equal(s_threads_exec[0]->m_pool_state, + ThreadState::Active); } + + s_current_function = nullptr; + s_current_function_arg = nullptr; + + // Make sure function and arguments are cleared before + // potentially re-activating threads with a subsequent launch. + memory_fence(); } /** \brief Begin execution of the asynchronous functor */ -void ThreadsExec::start(void (*func)(ThreadsExec &, const void *), - const void *arg) { - verify_is_process("ThreadsExec::start", true); +void ThreadsInternal::start(void (*func)(ThreadsInternal &, const void *), + const void *arg) { + verify_is_process("ThreadsInternal::start", true); if (s_current_function || s_current_function_arg) { Kokkos::Impl::throw_runtime_exception( - std::string("ThreadsExec::start() FAILED : already executing")); + std::string("ThreadsInternal::start() FAILED : already executing")); } s_current_function = func; @@ -372,68 +291,29 @@ void ThreadsExec::start(void (*func)(ThreadsExec &, const void *), // Make sure function and arguments are written before activating threads. memory_fence(); - // Activate threads: + // Activate threads. The spawned threads will start working on + // s_current_function. The root thread is only set to active, we still need to + // call s_current_function. for (int i = s_thread_pool_size[0]; 0 < i--;) { - s_threads_exec[i]->m_pool_state = ThreadsExec::Active; + s_threads_exec[i]->m_pool_state = ThreadState::Active; } if (s_threads_process.m_pool_size) { // Master process is the root thread, run it: (*func)(s_threads_process, arg); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } } //---------------------------------------------------------------------------- -bool ThreadsExec::sleep() { - verify_is_process("ThreadsExec::sleep", true); - - if (&execute_sleep == s_current_function) return false; - - fence(); - - ThreadsExec::global_lock(); - - s_current_function = &execute_sleep; - - // Activate threads: - for (unsigned i = s_thread_pool_size[0]; 0 < i;) { - s_threads_exec[--i]->m_pool_state = ThreadsExec::Active; - } - - return true; -} - -bool ThreadsExec::wake() { - verify_is_process("ThreadsExec::wake", true); - - if (&execute_sleep != s_current_function) return false; - - ThreadsExec::global_unlock(); - - if (s_threads_process.m_pool_base) { - execute_sleep(s_threads_process, nullptr); - s_threads_process.m_pool_state = ThreadsExec::Inactive; - } - - fence(); - - return true; -} - -//---------------------------------------------------------------------------- - -void ThreadsExec::execute_resize_scratch_in_serial() { +void ThreadsInternal::execute_resize_scratch_in_serial() { const unsigned begin = s_threads_process.m_pool_base ? 1 : 0; - auto deallocate_scratch_memory = [](ThreadsExec &exec) { + auto deallocate_scratch_memory = [](ThreadsInternal &exec) { if (exec.m_scratch) { - using Record = - Kokkos::Impl::SharedAllocationRecord; - Record *const r = Record::get_record(exec.m_scratch); - exec.m_scratch = nullptr; - Record::decrement(r); + Kokkos::kokkos_free(exec.m_scratch); + exec.m_scratch = nullptr; } }; if (s_threads_process.m_pool_base) { @@ -449,18 +329,18 @@ void ThreadsExec::execute_resize_scratch_in_serial() { memory_fence(); for (unsigned i = s_thread_pool_size[0]; begin < i;) { - ThreadsExec &th = *s_threads_exec[--i]; + ThreadsInternal &th = *s_threads_exec[--i]; - th.m_pool_state = ThreadsExec::Active; + th.m_pool_state = ThreadState::Active; - wait_yield(th.m_pool_state, ThreadsExec::Active); + wait_yield(th.m_pool_state, ThreadState::Active); } if (s_threads_process.m_pool_base) { deallocate_scratch_memory(s_threads_process); - s_threads_process.m_pool_state = ThreadsExec::Active; + s_threads_process.m_pool_state = ThreadState::Active; first_touch_allocate_thread_private_scratch(s_threads_process, nullptr); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } s_current_function_arg = nullptr; @@ -472,27 +352,20 @@ void ThreadsExec::execute_resize_scratch_in_serial() { //---------------------------------------------------------------------------- -void *ThreadsExec::root_reduce_scratch() { +void *ThreadsInternal::root_reduce_scratch() { return s_threads_process.reduce_memory(); } -void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, - const void *) { +void ThreadsInternal::first_touch_allocate_thread_private_scratch( + ThreadsInternal &exec, const void *) { exec.m_scratch_reduce_end = s_threads_process.m_scratch_reduce_end; exec.m_scratch_thread_end = s_threads_process.m_scratch_thread_end; if (s_threads_process.m_scratch_thread_end) { // Allocate tracked memory: { - using Record = - Kokkos::Impl::SharedAllocationRecord; - Record *const r = - Record::allocate(Kokkos::HostSpace(), "Kokkos::thread_scratch", - s_threads_process.m_scratch_thread_end); - - Record::increment(r); - - exec.m_scratch = r->data(); + exec.m_scratch = Kokkos::kokkos_malloc( + "Kokkos::thread_scratch", s_threads_process.m_scratch_thread_end); } unsigned *ptr = reinterpret_cast(exec.m_scratch); @@ -505,7 +378,7 @@ void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, } } -void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { +void *ThreadsInternal::resize_scratch(size_t reduce_size, size_t thread_size) { enum { ALIGN_MASK = Kokkos::Impl::MEMORY_ALIGNMENT - 1 }; fence(); @@ -522,7 +395,7 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { if ((old_reduce_size < reduce_size) || (old_thread_size < thread_size) || ((reduce_size == 0 && thread_size == 0) && (old_reduce_size != 0 || old_thread_size != 0))) { - verify_is_process("ThreadsExec::resize_scratch", true); + verify_is_process("ThreadsInternal::resize_scratch", true); s_threads_process.m_scratch_reduce_end = reduce_size; s_threads_process.m_scratch_thread_end = reduce_size + thread_size; @@ -537,27 +410,22 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { //---------------------------------------------------------------------------- -void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { - verify_is_process("ThreadsExec::print_configuration", false); +void ThreadsInternal::print_configuration(std::ostream &s, const bool detail) { + verify_is_process("ThreadsInternal::print_configuration", false); fence(); - const unsigned numa_count = Kokkos::hwloc::get_available_numa_count(); - const unsigned cores_per_numa = Kokkos::hwloc::get_available_cores_per_numa(); - const unsigned threads_per_core = - Kokkos::hwloc::get_available_threads_per_core(); - - // Forestall compiler warnings for unused variables. - (void)numa_count; - (void)cores_per_numa; - (void)threads_per_core; - s << "Kokkos::Threads"; #if defined(KOKKOS_ENABLE_THREADS) s << " KOKKOS_ENABLE_THREADS"; #endif #if defined(KOKKOS_ENABLE_HWLOC) + const unsigned numa_count = Kokkos::hwloc::get_available_numa_count(); + const unsigned cores_per_numa = Kokkos::hwloc::get_available_cores_per_numa(); + const unsigned threads_per_core = + Kokkos::hwloc::get_available_threads_per_core(); + s << " hwloc[" << numa_count << "x" << cores_per_numa << "x" << threads_per_core << "]"; #endif @@ -569,25 +437,21 @@ void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { if (nullptr == s_threads_process.m_pool_base) { s << " Asynchronous"; } - s << " ReduceScratch[" << s_current_reduce_size << "]" - << " SharedScratch[" << s_current_shared_size << "]"; s << std::endl; if (detail) { for (int i = 0; i < s_thread_pool_size[0]; ++i) { - ThreadsExec *const th = s_threads_exec[i]; + ThreadsInternal *const th = s_threads_exec[i]; if (th) { const int rank_rev = th->m_pool_size - (th->m_pool_rank + 1); - s << " Thread[ " << th->m_pool_rank << " : " << th->m_numa_rank << "." - << th->m_numa_core_rank << " ]"; + s << " Thread[ " << th->m_pool_rank << " ]"; s << " Fan{"; for (int j = 0; j < th->m_pool_fan_size; ++j) { - ThreadsExec *const thfan = th->m_pool_base[rank_rev + (1 << j)]; - s << " [ " << thfan->m_pool_rank << " : " << thfan->m_numa_rank - << "." << thfan->m_numa_core_rank << " ]"; + ThreadsInternal *const thfan = th->m_pool_base[rank_rev + (1 << j)]; + s << " [ " << thfan->m_pool_rank << " ]"; } s << " }"; @@ -605,29 +469,21 @@ void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { //---------------------------------------------------------------------------- -int ThreadsExec::is_initialized() { return nullptr != s_threads_exec[0]; } +int ThreadsInternal::is_initialized() { return nullptr != s_threads_exec[0]; } -void ThreadsExec::initialize(int thread_count_arg) { - // legacy arguments - unsigned thread_count = thread_count_arg == -1 ? 0 : thread_count_arg; - unsigned use_numa_count = 0; - unsigned use_cores_per_numa = 0; - bool allow_asynchronous_threadpool = false; - // need to provide an initializer for Intel compilers - static const Sentinel sentinel = {}; +void ThreadsInternal::initialize(int thread_count_arg) { + unsigned thread_count = thread_count_arg == -1 ? 0 : thread_count_arg; const bool is_initialized = 0 != s_thread_pool_size[0]; unsigned thread_spawn_failed = 0; - for (int i = 0; i < ThreadsExec::MAX_THREAD_COUNT; i++) + for (int i = 0; i < ThreadsInternal::MAX_THREAD_COUNT; i++) s_threads_exec[i] = nullptr; if (!is_initialized) { - // If thread_count, use_numa_count, or use_cores_per_numa are zero - // then they will be given default values based upon hwloc detection - // and allowed asynchronous execution. - + // If thread_count is zero then it will be given default values based upon + // hwloc detection. const bool hwloc_avail = Kokkos::hwloc::available(); const bool hwloc_can_bind = hwloc_avail && Kokkos::hwloc::can_bind_threads(); @@ -640,17 +496,18 @@ void ThreadsExec::initialize(int thread_count_arg) { : 1; } - const unsigned thread_spawn_begin = hwloc::thread_mapping( - "Kokkos::Threads::initialize", allow_asynchronous_threadpool, - thread_count, use_numa_count, use_cores_per_numa, s_threads_coord); + const bool allow_asynchronous_threadpool = false; + unsigned use_numa_count = 0; + unsigned use_cores_per_numa = 0; + hwloc::thread_mapping("Kokkos::Threads::initialize", + allow_asynchronous_threadpool, thread_count, + use_numa_count, use_cores_per_numa, s_threads_coord); const std::pair proc_coord = s_threads_coord[0]; - if (thread_spawn_begin) { - // Synchronous with s_threads_coord[0] as the process core - // Claim entry #0 for binding the process core. - s_threads_coord[0] = std::pair(~0u, ~0u); - } + // Synchronous with s_threads_coord[0] as the process core + // Claim entry #0 for binding the process core. + s_threads_coord[0] = std::pair(~0u, ~0u); s_thread_pool_size[0] = thread_count; s_thread_pool_size[1] = s_thread_pool_size[0] / use_numa_count; @@ -658,8 +515,8 @@ void ThreadsExec::initialize(int thread_count_arg) { s_current_function = &execute_function_noop; // Initialization work function - for (unsigned ith = thread_spawn_begin; ith < thread_count; ++ith) { - s_threads_process.m_pool_state = ThreadsExec::Inactive; + for (unsigned ith = 1; ith < thread_count; ++ith) { + s_threads_process.m_pool_state = ThreadState::Inactive; // If hwloc available then spawned thread will // choose its own entry in 's_threads_coord' @@ -675,18 +532,20 @@ void ThreadsExec::initialize(int thread_count_arg) { // Wait until spawned thread has attempted to initialize. // If spawning and initialization is successful then // an entry in 's_threads_exec' will be assigned. - ThreadsExec::spawn(); - wait_yield(s_threads_process.m_pool_state, ThreadsExec::Inactive); - if (s_threads_process.m_pool_state == ThreadsExec::Terminating) break; + std::thread t(internal_cppthread_driver); + t.detach(); + wait_yield(s_threads_process.m_pool_state, ThreadState::Inactive); + if (s_threads_process.m_pool_state == ThreadState::Terminating) break; } // Wait for all spawned threads to deactivate before zeroing the function. - for (unsigned ith = thread_spawn_begin; ith < thread_count; ++ith) { + for (unsigned ith = 1; ith < thread_count; ++ith) { // Try to protect against cache coherency failure by casting to volatile. - ThreadsExec *const th = ((ThreadsExec * volatile *)s_threads_exec)[ith]; + ThreadsInternal *const th = + ((ThreadsInternal * volatile *)s_threads_exec)[ith]; if (th) { - wait_yield(th->m_pool_state, ThreadsExec::Active); + wait_yield(th->m_pool_state, ThreadState::Active); } else { ++thread_spawn_failed; } @@ -694,7 +553,7 @@ void ThreadsExec::initialize(int thread_count_arg) { s_current_function = nullptr; s_current_function_arg = nullptr; - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; memory_fence(); @@ -705,30 +564,17 @@ void ThreadsExec::initialize(int thread_count_arg) { Kokkos::hwloc::bind_this_thread(proc_coord); } - if (thread_spawn_begin) { // Include process in pool. - const std::pair coord = - Kokkos::hwloc::get_this_thread_coordinate(); - - s_threads_exec[0] = &s_threads_process; - s_threads_process.m_numa_rank = coord.first; - s_threads_process.m_numa_core_rank = coord.second; - s_threads_process.m_pool_base = s_threads_exec; - s_threads_process.m_pool_rank = - thread_count - 1; // Reversed for scan-compatible reductions - s_threads_process.m_pool_size = thread_count; - s_threads_process.m_pool_fan_size = fan_size( - s_threads_process.m_pool_rank, s_threads_process.m_pool_size); - s_threads_pid[s_threads_process.m_pool_rank] = - std::this_thread::get_id(); - } else { - s_threads_process.m_pool_base = nullptr; - s_threads_process.m_pool_rank = 0; - s_threads_process.m_pool_size = 0; - s_threads_process.m_pool_fan_size = 0; - } + s_threads_exec[0] = &s_threads_process; + s_threads_process.m_pool_base = s_threads_exec; + s_threads_process.m_pool_rank = + thread_count - 1; // Reversed for scan-compatible reductions + s_threads_process.m_pool_size = thread_count; + s_threads_process.m_pool_fan_size = fan_size( + s_threads_process.m_pool_rank, s_threads_process.m_pool_size); + s_threads_pid[s_threads_process.m_pool_rank] = std::this_thread::get_id(); // Initial allocations: - ThreadsExec::resize_scratch(1024, 1024); + ThreadsInternal::resize_scratch(1024, 1024); } else { s_thread_pool_size[0] = 0; s_thread_pool_size[1] = 0; @@ -773,8 +619,8 @@ void ThreadsExec::initialize(int thread_count_arg) { //---------------------------------------------------------------------------- -void ThreadsExec::finalize() { - verify_is_process("ThreadsExec::finalize", false); +void ThreadsInternal::finalize() { + verify_is_process("ThreadsInternal::finalize", false); fence(); @@ -784,18 +630,18 @@ void ThreadsExec::finalize() { for (unsigned i = s_thread_pool_size[0]; begin < i--;) { if (s_threads_exec[i]) { - s_threads_exec[i]->m_pool_state = ThreadsExec::Terminating; + s_threads_exec[i]->m_pool_state = ThreadState::Terminating; - wait_yield(s_threads_process.m_pool_state, ThreadsExec::Inactive); + wait_yield(s_threads_process.m_pool_state, ThreadState::Inactive); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } s_threads_pid[i] = std::thread::id(); } if (s_threads_process.m_pool_base) { - (&s_threads_process)->~ThreadsExec(); + (&s_threads_process)->~ThreadsInternal(); s_threads_exec[0] = nullptr; } @@ -808,13 +654,11 @@ void ThreadsExec::finalize() { s_thread_pool_size[2] = 0; // Reset master thread to run solo. - s_threads_process.m_numa_rank = 0; - s_threads_process.m_numa_core_rank = 0; - s_threads_process.m_pool_base = nullptr; - s_threads_process.m_pool_rank = 0; - s_threads_process.m_pool_size = 1; - s_threads_process.m_pool_fan_size = 0; - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_base = nullptr; + s_threads_process.m_pool_rank = 0; + s_threads_process.m_pool_size = 1; + s_threads_process.m_pool_fan_size = 0; + s_threads_process.m_pool_state = ThreadState::Inactive; } //---------------------------------------------------------------------------- @@ -834,7 +678,7 @@ int Threads::concurrency() const { return impl_thread_pool_size(0); } #endif void Threads::fence(const std::string &name) const { - Impl::ThreadsExec::internal_fence(name, Impl::fence_is_static::no); + Impl::ThreadsInternal::fence(name); } Threads &Threads::impl_instance(int) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp similarity index 76% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp index 377e096bfb..a5eb231cb0 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKOS_THREADSEXEC_HPP -#define KOKKOS_THREADSEXEC_HPP +#ifndef KOKKOS_THREADS_INSTANCE_HPP +#define KOKKOS_THREADS_INSTANCE_HPP #include @@ -23,41 +23,25 @@ #include #include -#include - #include #include #include #include +#include +#include //---------------------------------------------------------------------------- namespace Kokkos { namespace Impl { -class ThreadsExec { +class ThreadsInternal { public: // Fan array has log_2(NT) reduction threads plus 2 scan threads // Currently limited to 16k threads. - enum { MAX_FAN_COUNT = 16 }; - enum { MAX_THREAD_COUNT = 1 << (MAX_FAN_COUNT - 2) }; - enum { VECTOR_LENGTH = 8 }; - - /** \brief States of a worker thread */ - enum { - Terminating ///< Termination in progress - , - Inactive ///< Exists, waiting for work - , - Active ///< Exists, performing work - , - Rendezvous ///< Exists, waiting in a barrier or reduce - - , - ScanCompleted, - ScanAvailable, - ReductionAvailable - }; + static constexpr int MAX_FAN_COUNT = 16; + static constexpr int MAX_THREAD_COUNT = 1 << (MAX_FAN_COUNT - 2); + static constexpr int VECTOR_LENGTH = 8; private: friend class Kokkos::Threads; @@ -67,18 +51,16 @@ class ThreadsExec { // the threads that need them. // For a simple reduction the thread location is arbitrary. - ThreadsExec *const *m_pool_base; ///< Base for pool fan-in + ThreadsInternal *const *m_pool_base; ///< Base for pool fan-in void *m_scratch; int m_scratch_reduce_end; size_t m_scratch_thread_end; - int m_numa_rank; - int m_numa_core_rank; int m_pool_rank; int m_pool_rank_rev; int m_pool_size; int m_pool_fan_size; - int volatile m_pool_state; ///< State for global synchronizations + ThreadState volatile m_pool_state; ///< State for global synchronizations // Members for dynamic scheduling // Which thread am I stealing from currently @@ -93,41 +75,36 @@ class ThreadsExec { static void global_lock(); static void global_unlock(); - static void spawn(); - static void first_touch_allocate_thread_private_scratch(ThreadsExec &, + static void first_touch_allocate_thread_private_scratch(ThreadsInternal &, const void *); - static void execute_sleep(ThreadsExec &, const void *); - ThreadsExec(const ThreadsExec &); - ThreadsExec &operator=(const ThreadsExec &); + ThreadsInternal(const ThreadsInternal &); + ThreadsInternal &operator=(const ThreadsInternal &); static void execute_resize_scratch_in_serial(); public: KOKKOS_INLINE_FUNCTION int pool_size() const { return m_pool_size; } KOKKOS_INLINE_FUNCTION int pool_rank() const { return m_pool_rank; } - KOKKOS_INLINE_FUNCTION int numa_rank() const { return m_numa_rank; } - KOKKOS_INLINE_FUNCTION int numa_core_rank() const { return m_numa_core_rank; } inline long team_work_index() const { return m_team_work_index; } - static int get_thread_count(); - static ThreadsExec *get_thread(const int init_thread_rank); + static ThreadsInternal *get_thread(const int init_thread_rank); inline void *reduce_memory() const { return m_scratch; } KOKKOS_INLINE_FUNCTION void *scratch_memory() const { return reinterpret_cast(m_scratch) + m_scratch_reduce_end; } - KOKKOS_INLINE_FUNCTION int volatile &state() { return m_pool_state; } - KOKKOS_INLINE_FUNCTION ThreadsExec *const *pool_base() const { + KOKKOS_INLINE_FUNCTION ThreadState volatile &state() { return m_pool_state; } + KOKKOS_INLINE_FUNCTION ThreadsInternal *const *pool_base() const { return m_pool_base; } static void driver(void); - ~ThreadsExec(); - ThreadsExec(); + ~ThreadsInternal(); + ThreadsInternal(); static void *resize_scratch(size_t reduce_size, size_t thread_size); @@ -143,15 +120,8 @@ class ThreadsExec { static void finalize(); - /* Given a requested team size, return valid team size */ - static unsigned team_size_valid(unsigned); - static void print_configuration(std::ostream &, const bool detail = false); - //------------------------------------ - - static void wait_yield(volatile int &, const int); - //------------------------------------ // All-thread functions: @@ -166,14 +136,14 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the reduction and broadcast @@ -191,7 +161,7 @@ class ThreadsExec { memory_fence(); for (int rank = 0; rank < m_pool_size; ++rank) { - get_thread(rank)->m_pool_state = ThreadsExec::Active; + get_thread(rank)->m_pool_state = ThreadState::Active; } } @@ -207,21 +177,21 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the reduction and broadcast memory_fence(); for (int rank = 0; rank < m_pool_size; ++rank) { - get_thread(rank)->m_pool_state = ThreadsExec::Active; + get_thread(rank)->m_pool_state = ThreadState::Active; } } } @@ -234,9 +204,9 @@ class ThreadsExec { const int rev_rank = m_pool_size - (m_pool_rank + 1); for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; - Impl::spinwait_while_equal(fan.m_pool_state, ThreadsExec::Active); + spinwait_while_equal(fan.m_pool_state, ThreadState::Active); f.join( reinterpret_cast(reduce_memory()), @@ -265,8 +235,8 @@ class ThreadsExec { const int rev_rank = m_pool_size - (m_pool_rank + 1); for (int i = 0; i < m_pool_fan_size; ++i) { - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } } @@ -289,10 +259,10 @@ class ThreadsExec { //-------------------------------- // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; // Wait: Active -> ReductionAvailable (or ScanAvailable) - Impl::spinwait_while_equal(fan.m_pool_state, ThreadsExec::Active); + spinwait_while_equal(fan.m_pool_state, ThreadState::Active); f.join(work_value, fan.reduce_memory()); } @@ -303,39 +273,37 @@ class ThreadsExec { if (rev_rank) { // Set: Active -> ReductionAvailable - m_pool_state = ThreadsExec::ReductionAvailable; + m_pool_state = ThreadState::ReductionAvailable; // Wait for contributing threads' scan value to be available. if ((1 << m_pool_fan_size) < (m_pool_rank + 1)) { - ThreadsExec &th = *m_pool_base[rev_rank + (1 << m_pool_fan_size)]; + ThreadsInternal &th = *m_pool_base[rev_rank + (1 << m_pool_fan_size)]; // Wait: Active -> ReductionAvailable // Wait: ReductionAvailable -> ScanAvailable - Impl::spinwait_while_equal(th.m_pool_state, ThreadsExec::Active); - Impl::spinwait_while_equal(th.m_pool_state, - ThreadsExec::ReductionAvailable); + spinwait_while_equal(th.m_pool_state, ThreadState::Active); + spinwait_while_equal(th.m_pool_state, ThreadState::ReductionAvailable); f.join(work_value + count, ((scalar_type *)th.reduce_memory()) + count); } // This thread has completed inclusive scan // Set: ReductionAvailable -> ScanAvailable - m_pool_state = ThreadsExec::ScanAvailable; + m_pool_state = ThreadState::ScanAvailable; // Wait for all threads to complete inclusive scan // Wait: ScanAvailable -> Rendezvous - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::ScanAvailable); + spinwait_while_equal(m_pool_state, ThreadState::ScanAvailable); } //-------------------------------- for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; // Wait: ReductionAvailable -> ScanAvailable - Impl::spinwait_while_equal(fan.m_pool_state, - ThreadsExec::ReductionAvailable); + spinwait_while_equal(fan.m_pool_state, ThreadState::ReductionAvailable); // Set: ScanAvailable -> Rendezvous - fan.m_pool_state = ThreadsExec::Rendezvous; + fan.m_pool_state = ThreadState::Rendezvous; } // All threads have completed the inclusive scan. @@ -346,7 +314,7 @@ class ThreadsExec { if ((rev_rank + 1) < m_pool_size) { // Exclusive scan: copy the previous thread's inclusive scan value - ThreadsExec &th = *m_pool_base[rev_rank + 1]; // Not the root thread + ThreadsInternal &th = *m_pool_base[rev_rank + 1]; // Not the root thread const scalar_type *const src_value = ((scalar_type *)th.reduce_memory()) + count; @@ -362,19 +330,18 @@ class ThreadsExec { // Wait for all threads to copy previous thread's inclusive scan value // Wait for all threads: Rendezvous -> ScanCompleted for (int i = 0; i < m_pool_fan_size; ++i) { - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, - ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Rendezvous); } if (rev_rank) { // Set: ScanAvailable -> ScanCompleted - m_pool_state = ThreadsExec::ScanCompleted; + m_pool_state = ThreadState::ScanCompleted; // Wait: ScanCompleted -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::ScanCompleted); + spinwait_while_equal(m_pool_state, ThreadState::ScanCompleted); } // Set: ScanCompleted -> Active for (int i = 0; i < m_pool_fan_size; ++i) { - m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadsExec::Active; + m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadState::Active; } } @@ -391,8 +358,8 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } for (unsigned i = 0; i < count; ++i) { @@ -400,9 +367,9 @@ class ThreadsExec { } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the thread-scan before releasing threads @@ -424,7 +391,7 @@ class ThreadsExec { } for (int i = 0; i < m_pool_fan_size; ++i) { - m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadsExec::Active; + m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadState::Active; } } @@ -433,18 +400,14 @@ class ThreadsExec { * complete and release the Threads device. * Acquire the Threads device and start this functor. */ - static void start(void (*)(ThreadsExec &, const void *), const void *); + static void start(void (*)(ThreadsInternal &, const void *), const void *); - static int in_parallel(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static int in_parallel(); +#endif static void fence(); static void fence(const std::string &); - static void internal_fence( - Impl::fence_is_static is_static = Impl::fence_is_static::yes); - static void internal_fence( - const std::string &, - Impl::fence_is_static is_static = Impl::fence_is_static::yes); - static bool sleep(); - static bool wake(); + static void internal_fence(); /* Dynamic Scheduling related functionality */ // Initialize the work range for this thread @@ -583,30 +546,38 @@ class ThreadsExec { namespace Kokkos { -inline int Threads::in_parallel() { return Impl::ThreadsExec::in_parallel(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED inline int Threads::in_parallel() { + return Impl::ThreadsInternal::in_parallel(); +} +#endif inline int Threads::impl_is_initialized() { - return Impl::ThreadsExec::is_initialized(); + return Impl::ThreadsInternal::is_initialized(); } inline void Threads::impl_initialize(InitializationSettings const &settings) { - Impl::ThreadsExec::initialize( + Impl::ThreadsInternal::initialize( settings.has_num_threads() ? settings.get_num_threads() : -1); } -inline void Threads::impl_finalize() { Impl::ThreadsExec::finalize(); } +inline void Threads::impl_finalize() { Impl::ThreadsInternal::finalize(); } inline void Threads::print_configuration(std::ostream &os, bool verbose) const { os << "Host Parallel Execution Space:\n"; os << " KOKKOS_ENABLE_THREADS: yes\n"; os << "\nThreads Runtime Configuration:\n"; - Impl::ThreadsExec::print_configuration(os, verbose); + Impl::ThreadsInternal::print_configuration(os, verbose); } inline void Threads::impl_static_fence(const std::string &name) { - Impl::ThreadsExec::internal_fence(name, Impl::fence_is_static::yes); + Kokkos::Tools::Experimental::Impl::profile_fence_event( + name, + Kokkos::Tools::Experimental::SpecialSynchronizationCases:: + GlobalDeviceSynchronization, + Impl::ThreadsInternal::internal_fence); } } /* namespace Kokkos */ -#endif /* #define KOKKOS_THREADSEXEC_HPP */ +#endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp index 0828f26299..59577609ab 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp @@ -46,54 +46,54 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); auto const num_tiles = self.m_iter.m_rp.m_num_tiles; - WorkRange range(Policy(0, num_tiles).set_chunk_size(1), exec.pool_rank(), - exec.pool_size()); + WorkRange range(Policy(0, num_tiles).set_chunk_size(1), + instance.pool_rank(), instance.pool_size()); self.exec_range(range.begin(), range.end()); - exec.fan_in(); + instance.fan_in(); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); auto const num_tiles = self.m_iter.m_rp.m_num_tiles; - WorkRange range(Policy(0, num_tiles).set_chunk_size(1), exec.pool_rank(), - exec.pool_size()); + WorkRange range(Policy(0, num_tiles).set_chunk_size(1), + instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin(), range.end(), 1); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin(), range.end(), 1); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); while (work_index != -1) { const Member begin = static_cast(work_index); const Member end = begin + 1 < num_tiles ? begin + 1 : num_tiles; self.exec_range(begin, end); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::start(&ParallelFor::exec, this); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const MDRangePolicy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp index 3698416ef1..4a89c4fad8 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp @@ -59,37 +59,37 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); - WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + WorkRange range(self.m_policy, instance.pool_rank(), instance.pool_size()); ParallelFor::template exec_range(self.m_functor, range.begin(), range.end()); - exec.fan_in(); + instance.fan_in(); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); - WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + WorkRange range(self.m_policy, instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin() - self.m_policy.begin(), - range.end() - self.m_policy.begin(), - self.m_policy.chunk_size()); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin() - self.m_policy.begin(), + range.end() - self.m_policy.begin(), + self.m_policy.chunk_size()); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); while (work_index != -1) { const Member begin = @@ -100,16 +100,16 @@ class ParallelFor, ? begin + self.m_policy.chunk_size() : self.m_policy.end(); ParallelFor::template exec_range(self.m_functor, begin, end); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::start(&ParallelFor::exec, this); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const Policy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp index 36404857a2..f927d7c6a6 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp @@ -73,14 +73,14 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); ParallelFor::exec_team( - self.m_functor, Member(&exec, self.m_policy, self.m_shared)); + self.m_functor, Member(&instance, self.m_policy, self.m_shared)); - exec.barrier(); - exec.fan_in(); + instance.barrier(); + instance.fan_in(); } template Policy fix_policy(Policy policy) { @@ -96,12 +96,12 @@ class ParallelFor, public: inline void execute() const { - ThreadsExec::resize_scratch( + ThreadsInternal::resize_scratch( 0, Policy::member_type::team_reduce_size() + m_shared); - ThreadsExec::start(&ParallelFor::exec, this); + ThreadsInternal::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const Policy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp index 3d06379480..fa63215a9e 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp @@ -54,67 +54,67 @@ class ParallelReduce(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); const auto num_tiles = self.m_iter.m_rp.m_num_tiles; const WorkRange range(Policy(0, num_tiles).set_chunk_size(1), - exec.pool_rank(), exec.pool_size()); + instance.pool_rank(), instance.pool_size()); const ReducerType &reducer = self.m_iter.m_func.get_reducer(); self.exec_range( range.begin(), range.end(), - reducer.init(static_cast(exec.reduce_memory()))); + reducer.init(static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); const auto num_tiles = self.m_iter.m_rp.m_num_tiles; const WorkRange range(Policy(0, num_tiles).set_chunk_size(1), - exec.pool_rank(), exec.pool_size()); + instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin(), range.end(), 1); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin(), range.end(), 1); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); const ReducerType &reducer = self.m_iter.m_func.get_reducer(); - reference_type update = - self.m_reducer.init(static_cast(exec.reduce_memory())); + reference_type update = self.m_reducer.init( + static_cast(instance.reduce_memory())); while (work_index != -1) { const Member begin = static_cast(work_index); const Member end = begin + 1 < num_tiles ? begin + 1 : num_tiles; self.exec_range(begin, end, update); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in_reduce(self.m_reducer); + instance.fan_in_reduce(self.m_reducer); } public: inline void execute() const { const ReducerType &reducer = m_iter.m_func.get_reducer(); - ThreadsExec::resize_scratch(reducer.value_size(), 0); + ThreadsInternal::resize_scratch(reducer.value_size(), 0); - ThreadsExec::start(&ParallelReduce::exec, this); + ThreadsInternal::start(&ParallelReduce::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); if (m_result_ptr) { const pointer_type data = - (pointer_type)ThreadsExec::root_reduce_scratch(); + (pointer_type)ThreadsInternal::root_reduce_scratch(); const unsigned n = reducer.value_count(); for (unsigned i = 0; i < n; ++i) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp index 5fa97b403c..bf4c2a532a 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp @@ -68,42 +68,44 @@ class ParallelReduce, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); const ReducerType &reducer = self.m_functor_reducer.get_reducer(); ParallelReduce::template exec_range( self.m_functor_reducer.get_functor(), range.begin(), range.end(), - reducer.init(static_cast(exec.reduce_memory()))); + reducer.init(static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); - exec.set_work_range(range.begin() - self.m_policy.begin(), - range.end() - self.m_policy.begin(), - self.m_policy.chunk_size()); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin() - self.m_policy.begin(), + range.end() - self.m_policy.begin(), + self.m_policy.chunk_size()); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); const ReducerType &reducer = self.m_functor_reducer.get_reducer(); reference_type update = - reducer.init(static_cast(exec.reduce_memory())); + reducer.init(static_cast(instance.reduce_memory())); while (work_index != -1) { const Member begin = static_cast(work_index) * self.m_policy.chunk_size() + @@ -114,10 +116,10 @@ class ParallelReduce, : self.m_policy.end(); ParallelReduce::template exec_range( self.m_functor_reducer.get_functor(), begin, end, update); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } public: @@ -130,15 +132,15 @@ class ParallelReduce, reducer.final(m_result_ptr); } } else { - ThreadsExec::resize_scratch(reducer.value_size(), 0); + ThreadsInternal::resize_scratch(reducer.value_size(), 0); - ThreadsExec::start(&ParallelReduce::exec, this); + ThreadsInternal::start(&ParallelReduce::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); if (m_result_ptr) { const pointer_type data = - (pointer_type)ThreadsExec::root_reduce_scratch(); + (pointer_type)ThreadsInternal::root_reduce_scratch(); const unsigned n = reducer.value_count(); for (unsigned i = 0; i < n; ++i) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp index c4b6100a9d..4db310701f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp @@ -58,16 +58,16 @@ class ParallelReduce( self.m_functor_reducer.get_functor(), - Member(&exec, self.m_policy, self.m_shared), + Member(&instance, self.m_policy, self.m_shared), self.m_functor_reducer.get_reducer().init( - static_cast(exec.reduce_memory()))); + static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(self.m_functor_reducer.get_reducer()); + instance.fan_in_reduce(self.m_functor_reducer.get_reducer()); } public: @@ -80,17 +80,17 @@ class ParallelReduce, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelScan &self = *((const ParallelScan *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); typename Analysis::Reducer final_reducer(self.m_functor); reference_type update = - final_reducer.init(static_cast(exec.reduce_memory())); + final_reducer.init(static_cast(instance.reduce_memory())); ParallelScan::template exec_range(self.m_functor, range.begin(), range.end(), update, false); - // exec.template scan_large( final_reducer ); - exec.scan_small(final_reducer); + instance.scan_small(final_reducer); ParallelScan::template exec_range(self.m_functor, range.begin(), range.end(), update, true); - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::resize_scratch(2 * Analysis::value_size(m_functor), 0); - ThreadsExec::start(&ParallelScan::exec, this); - ThreadsExec::fence(); + ThreadsInternal::resize_scratch(2 * Analysis::value_size(m_functor), 0); + ThreadsInternal::start(&ParallelScan::exec, this); + ThreadsInternal::fence(); } ParallelScan(const FunctorType &arg_functor, const Policy &arg_policy) @@ -145,37 +145,37 @@ class ParallelScanWithTotal, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelScanWithTotal &self = *((const ParallelScanWithTotal *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); typename Analysis::Reducer final_reducer(self.m_functor); reference_type update = - final_reducer.init(static_cast(exec.reduce_memory())); + final_reducer.init(static_cast(instance.reduce_memory())); ParallelScanWithTotal::template exec_range( self.m_functor, range.begin(), range.end(), update, false); - // exec.template scan_large(final_reducer); - exec.scan_small(final_reducer); + instance.scan_small(final_reducer); ParallelScanWithTotal::template exec_range( self.m_functor, range.begin(), range.end(), update, true); - exec.fan_in(); + instance.fan_in(); - if (exec.pool_rank() == exec.pool_size() - 1) { + if (instance.pool_rank() == instance.pool_size() - 1) { *self.m_result_ptr = update; } } public: inline void execute() const { - ThreadsExec::resize_scratch(2 * Analysis::value_size(m_functor), 0); - ThreadsExec::start(&ParallelScanWithTotal::exec, this); - ThreadsExec::fence(); + ThreadsInternal::resize_scratch(2 * Analysis::value_size(m_functor), 0); + ThreadsInternal::start(&ParallelScanWithTotal::exec, this); + ThreadsInternal::fence(); } template diff --git a/lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp similarity index 90% rename from lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp index 0a7eda29bc..3df9dc07bf 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -108,5 +108,15 @@ void host_thread_yield(const uint32_t i, const WaitMode mode) { #endif /* defined( KOKKOS_ENABLE_ASM ) */ } +void spinwait_while_equal(ThreadState const volatile& flag, + ThreadState const value) { + Kokkos::store_fence(); + uint32_t i = 0; + while (value == flag) { + host_thread_yield(++i, WaitMode::ACTIVE); + } + Kokkos::load_fence(); +} + } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp similarity index 52% rename from lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp index acd2a572c8..b98b6dbb73 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp @@ -14,28 +14,30 @@ // //@HEADER -#ifndef KOKKOS_STD_ALGORITHMS_SWAP_HPP -#define KOKKOS_STD_ALGORITHMS_SWAP_HPP +#ifndef KOKKOS_THREADS_SPINWAIT_HPP +#define KOKKOS_THREADS_SPINWAIT_HPP -#include +#include + +#include namespace Kokkos { -namespace Experimental { +namespace Impl { -// swap -template -KOKKOS_INLINE_FUNCTION void swap(T& a, T& b) noexcept { - static_assert( - std::is_move_assignable::value && std::is_move_constructible::value, - "Kokkos::Experimental::swap arguments must be move assignable " - "and move constructible"); +enum class WaitMode : int { + ACTIVE // Used for tight loops to keep threads active longest + , + PASSIVE // Used to quickly yield the thread to quite down the system + , + ROOT // Never sleep or yield the root thread +}; - T tmp = std::move(a); - a = std::move(b); - b = std::move(tmp); -} +void host_thread_yield(const uint32_t i, const WaitMode mode); -} // namespace Experimental +void spinwait_while_equal(ThreadState const volatile& flag, + ThreadState const value); + +} // namespace Impl } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp similarity index 59% rename from lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp index 21ba7fad01..148e9aa4e0 100644 --- a/lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp @@ -14,16 +14,26 @@ // //@HEADER -#ifndef KOKKOS_HBWSPACE_FWD_HPP_ -#define KOKKOS_HBWSPACE_FWD_HPP_ +#ifndef KOKKOS_THREADS_STATE_HPP +#define KOKKOS_THREADS_STATE_HPP -#ifdef KOKKOS_ENABLE_HBWSPACE namespace Kokkos { - -namespace Experimental { -class HBWSpace; /// Memory space for hbw_malloc from memkind (e.g. for KNL - /// processor) -} // namespace Experimental +namespace Impl { +/** \brief States of a worker thread */ +enum class ThreadState { + Terminating ///< Termination in progress + , + Inactive ///< Exists, waiting for work + , + Active ///< Exists, performing work + , + Rendezvous ///< Exists, waiting in a barrier or reduce + , + ScanCompleted, + ScanAvailable, + ReductionAvailable +}; +} // namespace Impl } // namespace Kokkos -#endif + #endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp similarity index 95% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp index b1cadc7c48..fd0f221365 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp @@ -22,10 +22,11 @@ #include #include -#include #include #include +#include +#include //---------------------------------------------------------------------------- @@ -50,8 +51,8 @@ class ThreadsExecTeamMember { private: using space = execution_space::scratch_memory_space; - ThreadsExec* const m_exec; - ThreadsExec* const* m_team_base; ///< Base for team fan-in + ThreadsInternal* const m_instance; + ThreadsInternal* const* m_team_base; ///< Base for team fan-in space m_team_shared; size_t m_team_shared_size; int m_team_size; @@ -84,14 +85,13 @@ class ThreadsExecTeamMember { for (n = 1; (!(m_team_rank_rev & n)) && ((j = m_team_rank_rev + n) < m_team_size); n <<= 1) { - Impl::spinwait_while_equal(m_team_base[j]->state(), - ThreadsExec::Active); + spinwait_while_equal(m_team_base[j]->state(), ThreadState::Active); } // If not root then wait for release if (m_team_rank_rev) { - m_exec->state() = ThreadsExec::Rendezvous; - Impl::spinwait_while_equal(m_exec->state(), ThreadsExec::Rendezvous); + m_instance->state() = ThreadState::Rendezvous; + spinwait_while_equal(m_instance->state(), ThreadState::Rendezvous); } return !m_team_rank_rev; @@ -102,7 +102,7 @@ class ThreadsExecTeamMember { for (n = 1; (!(m_team_rank_rev & n)) && ((j = m_team_rank_rev + n) < m_team_size); n <<= 1) { - m_team_base[j]->state() = ThreadsExec::Active; + m_team_base[j]->state() = ThreadState::Active; } } @@ -188,10 +188,10 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return value; + if (m_instance == nullptr) return value; if (team_rank() != team_size() - 1) * - ((volatile type*)m_exec->scratch_memory()) = value; + ((volatile type*)m_instance->scratch_memory()) = value; memory_fence(); @@ -229,9 +229,9 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return; + if (m_instance == nullptr) return; - type* const local_value = ((type*)m_exec->scratch_memory()); + type* const local_value = ((type*)m_instance->scratch_memory()); // Set this thread's contribution if (team_rank() != team_size() - 1) { *local_value = contribution; } @@ -285,9 +285,9 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return type(0); + if (m_instance == nullptr) return type(0); - volatile type* const work_value = ((type*)m_exec->scratch_memory()); + volatile type* const work_value = ((type*)m_instance->scratch_memory()); *work_value = value; @@ -342,10 +342,10 @@ class ThreadsExecTeamMember { template ThreadsExecTeamMember( - Impl::ThreadsExec* exec, + Impl::ThreadsInternal* instance, const TeamPolicyInternal& team, const size_t shared_size) - : m_exec(exec), + : m_instance(instance), m_team_base(nullptr), m_team_shared(nullptr, 0), m_team_shared_size(shared_size), @@ -361,9 +361,11 @@ class ThreadsExecTeamMember { if (team.league_size()) { // Execution is using device-team interface: - const int pool_rank_rev = m_exec->pool_size() - (m_exec->pool_rank() + 1); + const int pool_rank_rev = + m_instance->pool_size() - (m_instance->pool_rank() + 1); const int team_rank_rev = pool_rank_rev % team.team_alloc(); - const size_t pool_league_size = m_exec->pool_size() / team.team_alloc(); + const size_t pool_league_size = + m_instance->pool_size() / team.team_alloc(); const size_t pool_league_rank_rev = pool_rank_rev / team.team_alloc(); if (pool_league_rank_rev >= pool_league_size) { m_invalid_thread = 1; @@ -372,7 +374,7 @@ class ThreadsExecTeamMember { const size_t pool_league_rank = pool_league_size - (pool_league_rank_rev + 1); - const int pool_num_teams = m_exec->pool_size() / team.team_alloc(); + const int pool_num_teams = m_instance->pool_size() / team.team_alloc(); const int chunk_size = team.chunk_size() > 0 ? team.chunk_size() : team.team_iter(); const int chunks_per_team = @@ -387,8 +389,8 @@ class ThreadsExecTeamMember { if ((team.team_alloc() > size_t(m_team_size)) ? (team_rank_rev >= m_team_size) - : (m_exec->pool_size() - pool_num_teams * m_team_size > - m_exec->pool_rank())) + : (m_instance->pool_size() - pool_num_teams * m_team_size > + m_instance->pool_rank())) m_invalid_thread = 1; else m_invalid_thread = 0; @@ -398,7 +400,7 @@ class ThreadsExecTeamMember { if (team_rank_rev < team.team_size() && !m_invalid_thread) { m_team_base = - m_exec->pool_base() + team.team_alloc() * pool_league_rank_rev; + m_instance->pool_base() + team.team_alloc() * pool_league_rank_rev; m_team_size = team.team_size(); m_team_rank = team.team_size() - (team_rank_rev + 1); m_team_rank_rev = team_rank_rev; @@ -413,13 +415,13 @@ class ThreadsExecTeamMember { } if ((m_team_rank_rev == 0) && (m_invalid_thread == 0)) { - m_exec->set_work_range(m_league_rank, m_league_end, m_chunk_size); - m_exec->reset_steal_target(m_team_size); + m_instance->set_work_range(m_league_rank, m_league_end, m_chunk_size); + m_instance->reset_steal_target(m_team_size); } if (std::is_same::schedule_type::type, Kokkos::Dynamic>::value) { - m_exec->barrier(); + m_instance->barrier(); } } else { m_invalid_thread = 1; @@ -427,7 +429,7 @@ class ThreadsExecTeamMember { } ThreadsExecTeamMember() - : m_exec(nullptr), + : m_instance(nullptr), m_team_base(nullptr), m_team_shared(nullptr, 0), m_team_shared_size(0), @@ -442,8 +444,8 @@ class ThreadsExecTeamMember { m_invalid_thread(0), m_team_alloc(0) {} - inline ThreadsExec& threads_exec_team_base() const { - return m_team_base ? **m_team_base : *m_exec; + inline ThreadsInternal& threads_exec_team_base() const { + return m_team_base ? **m_team_base : *m_instance; } bool valid_static() const { return m_league_rank < m_league_end; } @@ -999,8 +1001,10 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( lambda(i, scan_val, false); } + auto& team_member = loop_bounds.thread; + // 'scan_val' output is the exclusive prefix sum - scan_val = loop_bounds.thread.team_scan(scan_val); + scan_val = team_member.team_scan(scan_val); #ifdef KOKKOS_ENABLE_PRAGMA_IVDEP #pragma ivdep @@ -1010,6 +1014,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( lambda(i, scan_val, true); } + team_member.team_broadcast(scan_val, team_member.team_size() - 1); + return_val = scan_val; } diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp index d4ce697548..c88d66db5f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp @@ -18,7 +18,7 @@ #define KOKKOS_THREADS_WORKGRAPHPOLICY_HPP #include -#include +#include namespace Kokkos { namespace Impl { @@ -61,16 +61,17 @@ class ParallelFor, } } - static inline void thread_main(ThreadsExec& exec, const void* arg) noexcept { + static inline void thread_main(ThreadsInternal& instance, + const void* arg) noexcept { const Self& self = *(static_cast(arg)); self.exec_one_thread(); - exec.fan_in(); + instance.fan_in(); } public: inline void execute() { - ThreadsExec::start(&Self::thread_main, this); - ThreadsExec::fence(); + ThreadsInternal::start(&Self::thread_main, this); + ThreadsInternal::fence(); } inline ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp deleted file mode 100644 index 1328c93135..0000000000 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_DECLARE_HBWSPACE_HPP -#define KOKKOS_DECLARE_HBWSPACE_HPP - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - -#endif diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp index e115f7051f..cf405e57b8 100644 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp +++ b/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp @@ -25,9 +25,13 @@ #include #include #include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp index f5cbc0c1d1..4d7caec6f5 100644 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp +++ b/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp @@ -19,7 +19,7 @@ #if defined(KOKKOS_ENABLE_THREADS) #include -#include +#include #include #include #include @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Core.cpp b/lib/kokkos/core/src/impl/Kokkos_Core.cpp index 5c182db566..4a69652616 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Core.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Core.cpp @@ -90,8 +90,6 @@ void combine(Kokkos::InitializationSettings& out, KOKKOS_IMPL_COMBINE_SETTING(num_threads); KOKKOS_IMPL_COMBINE_SETTING(map_device_id_by); KOKKOS_IMPL_COMBINE_SETTING(device_id); - KOKKOS_IMPL_COMBINE_SETTING(num_devices); - KOKKOS_IMPL_COMBINE_SETTING(skip_device); KOKKOS_IMPL_COMBINE_SETTING(disable_warnings); KOKKOS_IMPL_COMBINE_SETTING(tune_internals); KOKKOS_IMPL_COMBINE_SETTING(tools_help); @@ -131,11 +129,15 @@ void combine(Kokkos::Tools::InitArguments& out, int get_device_count() { #if defined(KOKKOS_ENABLE_CUDA) - return Kokkos::Cuda::detect_device_count(); + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + return count; #elif defined(KOKKOS_ENABLE_HIP) - return Kokkos::HIP::detect_device_count(); + int count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&count)); + return count; #elif defined(KOKKOS_ENABLE_SYCL) - return sycl::device::get_devices(sycl::info::device_type::gpu).size(); + return Kokkos::Experimental::Impl::get_sycl_devices().size(); #elif defined(KOKKOS_ENABLE_OPENACC) return acc_get_num_devices( Kokkos::Experimental::Impl::OpenACC_Traits::dev_type); @@ -165,20 +167,43 @@ bool is_valid_map_device_id_by(std::string const& x) { } // namespace +std::vector const& Kokkos::Impl::get_visible_devices() { + static auto devices = get_visible_devices(get_device_count()); + return devices; +} + [[nodiscard]] int Kokkos::device_id() noexcept { #if defined(KOKKOS_ENABLE_CUDA) - return Cuda().cuda_device(); + int device = Cuda().cuda_device(); #elif defined(KOKKOS_ENABLE_HIP) - return HIP().hip_device(); + int device = HIP().hip_device(); #elif defined(KOKKOS_ENABLE_OPENACC) - return Experimental::OpenACC().acc_device_number(); + int device = Experimental::OpenACC().acc_device_number(); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return omp_get_default_device(); // FIXME_OPENMPTARGET + int device = omp_get_default_device(); // FIXME_OPENMPTARGET #elif defined(KOKKOS_ENABLE_SYCL) - return Experimental::Impl::SYCLInternal::m_syclDev; + int device = Experimental::Impl::SYCLInternal::m_syclDev; #else - return -1; + int device = -1; + return device; #endif + auto const& visible_devices = Impl::get_visible_devices(); + for (std::size_t i = 0; i < visible_devices.size(); ++i) { + if (visible_devices[i] == device) { + return i; + } + } + Kokkos::abort("Unexpected error: cannot determine device id"); + return -1; +} + +[[nodiscard]] int Kokkos::num_devices() noexcept { + if constexpr (std::is_same_v) { + return -1; // no GPU backend enabled + } else { + return Impl::get_visible_devices().size(); + } } [[nodiscard]] int Kokkos::num_threads() noexcept { @@ -313,8 +338,7 @@ int Kokkos::Impl::get_ctest_gpu(int local_rank) { return std::stoi(id.c_str()); } -std::vector Kokkos::Impl::get_visible_devices( - Kokkos::InitializationSettings const& settings, int device_count) { +std::vector Kokkos::Impl::get_visible_devices(int device_count) { std::vector visible_devices; char* env_visible_devices = std::getenv("KOKKOS_VISIBLE_DEVICES"); if (env_visible_devices) { @@ -341,30 +365,9 @@ std::vector Kokkos::Impl::get_visible_devices( } } } else { - int num_devices = - settings.has_num_devices() ? settings.get_num_devices() : device_count; - if (num_devices > device_count) { - std::stringstream ss; - ss << "Error: Specified number of devices '" << num_devices - << "' exceeds the actual number of GPUs available for execution '" - << device_count << "'." - << " Raised by Kokkos::initialize().\n"; - Kokkos::abort(ss.str().c_str()); - } - for (int i = 0; i < num_devices; ++i) { + for (int i = 0; i < device_count; ++i) { visible_devices.push_back(i); } - if (settings.has_skip_device()) { - if (visible_devices.size() == 1 && settings.get_skip_device() == 0) { - Kokkos::abort( - "Error: skipping the only GPU available for execution.\n" - " Raised by Kokkos::initialize().\n"); - } - visible_devices.erase( - std::remove(visible_devices.begin(), visible_devices.end(), - settings.get_skip_device()), - visible_devices.end()); - } } if (visible_devices.empty()) { Kokkos::abort( @@ -374,10 +377,10 @@ std::vector Kokkos::Impl::get_visible_devices( return visible_devices; } -int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { - std::vector visible_devices = - get_visible_devices(settings, get_device_count()); - int const num_devices = visible_devices.size(); +std::optional Kokkos::Impl::get_gpu( + const InitializationSettings& settings) { + std::vector visible_devices = get_visible_devices(get_device_count()); + int const num_devices = visible_devices.size(); // device_id is provided if (settings.has_device_id()) { int const id = settings.get_device_id(); @@ -423,14 +426,15 @@ int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { int const mpi_local_rank = mpi_local_rank_on_node(); - // use first GPU available for execution if unable to detect local MPI rank + // if unable to detect local MPI rank return nullopt to delegate device + // selection to the backend if (mpi_local_rank < 0) { if (settings.has_map_device_id_by()) { std::cerr << "Warning: unable to detect local MPI rank." << " Falling back to the first GPU available for execution." << " Raised by Kokkos::initialize()." << std::endl; } - return visible_devices[0]; + return std::nullopt; } // use device assigned by CTest when resource allocation is activated @@ -445,13 +449,6 @@ int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { namespace { void initialize_backends(const Kokkos::InitializationSettings& settings) { -// This is an experimental setting -// For KNL in Flat mode this variable should be set, so that -// memkind allocates high bandwidth memory correctly. -#ifdef KOKKOS_ENABLE_HBWSPACE - setenv("MEMKIND_HBW_NODES", "1", 0); -#endif - Kokkos::Impl::ExecSpaceManager::get_instance().initialize_spaces(settings); } @@ -571,19 +568,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { "no"); #endif -#ifdef KOKKOS_ENABLE_HBWSPACE - declare_configuration_metadata("memory", "KOKKOS_ENABLE_HBWSPACE", "yes"); -#else - declare_configuration_metadata("memory", "KOKKOS_ENABLE_HBWSPACE", "no"); -#endif -#ifdef KOKKOS_ENABLE_INTEL_MM_ALLOC - declare_configuration_metadata("memory", "KOKKOS_ENABLE_INTEL_MM_ALLOC", - "yes"); -#else - declare_configuration_metadata("memory", "KOKKOS_ENABLE_INTEL_MM_ALLOC", - "no"); -#endif - #ifdef KOKKOS_ENABLE_ASM declare_configuration_metadata("options", "KOKKOS_ENABLE_ASM", "yes"); #else @@ -604,6 +588,11 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #else declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX23", "no"); #endif +#ifdef KOKKOS_ENABLE_CXX26 + declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX26", "yes"); +#else + declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX26", "no"); +#endif #ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK declare_configuration_metadata("options", "KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK", "yes"); @@ -616,11 +605,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #else declare_configuration_metadata("options", "KOKKOS_ENABLE_HWLOC", "no"); #endif -#ifdef KOKKOS_ENABLE_LIBRT - declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBRT", "yes"); -#else - declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBRT", "no"); -#endif #ifdef KOKKOS_ENABLE_LIBDL declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBDL", "yes"); #else @@ -645,8 +629,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { "ARMV8_THUNDERX2"); #elif defined(KOKKOS_ARCH_BDW) declare_configuration_metadata("architecture", "CPU architecture", "BDW"); -#elif defined(KOKKOS_ARCH_BGQ) - declare_configuration_metadata("architecture", "CPU architecture", "BGQ"); #elif defined(KOKKOS_ARCH_HSW) declare_configuration_metadata("architecture", "CPU architecture", "HSW"); #elif defined(KOKKOS_ARCH_ICL) @@ -659,8 +641,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { declare_configuration_metadata("architecture", "CPU architecture", "KNL"); #elif defined(KOKKOS_ARCH_NATIVE) declare_configuration_metadata("architecture", "CPU architecture", "NATIVE"); -#elif defined(KOKKOS_ARCH_POWER7) - declare_configuration_metadata("architecture", "CPU architecture", "POWER7"); #elif defined(KOKKOS_ARCH_POWER8) declare_configuration_metadata("architecture", "CPU architecture", "POWER8"); #elif defined(KOKKOS_ARCH_POWER9) @@ -673,8 +653,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { declare_configuration_metadata("architecture", "CPU architecture", "SNB"); #elif defined(KOKKOS_ARCH_SPR) declare_configuration_metadata("architecture", "CPU architecture", "SPR"); -#elif defined(KOKKOS_ARCH_WSM) - declare_configuration_metadata("architecture", "CPU architecture", "WSM"); #elif defined(KOKKOS_ARCH_AMD_ZEN) declare_configuration_metadata("architecture", "CPU architecture", "AMD_ZEN"); #elif defined(KOKKOS_ARCH_AMD_ZEN2) @@ -683,6 +661,9 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #elif defined(KOKKOS_ARCH_AMD_ZEN3) declare_configuration_metadata("architecture", "CPU architecture", "AMD_ZEN3"); +#elif defined(KOKKOS_ARCH_RISCV_SG2042) + declare_configuration_metadata("architecture", "CPU architecture", + "SG2042 (RISC-V)") #else declare_configuration_metadata("architecture", "CPU architecture", "none"); #endif @@ -752,8 +733,8 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #elif defined(KOKKOS_ARCH_ADA89) declare_configuration_metadata("architecture", "GPU architecture", "ADA89"); #elif defined(KOKKOS_ARCH_HOPPER90) - declare_configuration_metadata("architecture", "GPU architecture", - "HOPPER90"); + declare_configuration_metadata("architecture", "GPU architecture", + "HOPPER90"); #elif defined(KOKKOS_ARCH_AMD_GFX906) declare_configuration_metadata("architecture", "GPU architecture", "AMD_GFX906"); @@ -911,36 +892,18 @@ void Kokkos::Impl::parse_command_line_arguments( int num_threads; int device_id; - int num_devices; // deprecated - int skip_device; // deprecated std::string map_device_id_by; bool disable_warnings; bool print_configuration; bool tune_internals; - auto get_flag = [](std::string s) -> std::string { - return s.erase(s.find('=')); - }; - bool help_flag = false; int iarg = 0; while (iarg < argc) { bool remove_flag = false; - if (check_arg(argv[iarg], "--kokkos-numa") || - check_arg(argv[iarg], "--numa")) { - warn_deprecated_command_line_argument(get_flag(argv[iarg])); - // remove flag if prefixed with '--kokkos-' - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg_int(argv[iarg], "--kokkos-num-threads", num_threads) || - check_arg_int(argv[iarg], "--num-threads", num_threads) || - check_arg_int(argv[iarg], "--kokkos-threads", num_threads) || - check_arg_int(argv[iarg], "--threads", num_threads)) { - if (get_flag(argv[iarg]) != "--kokkos-num-threads") { - warn_deprecated_command_line_argument(get_flag(argv[iarg]), - "--kokkos-num-threads"); - } + if (check_arg_int(argv[iarg], "--kokkos-num-threads", num_threads)) { if (!is_valid_num_threads(num_threads)) { std::stringstream ss; ss << "Error: command line argument '" << argv[iarg] << "' is invalid." @@ -949,15 +912,8 @@ void Kokkos::Impl::parse_command_line_arguments( Kokkos::abort(ss.str().c_str()); } settings.set_num_threads(num_threads); - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg_int(argv[iarg], "--kokkos-device-id", device_id) || - check_arg_int(argv[iarg], "--device-id", device_id) || - check_arg_int(argv[iarg], "--kokkos-device", device_id) || - check_arg_int(argv[iarg], "--device", device_id)) { - if (get_flag(argv[iarg]) != "--kokkos-device-id") { - warn_deprecated_command_line_argument(get_flag(argv[iarg]), - "--kokkos-device-id"); - } + remove_flag = true; + } else if (check_arg_int(argv[iarg], "--kokkos-device-id", device_id)) { if (!is_valid_device_id(device_id)) { std::stringstream ss; ss << "Error: command line argument '" << argv[iarg] << "' is invalid." @@ -966,70 +922,7 @@ void Kokkos::Impl::parse_command_line_arguments( Kokkos::abort(ss.str().c_str()); } settings.set_device_id(device_id); - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices") || - check_arg(argv[iarg], "--ndevices")) { - if (check_arg(argv[iarg], "--num-devices")) { - warn_deprecated_command_line_argument("--num-devices", - "--kokkos-num-devices"); - } - if (check_arg(argv[iarg], "--ndevices")) { - warn_deprecated_command_line_argument("--ndevices", - "--kokkos-num-devices"); - } - if (check_arg(argv[iarg], "--kokkos-ndevices")) { - warn_deprecated_command_line_argument("--kokkos-ndevices", - "--kokkos-num-devices"); - } - warn_deprecated_command_line_argument( - "--kokkos-num-devices", "--kokkos-map-device-id-by=mpi_rank"); - // Find the number of device (expecting --device=XX) - if (!((strncmp(argv[iarg], "--kokkos-num-devices=", 21) == 0) || - (strncmp(argv[iarg], "--num-devices=", 14) == 0) || - (strncmp(argv[iarg], "--kokkos-ndevices=", 18) == 0) || - (strncmp(argv[iarg], "--ndevices=", 11) == 0))) - throw_runtime_exception( - "Error: expecting an '=INT[,INT]' after command line argument " - "'--kokkos-num-devices'." - " Raised by Kokkos::initialize()."); - - char* num1 = strchr(argv[iarg], '=') + 1; - char* num2 = strpbrk(num1, ","); - int num1_len = num2 == nullptr ? strlen(num1) : num2 - num1; - char* num1_only = new char[num1_len + 1]; - strncpy(num1_only, num1, num1_len); - num1_only[num1_len] = '\0'; - - if (!is_unsigned_int(num1_only) || (strlen(num1_only) == 0)) { - throw_runtime_exception( - "Error: expecting an integer number after command line argument " - "'--kokkos-num-devices'." - " Raised by Kokkos::initialize()."); - } - if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices")) { - num_devices = std::stoi(num1_only); - settings.set_num_devices(num_devices); - settings.set_map_device_id_by("mpi_rank"); - } - delete[] num1_only; - - if (num2 != nullptr) { - if ((!is_unsigned_int(num2 + 1)) || (strlen(num2) == 1)) - throw_runtime_exception( - "Error: expecting an integer number after command line argument " - "'--kokkos-num-devices=XX,'." - " Raised by Kokkos::initialize()."); - - if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices")) { - skip_device = std::stoi(num2 + 1); - settings.set_skip_device(skip_device); - } - } - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; + remove_flag = true; } else if (check_arg_bool(argv[iarg], "--kokkos-disable-warnings", disable_warnings)) { settings.set_disable_warnings(disable_warnings); @@ -1098,9 +991,6 @@ void Kokkos::Impl::parse_environment_variables( } combine(settings, tools_init_arguments); - if (std::getenv("KOKKOS_NUMA")) { - warn_deprecated_environment_variable("KOKKOS_NUMA"); - } int num_threads; if (check_env_int("KOKKOS_NUM_THREADS", num_threads)) { if (!is_valid_num_threads(num_threads)) { @@ -1125,34 +1015,6 @@ void Kokkos::Impl::parse_environment_variables( } settings.set_device_id(device_id); } - int num_devices; - int rand_devices; - bool has_num_devices = check_env_int("KOKKOS_NUM_DEVICES", num_devices); - bool has_rand_devices = check_env_int("KOKKOS_RAND_DEVICES", rand_devices); - if (has_rand_devices && has_num_devices) { - Impl::throw_runtime_exception( - "Error: cannot specify both KOKKOS_NUM_DEVICES and " - "KOKKOS_RAND_DEVICES." - " Raised by Kokkos::initialize()."); - } - if (has_num_devices) { - warn_deprecated_environment_variable("KOKKOS_NUM_DEVICES", - "KOKKOS_MAP_DEVICE_ID_BY=mpi_rank"); - settings.set_map_device_id_by("mpi_rank"); - settings.set_num_devices(num_devices); - } - if (has_rand_devices) { - warn_deprecated_environment_variable("KOKKOS_RAND_DEVICES", - "KOKKOS_MAP_DEVICE_ID_BY=random"); - settings.set_map_device_id_by("random"); - settings.set_num_devices(rand_devices); - } - if (has_num_devices || has_rand_devices) { - int skip_device; - if (check_env_int("KOKKOS_SKIP_DEVICE", skip_device)) { - settings.set_skip_device(skip_device); - } - } bool disable_warnings; if (check_env_bool("KOKKOS_DISABLE_WARNINGS", disable_warnings)) { settings.set_disable_warnings(disable_warnings); diff --git a/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp b/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp index bd89c8b19c..70dca5d8fa 100644 --- a/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp @@ -17,17 +17,17 @@ #ifndef KOKKOS_DEVICE_MANAGEMENT_HPP #define KOKKOS_DEVICE_MANAGEMENT_HPP +#include #include namespace Kokkos { class InitializationSettings; namespace Impl { -int get_gpu(const Kokkos::InitializationSettings& settings); +std::optional get_gpu(const Kokkos::InitializationSettings& settings); // This declaration is provided for testing purposes only int get_ctest_gpu(int local_rank); -// ditto -std::vector get_visible_devices( - Kokkos::InitializationSettings const& settings, int device_count); +std::vector get_visible_devices(int device_count); // test-only +std::vector const& get_visible_devices(); // use this instead } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.cpp b/lib/kokkos/core/src/impl/Kokkos_Error.cpp index 4babe2d72b..de6e83ed1f 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.cpp @@ -21,10 +21,11 @@ #include #include -#include +#include #include #include #include +#include // show_warnings #include #include @@ -38,6 +39,12 @@ void throw_runtime_exception(const std::string &msg) { throw std::runtime_error(msg); } +void log_warning(const std::string &msg) { + if (show_warnings()) { + std::cerr << msg << std::flush; + } +} + std::string human_memory_size(size_t arg_bytes) { double bytes = arg_bytes; const double K = 1024; @@ -64,7 +71,8 @@ std::string human_memory_size(size_t arg_bytes) { void Experimental::RawMemoryAllocationFailure::print_error_message( std::ostream &o) const { - o << "Allocation of size " << Impl::human_memory_size(m_attempted_size); + o << "Allocation of size " + << ::Kokkos::Impl::human_memory_size(m_attempted_size); o << " failed"; switch (m_failure_mode) { case FailureMode::OutOfMemoryError: diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.hpp b/lib/kokkos/core/src/impl/Kokkos_Error.hpp index 3d0b1d3274..1058fd98db 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.hpp @@ -28,6 +28,8 @@ namespace Impl { [[noreturn]] void throw_runtime_exception(const std::string &msg); +void log_warning(const std::string &msg); + std::string human_memory_size(size_t arg_bytes); } // namespace Impl @@ -58,7 +60,8 @@ class RawMemoryAllocationFailure : public std::bad_alloc { HIPMallocManaged, SYCLMallocDevice, SYCLMallocShared, - SYCLMallocHost + SYCLMallocHost, + OpenACCMalloc, }; private: diff --git a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp deleted file mode 100644 index cd640b88cb..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp +++ /dev/null @@ -1,313 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#define KOKKOS_IMPL_PUBLIC_INCLUDE -#endif - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - -#include - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- -#ifdef KOKKOS_ENABLE_HBWSPACE -#define MEMKIND_TYPE MEMKIND_HBW // hbw_get_kind(HBW_PAGESIZE_4KB) - -/*--------------------------------------------------------------------------*/ - -namespace Kokkos { -namespace Experimental { - -/* Default allocation mechanism */ -HBWSpace::HBWSpace() : m_alloc_mech(HBWSpace::STD_MALLOC) { - printf("Init\n"); - setenv("MEMKIND_HBW_NODES", "1", 0); -} - -/* Default allocation mechanism */ -HBWSpace::HBWSpace(const HBWSpace::AllocationMechanism &arg_alloc_mech) - : m_alloc_mech(HBWSpace::STD_MALLOC) { - printf("Init2\n"); - setenv("MEMKIND_HBW_NODES", "1", 0); - if (arg_alloc_mech == STD_MALLOC) { - m_alloc_mech = HBWSpace::STD_MALLOC; - } -} - -void *HBWSpace::allocate(const size_t arg_alloc_size) const { - return allocate("[unlabeled]", arg_alloc_size); -} -void *HBWSpace::allocate(const char *arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size) const { - return impl_allocate(arg_label, arg_alloc_size, arg_logical_size); -} -void *HBWSpace::impl_allocate( - const char *arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size, - const Kokkos::Tools::SpaceHandle arg_handle) const { - static_assert(sizeof(void *) == sizeof(uintptr_t), - "Error sizeof(void*) != sizeof(uintptr_t)"); - - static_assert( - Kokkos::Impl::power_of_two::value, - "Memory alignment must be power of two"); - - constexpr uintptr_t alignment = Kokkos::Impl::MEMORY_ALIGNMENT; - constexpr uintptr_t alignment_mask = alignment - 1; - - void *ptr = nullptr; - - if (arg_alloc_size) { - if (m_alloc_mech == STD_MALLOC) { - // Over-allocate to and round up to guarantee proper alignment. - size_t size_padded = arg_alloc_size + sizeof(void *) + alignment; - - void *alloc_ptr = memkind_malloc(MEMKIND_TYPE, size_padded); - - if (alloc_ptr) { - uintptr_t address = reinterpret_cast(alloc_ptr); - - // offset enough to record the alloc_ptr - address += sizeof(void *); - uintptr_t rem = address % alignment; - uintptr_t offset = rem ? (alignment - rem) : 0u; - address += offset; - ptr = reinterpret_cast(address); - // record the alloc'd pointer - address -= sizeof(void *); - *reinterpret_cast(address) = alloc_ptr; - } - } - } - - if ((ptr == nullptr) || (reinterpret_cast(ptr) == ~uintptr_t(0)) || - (reinterpret_cast(ptr) & alignment_mask)) { - std::ostringstream msg; - msg << "Kokkos::Experimental::HBWSpace::allocate[ "; - switch (m_alloc_mech) { - case STD_MALLOC: msg << "STD_MALLOC"; break; - case POSIX_MEMALIGN: msg << "POSIX_MEMALIGN"; break; - case POSIX_MMAP: msg << "POSIX_MMAP"; break; - case INTEL_MM_ALLOC: msg << "INTEL_MM_ALLOC"; break; - } - msg << " ]( " << arg_alloc_size << " ) FAILED"; - if (ptr == nullptr) { - msg << " nullptr"; - } else { - msg << " NOT ALIGNED " << ptr; - } - - std::cerr << msg.str() << std::endl; - std::cerr.flush(); - - Kokkos::Impl::throw_runtime_exception(msg.str()); - } - if (Kokkos::Profiling::profileLibraryLoaded()) { - const size_t reported_size = - (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; - Kokkos::Profiling::allocateData(arg_handle, arg_label, ptr, reported_size); - } - - return ptr; -} - -void HBWSpace::deallocate(void *const arg_alloc_ptr, - const size_t arg_alloc_size) const { - deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); -} -void HBWSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size) const { - impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, arg_logical_size); -} -void HBWSpace::impl_deallocate( - const char *arg_label, void *const arg_alloc_ptr, - const size_t arg_alloc_size, const size_t arg_logical_size, - const Kokkos::Tools::SpaceHandle arg_handle) const { - if (arg_alloc_ptr) { - if (Kokkos::Profiling::profileLibraryLoaded()) { - const size_t reported_size = - (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; - Kokkos::Profiling::deallocateData(arg_handle, arg_label, arg_alloc_ptr, - reported_size); - } - - if (m_alloc_mech == STD_MALLOC) { - void *alloc_ptr = *(reinterpret_cast(arg_alloc_ptr) - 1); - memkind_free(MEMKIND_TYPE, alloc_ptr); - } - } -} - -} // namespace Experimental -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord *arg_rec) { - delete static_cast(arg_rec); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::HBWSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : SharedAllocationRecord( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information - RecordBase::m_alloc_ptr->m_record = - static_cast *>(this); - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length - 1); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; -} - -//---------------------------------------------------------------------------- - -void * -SharedAllocationRecord::allocate_tracked( - const Kokkos::Experimental::HBWSpace &arg_space, - const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord *const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked(void *const - arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord *const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void *SharedAllocationRecord:: - reallocate_tracked(void *const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord *const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord *const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked(): fence after copying data"); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -SharedAllocationRecord - *SharedAllocationRecord::get_record( - void *alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHost = - SharedAllocationRecord; - - SharedAllocationHeader const *const head = - alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; - RecordHost *const record = - head ? static_cast(head->m_record) : nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< Kokkos::Experimental::HBWSpace " - ", void >::get_record ERROR")); - } - - return record; -} - -// Iterate records to print orphaned memory ... -void SharedAllocationRecord:: - print_records(std::ostream &s, const Kokkos::Experimental::HBWSpace &space, - bool detail) { -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord::print_host_accessible_records( - s, "HBWSpace", &s_root_record, detail); -#else - throw_runtime_exception( - "SharedAllocationRecord::print_records" - " only works with KOKKOS_ENABLE_DEBUG enabled"); -#endif -} - -} // namespace Impl -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp b/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp index 4a22898d16..bcce013b00 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp @@ -196,12 +196,12 @@ KOKKOS_INLINE_FUNCTION template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::half_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::half_impl_t::type&); + T x, const Kokkos::Impl::half_impl_t::type&); #ifdef KOKKOS_IMPL_BHALF_TYPE_DEFINED template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::bhalf_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::bhalf_impl_t::type&); + T x, const Kokkos::Impl::bhalf_impl_t::type&); #endif // KOKKOS_IMPL_BHALF_TYPE_DEFINED template @@ -283,13 +283,6 @@ class alignas(FloatType) floating_point_wrapper { private: impl_type val; - using fixed_width_integer_type = std::conditional_t< - sizeof(impl_type) == 2, uint16_t, - std::conditional_t< - sizeof(impl_type) == 4, uint32_t, - std::conditional_t>>; - static_assert(!std::is_void::value, - "Invalid impl_type"); public: // In-class initialization and defaulted default constructors not used @@ -318,18 +311,6 @@ class alignas(FloatType) floating_point_wrapper { default; #endif - KOKKOS_INLINE_FUNCTION - floating_point_wrapper(const volatile floating_point_wrapper& rhs) { -#if defined(KOKKOS_HALF_IS_FULL_TYPE_ON_ARCH) && !defined(KOKKOS_ENABLE_SYCL) - val = rhs.val; -#else - const volatile fixed_width_integer_type* rv_ptr = - reinterpret_cast(&rhs.val); - const fixed_width_integer_type rv_val = *rv_ptr; - val = reinterpret_cast(rv_val); -#endif // KOKKOS_HALF_IS_FULL_TYPE_ON_ARCH - } - KOKKOS_FUNCTION floating_point_wrapper(bit_comparison_type rhs) { val = Kokkos::bit_cast(rhs); @@ -492,15 +473,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - template - KOKKOS_FUNCTION void operator=(T rhs) volatile { - impl_type new_val = cast_to_wrapper(rhs, val).val; - volatile fixed_width_integer_type* val_ptr = - reinterpret_cast( - const_cast(&val)); - *val_ptr = reinterpret_cast(new_val); - } - // Compound operators KOKKOS_FUNCTION floating_point_wrapper& operator+=(floating_point_wrapper rhs) { @@ -515,15 +487,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator+=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs += tmp_rhs; - *this = tmp_lhs; - } - // Compound operators: upcast overloads for += template KOKKOS_FUNCTION friend std::enable_if_t< @@ -560,15 +523,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator-=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs -= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for -= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -605,15 +559,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator*=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs *= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for *= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -650,15 +595,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator/=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs /= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for /= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -884,27 +820,6 @@ class alignas(FloatType) floating_point_wrapper { #endif } - KOKKOS_FUNCTION - friend bool operator==(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs == tmp_rhs; - } - - KOKKOS_FUNCTION - friend bool operator!=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs != tmp_rhs; - } - - KOKKOS_FUNCTION - friend bool operator<(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs < tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -923,13 +838,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs < static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator>(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs > tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -948,13 +856,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs > static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator<=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs <= tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -973,13 +874,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs <= static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator>=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs >= tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -1018,14 +912,14 @@ class alignas(FloatType) floating_point_wrapper { // Declare wrapper overloads now that floating_point_wrapper is declared template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::half_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::half_impl_t::type&) { + T x, const Kokkos::Impl::half_impl_t::type&) { return Kokkos::Experimental::cast_to_half(x); } #ifdef KOKKOS_IMPL_BHALF_TYPE_DEFINED template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::bhalf_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::bhalf_impl_t::type&) { + T x, const Kokkos::Impl::bhalf_impl_t::type&) { return Kokkos::Experimental::cast_to_bhalf(x); } #endif // KOKKOS_IMPL_BHALF_TYPE_DEFINED diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp index a9d7216059..1047b773d7 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp @@ -20,23 +20,11 @@ #include +#include +#include #include -#include #include -/*--------------------------------------------------------------------------*/ - -#if (defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_INTEL_LLVM)) && \ - !defined(KOKKOS_ENABLE_CUDA) - -// Intel specialized allocator does not interoperate with CUDA memory allocation - -#define KOKKOS_ENABLE_INTEL_MM_ALLOC - -#endif - -/*--------------------------------------------------------------------------*/ - #include #include #include @@ -50,10 +38,6 @@ #include #endif -#include -#include -#include - //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -150,84 +134,6 @@ void HostSpace::impl_deallocate( } // namespace Kokkos -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationHeader *_do_allocation(Kokkos::HostSpace const &space, - std::string const &label, - size_t alloc_size) { - try { - return reinterpret_cast( - space.allocate(alloc_size)); - } catch (Experimental::RawMemoryAllocationFailure const &failure) { - if (failure.failure_mode() == Experimental::RawMemoryAllocationFailure:: - FailureMode::AllocationNotAligned) { - // TODO: delete the misaligned memory - } - - std::cerr << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space.name() - << " failed with the following error: "; - failure.print_error_message(std::cerr); - std::cerr.flush(); - Kokkos::Impl::throw_runtime_exception("Memory allocation failure"); - } - return nullptr; // unreachable -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::HostSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos - -//============================================================================== -// {{{1 - #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos - -// end Explicit instantiations of CRTP Base classes }}}1 -//============================================================================== +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION(Kokkos::HostSpace); diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp index f740c408fb..3072e2ce82 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp @@ -26,8 +26,7 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const HostSpace::execution_space& exec, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const HostSpace::execution_space& exec, const View& dst) { // Host spaces, except for HPX, are synchronous and we need to fence for HPX // since we can't properly enqueue a std::memset otherwise. // We can't use exec.fence() directly since we don't have a full definition @@ -36,12 +35,6 @@ struct ZeroMemset> { using ValueType = typename View::value_type; std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - using ValueType = typename View::value_type; - std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); - } }; } // end namespace Impl diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp index bfe5902bf7..11bf701b57 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp @@ -22,7 +22,6 @@ #include #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp index 51f25a8b60..25f09b8286 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp @@ -885,7 +885,7 @@ KOKKOS_INLINE_FUNCTION closure(i, accum, false); } - auto team_member = loop_boundaries.thread; + auto& team_member = loop_boundaries.thread; // 'accum' output is the exclusive prefix sum accum = team_member.team_scan(accum); diff --git a/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp b/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp index ab4350f3a7..11a93c6bb5 100644 --- a/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp @@ -24,32 +24,6 @@ namespace Kokkos { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -struct InitArguments { - int num_threads; - int num_numa; - int device_id; - int ndevices; - int skip_device; - bool disable_warnings; - bool tune_internals; - bool tool_help = false; - std::string tool_lib = {}; - std::string tool_args = {}; - - KOKKOS_DEPRECATED_WITH_COMMENT("Use InitializationSettings instead!") - InitArguments(int nt = -1, int nn = -1, int dv = -1, bool dw = false, - bool ti = false) - : num_threads{nt}, - num_numa{nn}, - device_id{dv}, - ndevices{-1}, - skip_device{9999}, - disable_warnings{dw}, - tune_internals{ti} {} -}; -#endif - class InitializationSettings { #define KOKKOS_IMPL_DECLARE(TYPE, NAME) \ private: \ @@ -64,12 +38,32 @@ class InitializationSettings { TYPE get_##NAME() const noexcept { return *m_##NAME; } \ static_assert(true, "no-op to require trailing semicolon") +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +#define KOKKOS_IMPL_DECLARE_DEPRECATED(TYPE, NAME) \ + private: \ + std::optional m_##NAME; \ + \ + public: \ + KOKKOS_DEPRECATED InitializationSettings& set_##NAME(TYPE NAME) { \ + m_##NAME = NAME; \ + return *this; \ + } \ + KOKKOS_DEPRECATED bool has_##NAME() const noexcept { \ + return static_cast(m_##NAME); \ + } \ + KOKKOS_DEPRECATED TYPE get_##NAME() const noexcept { return *m_##NAME; } \ + static_assert(true, "no-op to require trailing semicolon") +#else +#define KOKKOS_IMPL_DECLARE_DEPRECATED(TYPE, NAME) \ + static_assert(true, "no-op to require trailing semicolon") +#endif + public: KOKKOS_IMPL_DECLARE(int, num_threads); KOKKOS_IMPL_DECLARE(int, device_id); KOKKOS_IMPL_DECLARE(std::string, map_device_id_by); - KOKKOS_IMPL_DECLARE(int, num_devices); // deprecated - KOKKOS_IMPL_DECLARE(int, skip_device); // deprecated + KOKKOS_IMPL_DECLARE_DEPRECATED(int, num_devices); + KOKKOS_IMPL_DECLARE_DEPRECATED(int, skip_device); KOKKOS_IMPL_DECLARE(bool, disable_warnings); KOKKOS_IMPL_DECLARE(bool, print_configuration); KOKKOS_IMPL_DECLARE(bool, tune_internals); @@ -80,41 +74,6 @@ class InitializationSettings { #undef KOKKOS_IMPL_INIT_ARGS_DATA_MEMBER_TYPE #undef KOKKOS_IMPL_INIT_ARGS_DATA_MEMBER #undef KOKKOS_IMPL_DECLARE - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - public: - InitializationSettings() = default; - - InitializationSettings(InitArguments const& old) { - if (old.num_threads != -1) { - set_num_threads(old.num_threads); - } - if (old.device_id != -1) { - set_device_id(old.device_id); - } - if (old.ndevices != -1) { - set_num_devices(old.ndevices); - } - if (old.skip_device != 9999) { - set_skip_device(old.skip_device); - } - if (old.disable_warnings) { - set_disable_warnings(true); - } - if (old.tune_internals) { - set_tune_internals(true); - } - if (old.tool_help) { - set_tools_help(true); - } - if (!old.tool_lib.empty()) { - set_tools_libs(old.tool_lib); - } - if (!old.tool_args.empty()) { - set_tools_args(old.tool_args); - } - } -#endif }; } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp deleted file mode 100644 index 2f0e01c5b2..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp +++ /dev/null @@ -1,72 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -/** @file Kokkos_MemorySpace.cpp - * - * Operations common to memory space instances, or at least default - * implementations thereof. - */ - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#define KOKKOS_IMPL_PUBLIC_INCLUDE -#endif - -#include - -#include -#include -#include - -namespace Kokkos { -namespace Impl { - -void safe_throw_allocation_with_header_failure( - std::string const& space_name, std::string const& label, - Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { - auto generate_failure_message = [&](std::ostream& o) { - o << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space_name - << "\" failed with the following error: "; - failure.print_error_message(o); - if (failure.failure_mode() == - Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: - AllocationNotAligned) { - // TODO: delete the misaligned memory? - o << "Warning: Allocation failed due to misalignment; memory may " - "be leaked.\n"; - } - o.flush(); - }; - try { - std::ostringstream sstr; - generate_failure_message(sstr); - Kokkos::Impl::throw_runtime_exception(sstr.str()); - } catch (std::bad_alloc const&) { - // Probably failed to allocate the string because we're so close to out - // of memory. Try printing to std::cerr instead - try { - generate_failure_message(std::cerr); - } catch (std::bad_alloc const&) { - // oh well, we tried... - } - Kokkos::Impl::throw_runtime_exception( - "Kokkos encountered an allocation failure, then another allocation " - "failure while trying to create the error message."); - } -} - -} // end namespace Impl -} // end namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp deleted file mode 100644 index 44956dd7c5..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -/** @file Kokkos_MemorySpace.hpp - * - * Operations common to memory space instances, or at least default - * implementations thereof. - */ - -#ifndef KOKKOS_IMPL_MEMORYSPACE_HPP -#define KOKKOS_IMPL_MEMORYSPACE_HPP - -#include -#include -#include - -#include - -namespace Kokkos { -namespace Impl { - -// Defined in implementation file to avoid having to include iostream -void safe_throw_allocation_with_header_failure( - std::string const &space_name, std::string const &label, - Kokkos::Experimental::RawMemoryAllocationFailure const &failure); - -template -SharedAllocationHeader *checked_allocation_with_header(MemorySpace const &space, - std::string const &label, - size_t alloc_size) { - try { - return reinterpret_cast(space.allocate( - label.c_str(), alloc_size + sizeof(SharedAllocationHeader), - alloc_size)); - } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - safe_throw_allocation_with_header_failure(space.name(), label, failure); - } - return nullptr; // unreachable -} - -template -SharedAllocationHeader *checked_allocation_with_header( - ExecutionSpace const &exec_space, MemorySpace const &space, - std::string const &label, size_t alloc_size) { - try { - return reinterpret_cast(space.allocate( - exec_space, label.c_str(), alloc_size + sizeof(SharedAllocationHeader), - alloc_size)); - } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - safe_throw_allocation_with_header_failure(space.name(), label, failure); - } - return nullptr; // unreachable -} - -} // end namespace Impl -} // end namespace Kokkos - -#endif // KOKKOS_IMPL_MEMORYSPACE_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp b/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp deleted file mode 100644 index 42a53b04fb..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include -#if defined(KOKKOS_ATOMIC_HPP) && !defined(KOKKOS_MEMORY_FENCE_HPP) -#define KOKKOS_MEMORY_FENCE_HPP -namespace Kokkos { - -////////////////////////////////////////////////////// -// store_fence() -// -// If possible use a store fence on the architecture, if not run a full memory -// fence - -KOKKOS_FORCEINLINE_FUNCTION -void store_fence() { -#if defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) - asm volatile("sfence" ::: "memory"); -#else - memory_fence(); -#endif -} - -////////////////////////////////////////////////////// -// load_fence() -// -// If possible use a load fence on the architecture, if not run a full memory -// fence - -KOKKOS_FORCEINLINE_FUNCTION -void load_fence() { -#if defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) - asm volatile("lfence" ::: "memory"); -#else - memory_fence(); -#endif -} - -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h index 731a11e917..15c466b27e 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h @@ -154,7 +154,7 @@ enum Kokkos_Tools_OptimizationType { Kokkos_Tools_Maximize }; -struct Kokkos_Tools_OptimzationGoal { +struct Kokkos_Tools_OptimizationGoal { size_t type_id; enum Kokkos_Tools_OptimizationType goal; }; @@ -220,7 +220,7 @@ typedef void (*Kokkos_Tools_contextBeginFunction)(const size_t); typedef void (*Kokkos_Tools_contextEndFunction)( const size_t, struct Kokkos_Tools_VariableValue); typedef void (*Kokkos_Tools_optimizationGoalDeclarationFunction)( - const size_t, const struct Kokkos_Tools_OptimzationGoal goal); + const size_t, const struct Kokkos_Tools_OptimizationGoal goal); struct Kokkos_Profiling_EventSet { Kokkos_Profiling_initFunction init; diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp index af71932e47..b66886d9f7 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp @@ -226,7 +226,7 @@ using ValueType = Kokkos_Tools_VariableInfo_ValueType; using CandidateValueType = Kokkos_Tools_VariableInfo_CandidateValueType; using SetOrRange = Kokkos_Tools_VariableInfo_SetOrRange; using VariableInfo = Kokkos_Tools_VariableInfo; -using OptimizationGoal = Kokkos_Tools_OptimzationGoal; +using OptimizationGoal = Kokkos_Tools_OptimizationGoal; using TuningString = Kokkos_Tools_Tuning_String; using VariableValue = Kokkos_Tools_VariableValue; diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp index 255f5125f4..0bc3814b3a 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp @@ -20,6 +20,8 @@ #include #include +#include +#include namespace Kokkos { namespace Impl { @@ -321,5 +323,53 @@ void SharedAllocationRecord::print_host_accessible_records( } #endif +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + auto generate_failure_message = [&](std::ostream& o) { + o << "Kokkos failed to allocate memory for label \"" << label + << "\". Allocation using MemorySpace named \"" << space_name + << "\" failed with the following error: "; + failure.print_error_message(o); + if (failure.failure_mode() == + Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: + AllocationNotAligned) { + // TODO: delete the misaligned memory? + o << "Warning: Allocation failed due to misalignment; memory may " + "be leaked.\n"; + } + o.flush(); + }; + try { + std::ostringstream sstr; + generate_failure_message(sstr); + Kokkos::Impl::throw_runtime_exception(sstr.str()); + } catch (std::bad_alloc const&) { + // Probably failed to allocate the string because we're so close to out + // of memory. Try printing to std::cerr instead + try { + generate_failure_message(std::cerr); + } catch (std::bad_alloc const&) { + // oh well, we tried... + } + Kokkos::Impl::throw_runtime_exception( + "Kokkos encountered an allocation failure, then another allocation " + "failure while trying to create the error message."); + } +} + +void fill_host_accessible_header_info( + SharedAllocationRecord* arg_record, + SharedAllocationHeader& arg_header, std::string const& arg_label) { + // Fill in the Header information, directly accessible on the host + + arg_header.m_record = arg_record; + + strncpy(arg_header.m_label, arg_label.c_str(), + SharedAllocationHeader::maximum_label_length); + // Set last element zero, in case c_str is too long + arg_header.m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; +} + } /* namespace Impl */ } /* namespace Kokkos */ diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp index 043505a158..99ab660213 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp @@ -51,6 +51,9 @@ class SharedAllocationHeader { friend class SharedAllocationRecordCommon; template friend class HostInaccessibleSharedAllocationRecordCommon; + friend void fill_host_accessible_header_info( + SharedAllocationRecord*, SharedAllocationHeader&, + std::string const&); Record* m_record; char m_label[maximum_label_length]; @@ -145,25 +148,23 @@ class SharedAllocationRecord { SharedAllocationRecord() : m_alloc_ptr(nullptr), m_alloc_size(0), - m_dealloc(nullptr) + m_dealloc(nullptr), #ifdef KOKKOS_ENABLE_DEBUG - , m_root(this), m_prev(this), - m_next(this) + m_next(this), #endif - , m_count(0) { } static constexpr unsigned maximum_label_length = SharedAllocationHeader::maximum_label_length; - KOKKOS_INLINE_FUNCTION + KOKKOS_FUNCTION const SharedAllocationHeader* head() const { return m_alloc_ptr; } /* User's memory begins at the end of the header */ - KOKKOS_INLINE_FUNCTION + KOKKOS_FUNCTION void* data() const { return static_cast(m_alloc_ptr + 1); } /* User's memory begins at the end of the header */ @@ -195,23 +196,79 @@ class SharedAllocationRecord { const SharedAllocationRecord* const root, const bool detail); }; +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure); + +template +SharedAllocationHeader* checked_allocation_with_header(MemorySpace const& space, + std::string const& label, + size_t alloc_size) { + try { + return reinterpret_cast(space.allocate( + label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); + } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + safe_throw_allocation_with_header_failure(space.name(), label, failure); + } + return nullptr; // unreachable +} + +template +SharedAllocationHeader* checked_allocation_with_header( + ExecutionSpace const& exec_space, MemorySpace const& space, + std::string const& label, size_t alloc_size) { + try { + return reinterpret_cast(space.allocate( + exec_space, label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); + } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + safe_throw_allocation_with_header_failure(space.name(), label, failure); + } + return nullptr; // unreachable +} + +void fill_host_accessible_header_info(SharedAllocationHeader& arg_header, + std::string const& arg_label); + template class SharedAllocationRecordCommon : public SharedAllocationRecord { private: using derived_t = SharedAllocationRecord; using record_base_t = SharedAllocationRecord; - derived_t& self() { return *static_cast(this); } - derived_t const& self() const { return *static_cast(this); } protected: using record_base_t::record_base_t; - void _fill_host_accessible_header_info(SharedAllocationHeader& arg_header, - std::string const& arg_label); + MemorySpace m_space; + +#ifdef KOKKOS_ENABLE_DEBUG + static record_base_t s_root_record; +#endif static void deallocate(record_base_t* arg_rec); public: + ~SharedAllocationRecordCommon(); + template + SharedAllocationRecordCommon( + ExecutionSpace const& exec, MemorySpace const& space, + std::string const& label, std::size_t alloc_size, + record_base_t::function_type dealloc = &deallocate) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(exec, space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + auto& header = *SharedAllocationRecord::m_alloc_ptr; + fill_host_accessible_header_info(this, header, label); + } + SharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t size, + record_base_t::function_type dealloc = &deallocate); + static auto allocate(MemorySpace const& arg_space, std::string const& arg_label, size_t arg_alloc_size) -> derived_t*; @@ -231,22 +288,103 @@ class SharedAllocationRecordCommon : public SharedAllocationRecord { template class HostInaccessibleSharedAllocationRecordCommon - : public SharedAllocationRecordCommon { + : public SharedAllocationRecord { private: - using base_t = SharedAllocationRecordCommon; using derived_t = SharedAllocationRecord; using record_base_t = SharedAllocationRecord; protected: - using base_t::base_t; + using record_base_t::record_base_t; + + MemorySpace m_space; + +#ifdef KOKKOS_ENABLE_DEBUG + static record_base_t s_root_record; +#endif + + static void deallocate(record_base_t* arg_rec); public: + ~HostInaccessibleSharedAllocationRecordCommon(); + template + HostInaccessibleSharedAllocationRecordCommon( + ExecutionSpace const& exec, MemorySpace const& space, + std::string const& label, std::size_t alloc_size, + record_base_t::function_type dealloc = &deallocate) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(exec, space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + SharedAllocationHeader header; + + fill_host_accessible_header_info(this, header, label); + + Kokkos::Impl::DeepCopy( + exec, SharedAllocationRecord::m_alloc_ptr, &header, + sizeof(SharedAllocationHeader)); + } + HostInaccessibleSharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t size, + record_base_t::function_type dealloc = &deallocate); + + static auto allocate(MemorySpace const& arg_space, + std::string const& arg_label, size_t arg_alloc_size) + -> derived_t*; + /**\brief Allocate tracked memory in the space */ + static void* allocate_tracked(MemorySpace const& arg_space, + std::string const& arg_alloc_label, + size_t arg_alloc_size); + /**\brief Reallocate tracked memory in the space */ + static void deallocate_tracked(void* arg_alloc_ptr); + /**\brief Deallocate tracked memory in the space */ + static void* reallocate_tracked(void* arg_alloc_ptr, size_t arg_alloc_size); + static void print_records(std::ostream& s, MemorySpace const&, bool detail = false); static auto get_record(void* alloc_ptr) -> derived_t*; std::string get_label() const; }; +#ifdef KOKKOS_ENABLE_DEBUG +template +SharedAllocationRecord + SharedAllocationRecordCommon::s_root_record; + +template +SharedAllocationRecord + HostInaccessibleSharedAllocationRecordCommon::s_root_record; +#endif + +#define KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(MEMORY_SPACE) \ + template <> \ + class Kokkos::Impl::SharedAllocationRecord \ + : public Kokkos::Impl::SharedAllocationRecordCommon { \ + using SharedAllocationRecordCommon< \ + MEMORY_SPACE>::SharedAllocationRecordCommon; \ + } + +#define KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( \ + MEMORY_SPACE) \ + template <> \ + class Kokkos::Impl::SharedAllocationRecord \ + : public Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE> { \ + using HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE>::HostInaccessibleSharedAllocationRecordCommon; \ + } + +#define KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( \ + MEMORY_SPACE) \ + template class Kokkos::Impl::SharedAllocationRecordCommon + +#define KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( \ + MEMORY_SPACE) \ + template class Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE> + namespace { /* Taking the address of this function so make sure it is unique */ diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp index d403ef9db0..41036ab067 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp @@ -31,6 +31,66 @@ namespace Kokkos { namespace Impl { +template +SharedAllocationRecordCommon::~SharedAllocationRecordCommon() { + auto alloc_ptr = SharedAllocationRecord::m_alloc_ptr; + auto alloc_size = SharedAllocationRecord::m_alloc_size; + auto label = SharedAllocationRecord::m_label; + m_space.deallocate(label.c_str(), alloc_ptr, alloc_size, + alloc_size - sizeof(SharedAllocationHeader)); +} +template +HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::~HostInaccessibleSharedAllocationRecordCommon() { + auto alloc_ptr = SharedAllocationRecord::m_alloc_ptr; + auto alloc_size = SharedAllocationRecord::m_alloc_size; + auto label = SharedAllocationRecord::m_label; + m_space.deallocate(label.c_str(), alloc_ptr, alloc_size, + alloc_size - sizeof(SharedAllocationHeader)); +} + +template +SharedAllocationRecordCommon::SharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t alloc_size, + SharedAllocationRecord::function_type dealloc) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + auto& header = *SharedAllocationRecord::m_alloc_ptr; + fill_host_accessible_header_info(this, header, label); +} + +template +HostInaccessibleSharedAllocationRecordCommon:: + HostInaccessibleSharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, + std::size_t alloc_size, + SharedAllocationRecord::function_type dealloc) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + SharedAllocationHeader header; + + fill_host_accessible_header_info(this, header, label); + + typename MemorySpace::execution_space exec; + Kokkos::Impl::DeepCopy( + exec, SharedAllocationRecord::m_alloc_ptr, &header, + sizeof(SharedAllocationHeader)); + exec.fence(std::string("SharedAllocationRecord::SharedAllocationRecord(): " + "fence after copying header from HostSpace"); +} + template auto SharedAllocationRecordCommon::allocate( MemorySpace const& arg_space, std::string const& arg_label, @@ -76,9 +136,64 @@ void* SharedAllocationRecordCommon::reallocate_tracked( Kokkos::Impl::DeepCopy( r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked(): fence after copying data"); + Kokkos::fence(std::string("SharedAllocationRecord<") + MemorySpace::name() + + ", void>::reallocate_tracked(): fence after copying data"); + + record_base_t::increment(r_new); + record_base_t::decrement(r_old); + + return r_new->data(); +} + +template +auto HostInaccessibleSharedAllocationRecordCommon::allocate( + MemorySpace const& arg_space, std::string const& arg_label, + size_t arg_alloc_size) -> derived_t* { + return new derived_t(arg_space, arg_label, arg_alloc_size); +} + +template +void* HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::allocate_tracked(const MemorySpace& arg_space, + const std::string& arg_alloc_label, + size_t arg_alloc_size) { + if (!arg_alloc_size) return nullptr; + + SharedAllocationRecord* const r = + allocate(arg_space, arg_alloc_label, arg_alloc_size); + + record_base_t::increment(r); + + return r->data(); +} + +template +void HostInaccessibleSharedAllocationRecordCommon::deallocate( + HostInaccessibleSharedAllocationRecordCommon::record_base_t* arg_rec) { + delete static_cast(arg_rec); +} + +template +void HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::deallocate_tracked(void* arg_alloc_ptr) { + if (arg_alloc_ptr != nullptr) { + SharedAllocationRecord* const r = derived_t::get_record(arg_alloc_ptr); + record_base_t::decrement(r); + } +} + +template +void* HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::reallocate_tracked(void* arg_alloc_ptr, + size_t arg_alloc_size) { + derived_t* const r_old = derived_t::get_record(arg_alloc_ptr); + derived_t* const r_new = + allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); + + Kokkos::Impl::DeepCopy( + r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); + Kokkos::fence(std::string("SharedAllocationRecord<") + MemorySpace::name() + + ", void>::reallocate_tracked(): fence after copying data"); record_base_t::increment(r_new); record_base_t::decrement(r_old); @@ -108,20 +223,6 @@ std::string SharedAllocationRecordCommon::get_label() const { return record_base_t::m_label; } -template -void SharedAllocationRecordCommon:: - _fill_host_accessible_header_info(SharedAllocationHeader& arg_header, - std::string const& arg_label) { - // Fill in the Header information, directly accessible on the host - - arg_header.m_record = &self(); - - strncpy(arg_header.m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - arg_header.m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; -} - template void SharedAllocationRecordCommon::print_records( std::ostream& s, const MemorySpace&, bool detail) { diff --git a/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp b/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp deleted file mode 100644 index c57b17d646..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_SPINWAIT_HPP -#define KOKKOS_SPINWAIT_HPP - -#include -#include - -#include - -#include - -namespace Kokkos { -namespace Impl { - -enum class WaitMode : int { - ACTIVE // Used for tight loops to keep threads active longest - , - PASSIVE // Used to quickly yield the thread to quite down the system - , - ROOT // Never sleep or yield the root thread -}; - -void host_thread_yield(const uint32_t i, const WaitMode mode); - -template -std::enable_if_t::value, void> root_spinwait_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::ROOT); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> root_spinwait_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::ROOT); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> spinwait_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::ACTIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> yield_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::PASSIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> spinwait_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::ACTIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> yield_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::PASSIVE); - } - Kokkos::load_fence(); -} - -} /* namespace Impl */ -} /* namespace Kokkos */ - -#endif /* #ifndef KOKKOS_SPINWAIT_HPP */ diff --git a/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp b/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp index 7e2f130564..cadeed1a6d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp @@ -49,6 +49,11 @@ struct integral_constant { template struct always_true : std::true_type {}; +// type-dependent expression that is always false intended for use in +// static_assert to check "we should never get there" +template +struct always_false : std::false_type {}; + //============================================================================== #if defined(__cpp_lib_type_identity) diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp index 725ba5de09..fe43b63018 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp @@ -27,10 +27,9 @@ struct ViewDataAnalysis> { private: using array_analysis = ViewArrayAnalysis; - static_assert(std::is_void

::value, ""); + static_assert(std::is_void

::value); static_assert(std::is_same>::value, - ""); + Kokkos::Array>::value); static_assert(std::is_scalar::value, "View of Array type must be of a scalar type"); @@ -130,6 +129,12 @@ class ViewMapping> { return m_impl_offset.m_dim.extent(r); } + static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( + const unsigned r) noexcept { + using dim_type = typename offset_type::dimension_type; + return dim_type::static_extent(r); + } + KOKKOS_INLINE_FUNCTION constexpr typename Traits::array_layout layout() const { return m_impl_offset.layout(); @@ -507,7 +512,7 @@ class ViewMapping< Kokkos::LayoutStride>::value))>, SrcTraits, Args...> { private: - static_assert(SrcTraits::rank == sizeof...(Args), ""); + static_assert(SrcTraits::rank == sizeof...(Args)); enum : bool { R0 = is_integral_extent<0, Args...>::value, diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp new file mode 100644 index 0000000000..04c0c9aeed --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp @@ -0,0 +1,402 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE +static_assert(false, + "Including non-public Kokkos header files is not allowed."); +#endif + +#ifndef KOKKOS_VIEW_DATA_ANALYSIS_HPP +#define KOKKOS_VIEW_DATA_ANALYSIS_HPP + +#include + +namespace Kokkos::Impl { + +template +struct variadic_size_t { + enum : size_t { value = KOKKOS_INVALID_INDEX }; +}; + +template +struct variadic_size_t<0, Val, Args...> { + enum : size_t { value = Val }; +}; + +template +struct variadic_size_t { + enum : size_t { value = variadic_size_t::value }; +}; + +template +struct rank_dynamic; + +template <> +struct rank_dynamic<> { + enum : unsigned { value = 0 }; +}; + +template +struct rank_dynamic { + enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; +}; + +#define KOKKOS_IMPL_VIEW_DIMENSION(R) \ + template \ + struct ViewDimension##R { \ + static constexpr size_t ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ + static constexpr size_t N##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ + KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ + ViewDimension##R() = default; \ + ViewDimension##R(const ViewDimension##R&) = default; \ + ViewDimension##R& operator=(const ViewDimension##R&) = default; \ + }; \ + template \ + constexpr size_t ViewDimension##R::ArgN##R; \ + template \ + constexpr size_t ViewDimension##R::N##R; \ + template \ + struct ViewDimension##R<0u, RD> { \ + static constexpr size_t ArgN##R = 0; \ + std::conditional_t<(RD < 3), size_t, unsigned> N##R; \ + ViewDimension##R() = default; \ + ViewDimension##R(const ViewDimension##R&) = default; \ + ViewDimension##R& operator=(const ViewDimension##R&) = default; \ + KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t V) : N##R(V) {} \ + }; \ + template \ + constexpr size_t ViewDimension##R<0u, RD>::ArgN##R; + +KOKKOS_IMPL_VIEW_DIMENSION(0) +KOKKOS_IMPL_VIEW_DIMENSION(1) +KOKKOS_IMPL_VIEW_DIMENSION(2) +KOKKOS_IMPL_VIEW_DIMENSION(3) +KOKKOS_IMPL_VIEW_DIMENSION(4) +KOKKOS_IMPL_VIEW_DIMENSION(5) +KOKKOS_IMPL_VIEW_DIMENSION(6) +KOKKOS_IMPL_VIEW_DIMENSION(7) + +#undef KOKKOS_IMPL_VIEW_DIMENSION + +// MSVC does not do empty base class optimization by default. +// Per standard it is required for standard layout types +template +struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension + : public ViewDimension0::value, + rank_dynamic::value>, + public ViewDimension1::value, + rank_dynamic::value>, + public ViewDimension2::value, + rank_dynamic::value>, + public ViewDimension3::value, + rank_dynamic::value>, + public ViewDimension4::value, + rank_dynamic::value>, + public ViewDimension5::value, + rank_dynamic::value>, + public ViewDimension6::value, + rank_dynamic::value>, + public ViewDimension7::value, + rank_dynamic::value> { + using D0 = ViewDimension0::value, + rank_dynamic::value>; + using D1 = ViewDimension1::value, + rank_dynamic::value>; + using D2 = ViewDimension2::value, + rank_dynamic::value>; + using D3 = ViewDimension3::value, + rank_dynamic::value>; + using D4 = ViewDimension4::value, + rank_dynamic::value>; + using D5 = ViewDimension5::value, + rank_dynamic::value>; + using D6 = ViewDimension6::value, + rank_dynamic::value>; + using D7 = ViewDimension7::value, + rank_dynamic::value>; + + using D0::ArgN0; + using D1::ArgN1; + using D2::ArgN2; + using D3::ArgN3; + using D4::ArgN4; + using D5::ArgN5; + using D6::ArgN6; + using D7::ArgN7; + + using D0::N0; + using D1::N1; + using D2::N2; + using D3::N3; + using D4::N4; + using D5::N5; + using D6::N6; + using D7::N7; + + static constexpr unsigned rank = sizeof...(Vals); + static constexpr unsigned rank_dynamic = Impl::rank_dynamic::value; + + ViewDimension() = default; + ViewDimension(const ViewDimension&) = default; + ViewDimension& operator=(const ViewDimension&) = default; + + KOKKOS_INLINE_FUNCTION + constexpr ViewDimension(size_t n0, size_t n1, size_t n2, size_t n3, size_t n4, + size_t n5, size_t n6, size_t n7) + : D0(n0 == KOKKOS_INVALID_INDEX ? 1 : n0), + D1(n1 == KOKKOS_INVALID_INDEX ? 1 : n1), + D2(n2 == KOKKOS_INVALID_INDEX ? 1 : n2), + D3(n3 == KOKKOS_INVALID_INDEX ? 1 : n3), + D4(n4 == KOKKOS_INVALID_INDEX ? 1 : n4), + D5(n5 == KOKKOS_INVALID_INDEX ? 1 : n5), + D6(n6 == KOKKOS_INVALID_INDEX ? 1 : n6), + D7(n7 == KOKKOS_INVALID_INDEX ? 1 : n7) {} + + KOKKOS_INLINE_FUNCTION + constexpr size_t extent(const unsigned r) const noexcept { + return r == 0 + ? N0 + : (r == 1 + ? N1 + : (r == 2 + ? N2 + : (r == 3 + ? N3 + : (r == 4 + ? N4 + : (r == 5 + ? N5 + : (r == 6 + ? N6 + : (r == 7 ? N7 + : 0))))))); + } + + static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( + const unsigned r) noexcept { + return r == 0 + ? ArgN0 + : (r == 1 + ? ArgN1 + : (r == 2 + ? ArgN2 + : (r == 3 + ? ArgN3 + : (r == 4 + ? ArgN4 + : (r == 5 + ? ArgN5 + : (r == 6 + ? ArgN6 + : (r == 7 ? ArgN7 + : 0))))))); + } + + template + struct prepend { + using type = ViewDimension; + }; + + template + struct append { + using type = ViewDimension; + }; +}; + +template +struct ViewDimensionJoin; + +template +struct ViewDimensionJoin, ViewDimension> { + using type = ViewDimension; +}; + +//---------------------------------------------------------------------------- + +template +struct ViewDimensionAssignable; + +template +struct ViewDimensionAssignable, + ViewDimension> { + using dst = ViewDimension; + using src = ViewDimension; + + enum { + value = unsigned(dst::rank) == unsigned(src::rank) && + ( + // Compile time check that potential static dimensions match + ((1 > dst::rank_dynamic && 1 > src::rank_dynamic) + ? (size_t(dst::ArgN0) == size_t(src::ArgN0)) + : true) && + ((2 > dst::rank_dynamic && 2 > src::rank_dynamic) + ? (size_t(dst::ArgN1) == size_t(src::ArgN1)) + : true) && + ((3 > dst::rank_dynamic && 3 > src::rank_dynamic) + ? (size_t(dst::ArgN2) == size_t(src::ArgN2)) + : true) && + ((4 > dst::rank_dynamic && 4 > src::rank_dynamic) + ? (size_t(dst::ArgN3) == size_t(src::ArgN3)) + : true) && + ((5 > dst::rank_dynamic && 5 > src::rank_dynamic) + ? (size_t(dst::ArgN4) == size_t(src::ArgN4)) + : true) && + ((6 > dst::rank_dynamic && 6 > src::rank_dynamic) + ? (size_t(dst::ArgN5) == size_t(src::ArgN5)) + : true) && + ((7 > dst::rank_dynamic && 7 > src::rank_dynamic) + ? (size_t(dst::ArgN6) == size_t(src::ArgN6)) + : true) && + ((8 > dst::rank_dynamic && 8 > src::rank_dynamic) + ? (size_t(dst::ArgN7) == size_t(src::ArgN7)) + : true)) + }; +}; + +/** \brief Given a value type and dimension generate the View data type */ +template +struct ViewDataType; + +template +struct ViewDataType> { + using type = T; +}; + +template +struct ViewDataType> { + using type = typename ViewDataType>::type; +}; + +template +struct ViewDataType> { + using type = typename ViewDataType>::type[N]; +}; + +/**\brief Analysis of View data type. + * + * Data type conforms to one of the following patterns : + * {const} value_type [][#][#][#] + * {const} value_type ***[#][#][#] + * Where the sum of counts of '*' and '[#]' is at most ten. + * + * Provide alias for ViewDimension<...> and value_type. + */ +template +struct ViewArrayAnalysis { + using value_type = T; + using const_value_type = std::add_const_t; + using non_const_value_type = std::remove_const_t; + using static_dimension = ViewDimension<>; + using dynamic_dimension = ViewDimension<>; + using dimension = ViewDimension<>; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using static_dimension = + typename nested::static_dimension::template prepend::type; + + using dynamic_dimension = typename nested::dynamic_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + using nested_dimension = typename nested::dimension; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; + + using static_dimension = typename nested::static_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; + + using static_dimension = typename nested::static_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewDataAnalysis { + private: + using array_analysis = ViewArrayAnalysis; + + // ValueType is opportunity for partial specialization. + // Must match array analysis when this default template is used. + static_assert( + std::is_same::value); + + public: + using specialize = void; // No specialization + + using dimension = typename array_analysis::dimension; + using value_type = typename array_analysis::value_type; + using const_value_type = typename array_analysis::const_value_type; + using non_const_value_type = typename array_analysis::non_const_value_type; + + // Generate analogous multidimensional array specification type. + using type = typename ViewDataType::type; + using const_type = typename ViewDataType::type; + using non_const_type = + typename ViewDataType::type; + + // Generate "flattened" multidimensional array specification type. + using scalar_array_type = type; + using const_scalar_array_type = const_type; + using non_const_scalar_array_type = non_const_type; +}; + +template +struct ViewOffset { + using is_mapping_plugin = std::false_type; +}; +} // namespace Kokkos::Impl + +#endif // KOKKOS_VIEW_DATA_ANALYSIS_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp index 01d0dc4f68..3217c76e38 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp @@ -33,255 +33,7 @@ #include #include #include - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -template -struct variadic_size_t { - enum : size_t { value = KOKKOS_INVALID_INDEX }; -}; - -template -struct variadic_size_t<0, Val, Args...> { - enum : size_t { value = Val }; -}; - -template -struct variadic_size_t { - enum : size_t { value = variadic_size_t::value }; -}; - -template -struct rank_dynamic; - -template <> -struct rank_dynamic<> { - enum : unsigned { value = 0 }; -}; - -template -struct rank_dynamic { - enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; -}; - -#define KOKKOS_IMPL_VIEW_DIMENSION(R) \ - template \ - struct ViewDimension##R { \ - static constexpr size_t ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ - static constexpr size_t N##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ - KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ - ViewDimension##R() = default; \ - ViewDimension##R(const ViewDimension##R&) = default; \ - ViewDimension##R& operator=(const ViewDimension##R&) = default; \ - }; \ - template \ - constexpr size_t ViewDimension##R::ArgN##R; \ - template \ - constexpr size_t ViewDimension##R::N##R; \ - template \ - struct ViewDimension##R<0u, RD> { \ - static constexpr size_t ArgN##R = 0; \ - std::conditional_t<(RD < 3), size_t, unsigned> N##R; \ - ViewDimension##R() = default; \ - ViewDimension##R(const ViewDimension##R&) = default; \ - ViewDimension##R& operator=(const ViewDimension##R&) = default; \ - KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t V) : N##R(V) {} \ - }; \ - template \ - constexpr size_t ViewDimension##R<0u, RD>::ArgN##R; - -KOKKOS_IMPL_VIEW_DIMENSION(0) -KOKKOS_IMPL_VIEW_DIMENSION(1) -KOKKOS_IMPL_VIEW_DIMENSION(2) -KOKKOS_IMPL_VIEW_DIMENSION(3) -KOKKOS_IMPL_VIEW_DIMENSION(4) -KOKKOS_IMPL_VIEW_DIMENSION(5) -KOKKOS_IMPL_VIEW_DIMENSION(6) -KOKKOS_IMPL_VIEW_DIMENSION(7) - -#undef KOKKOS_IMPL_VIEW_DIMENSION - -// MSVC does not do empty base class optimization by default. -// Per standard it is required for standard layout types -template -struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension - : public ViewDimension0::value, - rank_dynamic::value>, - public ViewDimension1::value, - rank_dynamic::value>, - public ViewDimension2::value, - rank_dynamic::value>, - public ViewDimension3::value, - rank_dynamic::value>, - public ViewDimension4::value, - rank_dynamic::value>, - public ViewDimension5::value, - rank_dynamic::value>, - public ViewDimension6::value, - rank_dynamic::value>, - public ViewDimension7::value, - rank_dynamic::value> { - using D0 = ViewDimension0::value, - rank_dynamic::value>; - using D1 = ViewDimension1::value, - rank_dynamic::value>; - using D2 = ViewDimension2::value, - rank_dynamic::value>; - using D3 = ViewDimension3::value, - rank_dynamic::value>; - using D4 = ViewDimension4::value, - rank_dynamic::value>; - using D5 = ViewDimension5::value, - rank_dynamic::value>; - using D6 = ViewDimension6::value, - rank_dynamic::value>; - using D7 = ViewDimension7::value, - rank_dynamic::value>; - - using D0::ArgN0; - using D1::ArgN1; - using D2::ArgN2; - using D3::ArgN3; - using D4::ArgN4; - using D5::ArgN5; - using D6::ArgN6; - using D7::ArgN7; - - using D0::N0; - using D1::N1; - using D2::N2; - using D3::N3; - using D4::N4; - using D5::N5; - using D6::N6; - using D7::N7; - - static constexpr unsigned rank = sizeof...(Vals); - static constexpr unsigned rank_dynamic = Impl::rank_dynamic::value; - - ViewDimension() = default; - ViewDimension(const ViewDimension&) = default; - ViewDimension& operator=(const ViewDimension&) = default; - - KOKKOS_INLINE_FUNCTION - constexpr ViewDimension(size_t n0, size_t n1, size_t n2, size_t n3, size_t n4, - size_t n5, size_t n6, size_t n7) - : D0(n0 == KOKKOS_INVALID_INDEX ? 1 : n0), - D1(n1 == KOKKOS_INVALID_INDEX ? 1 : n1), - D2(n2 == KOKKOS_INVALID_INDEX ? 1 : n2), - D3(n3 == KOKKOS_INVALID_INDEX ? 1 : n3), - D4(n4 == KOKKOS_INVALID_INDEX ? 1 : n4), - D5(n5 == KOKKOS_INVALID_INDEX ? 1 : n5), - D6(n6 == KOKKOS_INVALID_INDEX ? 1 : n6), - D7(n7 == KOKKOS_INVALID_INDEX ? 1 : n7) {} - - KOKKOS_INLINE_FUNCTION - constexpr size_t extent(const unsigned r) const noexcept { - return r == 0 - ? N0 - : (r == 1 - ? N1 - : (r == 2 - ? N2 - : (r == 3 - ? N3 - : (r == 4 - ? N4 - : (r == 5 - ? N5 - : (r == 6 - ? N6 - : (r == 7 ? N7 - : 0))))))); - } - - static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( - const unsigned r) noexcept { - return r == 0 - ? ArgN0 - : (r == 1 - ? ArgN1 - : (r == 2 - ? ArgN2 - : (r == 3 - ? ArgN3 - : (r == 4 - ? ArgN4 - : (r == 5 - ? ArgN5 - : (r == 6 - ? ArgN6 - : (r == 7 ? ArgN7 - : 0))))))); - } - - template - struct prepend { - using type = ViewDimension; - }; - - template - struct append { - using type = ViewDimension; - }; -}; - -template -struct ViewDimensionJoin; - -template -struct ViewDimensionJoin, ViewDimension> { - using type = ViewDimension; -}; - -//---------------------------------------------------------------------------- - -template -struct ViewDimensionAssignable; - -template -struct ViewDimensionAssignable, - ViewDimension> { - using dst = ViewDimension; - using src = ViewDimension; - - enum { - value = unsigned(dst::rank) == unsigned(src::rank) && - ( - // Compile time check that potential static dimensions match - ((1 > dst::rank_dynamic && 1 > src::rank_dynamic) - ? (size_t(dst::ArgN0) == size_t(src::ArgN0)) - : true) && - ((2 > dst::rank_dynamic && 2 > src::rank_dynamic) - ? (size_t(dst::ArgN1) == size_t(src::ArgN1)) - : true) && - ((3 > dst::rank_dynamic && 3 > src::rank_dynamic) - ? (size_t(dst::ArgN2) == size_t(src::ArgN2)) - : true) && - ((4 > dst::rank_dynamic && 4 > src::rank_dynamic) - ? (size_t(dst::ArgN3) == size_t(src::ArgN3)) - : true) && - ((5 > dst::rank_dynamic && 5 > src::rank_dynamic) - ? (size_t(dst::ArgN4) == size_t(src::ArgN4)) - : true) && - ((6 > dst::rank_dynamic && 6 > src::rank_dynamic) - ? (size_t(dst::ArgN5) == size_t(src::ArgN5)) - : true) && - ((7 > dst::rank_dynamic && 7 > src::rank_dynamic) - ? (size_t(dst::ArgN6) == size_t(src::ArgN6)) - : true) && - ((8 > dst::rank_dynamic && 8 > src::rank_dynamic) - ? (size_t(dst::ArgN7) == size_t(src::ArgN7)) - : true)) - }; -}; - -} // namespace Impl -} // namespace Kokkos +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -657,21 +409,20 @@ struct SubviewExtents { template KOKKOS_INLINE_FUNCTION SubviewExtents(const ViewDimension& dim, Args... args) { - static_assert(DomainRank == sizeof...(DimArgs), ""); - static_assert(DomainRank == sizeof...(Args), ""); + static_assert(DomainRank == sizeof...(DimArgs)); + static_assert(DomainRank == sizeof...(Args)); // Verifies that all arguments, up to 8, are integral types, // integral extents, or don't exist. - static_assert( - RangeRank == unsigned(is_integral_extent<0, Args...>::value) + - unsigned(is_integral_extent<1, Args...>::value) + - unsigned(is_integral_extent<2, Args...>::value) + - unsigned(is_integral_extent<3, Args...>::value) + - unsigned(is_integral_extent<4, Args...>::value) + - unsigned(is_integral_extent<5, Args...>::value) + - unsigned(is_integral_extent<6, Args...>::value) + - unsigned(is_integral_extent<7, Args...>::value), - ""); + static_assert(RangeRank == + unsigned(is_integral_extent<0, Args...>::value) + + unsigned(is_integral_extent<1, Args...>::value) + + unsigned(is_integral_extent<2, Args...>::value) + + unsigned(is_integral_extent<3, Args...>::value) + + unsigned(is_integral_extent<4, Args...>::value) + + unsigned(is_integral_extent<5, Args...>::value) + + unsigned(is_integral_extent<6, Args...>::value) + + unsigned(is_integral_extent<7, Args...>::value)); if (RangeRank == 0) { m_length[0] = 0; @@ -708,149 +459,6 @@ struct SubviewExtents { namespace Kokkos { namespace Impl { - -/** \brief Given a value type and dimension generate the View data type */ -template -struct ViewDataType; - -template -struct ViewDataType> { - using type = T; -}; - -template -struct ViewDataType> { - using type = typename ViewDataType>::type; -}; - -template -struct ViewDataType> { - using type = typename ViewDataType>::type[N]; -}; - -/**\brief Analysis of View data type. - * - * Data type conforms to one of the following patterns : - * {const} value_type [][#][#][#] - * {const} value_type ***[#][#][#] - * Where the sum of counts of '*' and '[#]' is at most ten. - * - * Provide alias for ViewDimension<...> and value_type. - */ -template -struct ViewArrayAnalysis { - using value_type = T; - using const_value_type = std::add_const_t; - using non_const_value_type = std::remove_const_t; - using static_dimension = ViewDimension<>; - using dynamic_dimension = ViewDimension<>; - using dimension = ViewDimension<>; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using static_dimension = - typename nested::static_dimension::template prepend::type; - - using dynamic_dimension = typename nested::dynamic_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - using nested_dimension = typename nested::dimension; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using dynamic_dimension = - typename nested::dynamic_dimension::template prepend<0>::type; - - using static_dimension = typename nested::static_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using dynamic_dimension = - typename nested::dynamic_dimension::template prepend<0>::type; - - using static_dimension = typename nested::static_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewDataAnalysis { - private: - using array_analysis = ViewArrayAnalysis; - - // ValueType is opportunity for partial specialization. - // Must match array analysis when this default template is used. - static_assert( - std::is_same::value, - ""); - - public: - using specialize = void; // No specialization - - using dimension = typename array_analysis::dimension; - using value_type = typename array_analysis::value_type; - using const_value_type = typename array_analysis::const_value_type; - using non_const_value_type = typename array_analysis::non_const_value_type; - - // Generate analogous multidimensional array specification type. - using type = typename ViewDataType::type; - using const_type = typename ViewDataType::type; - using non_const_type = - typename ViewDataType::type; - - // Generate "flattened" multidimensional array specification type. - using scalar_array_type = type; - using const_scalar_array_type = const_type; - using non_const_scalar_array_type = non_const_type; -}; - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -template -struct ViewOffset { - using is_mapping_plugin = std::false_type; -}; - //---------------------------------------------------------------------------- // LayoutLeft AND ( 1 >= rank OR 0 == rank_dynamic ) : no padding / striding template @@ -2919,13 +2527,9 @@ struct ViewValueFunctor { "Kokkos::View::initialization [" + name + "] via memset", Kokkos::Profiling::Experimental::device_id(space), &kpID); } - (void)ZeroMemset< - ExecSpace, Kokkos::View>>( - space, - Kokkos::View>(ptr, n), - value); + (void)ZeroMemset( + space, Kokkos::View>(ptr, n)); if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); @@ -2949,37 +2553,33 @@ struct ViewValueFunctor { template void parallel_for_implementation() { - if (!space.in_parallel()) { - using PolicyType = - Kokkos::RangePolicy, Tag>; - PolicyType policy(space, 0, n); - uint64_t kpID = 0; - if (Kokkos::Profiling::profileLibraryLoaded()) { - const std::string functor_name = - (std::is_same_v - ? "Kokkos::View::destruction [" + name + "]" - : "Kokkos::View::initialization [" + name + "]"); - Kokkos::Profiling::beginParallelFor( - functor_name, Kokkos::Profiling::Experimental::device_id(space), - &kpID); - } + using PolicyType = + Kokkos::RangePolicy, Tag>; + PolicyType policy(space, 0, n); + uint64_t kpID = 0; + if (Kokkos::Profiling::profileLibraryLoaded()) { + const std::string functor_name = + (std::is_same_v + ? "Kokkos::View::destruction [" + name + "]" + : "Kokkos::View::initialization [" + name + "]"); + Kokkos::Profiling::beginParallelFor( + functor_name, Kokkos::Profiling::Experimental::device_id(space), + &kpID); + } #ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, - true); - } + if (std::is_same::value) { + Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, + true); + } #endif - const Kokkos::Impl::ParallelFor closure( - *this, policy); - closure.execute(); - if (default_exec_space || std::is_same_v) - space.fence("Kokkos::Impl::ViewValueFunctor: View init/destroy fence"); - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endParallelFor(kpID); - } - } else { - for (size_t i = 0; i < n; ++i) operator()(Tag{}, i); + const Kokkos::Impl::ParallelFor closure( + *this, policy); + closure.execute(); + if (default_exec_space || std::is_same_v) + space.fence("Kokkos::Impl::ViewValueFunctor: View init/destroy fence"); + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::endParallelFor(kpID); } } @@ -3057,13 +2657,9 @@ struct ViewValueFunctor { Kokkos::Profiling::Experimental::device_id(space), &kpID); } - (void)ZeroMemset< - ExecSpace, Kokkos::View>>( - space, - Kokkos::View>(ptr, n), - value); + (void)ZeroMemset( + space, Kokkos::View>(ptr, n)); if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); @@ -3086,32 +2682,28 @@ struct ViewValueFunctor { } void parallel_for_implementation() { - if (!space.in_parallel()) { - PolicyType policy(0, n); - uint64_t kpID = 0; - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::beginParallelFor( - "Kokkos::View::initialization [" + name + "]", - Kokkos::Profiling::Experimental::device_id(space), &kpID); - } + PolicyType policy(0, n); + uint64_t kpID = 0; + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::beginParallelFor( + "Kokkos::View::initialization [" + name + "]", + Kokkos::Profiling::Experimental::device_id(space), &kpID); + } #ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, - true); - } + if (std::is_same::value) { + Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, + true); + } #endif - const Kokkos::Impl::ParallelFor closure( - *this, PolicyType(0, n)); - closure.execute(); - if (default_exec_space) - space.fence( - "Kokkos::Impl::ViewValueFunctor: Fence after setting values in " - "view"); - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endParallelFor(kpID); - } - } else { - for (size_t i = 0; i < n; ++i) operator()(i); + const Kokkos::Impl::ParallelFor closure( + *this, PolicyType(0, n)); + closure.execute(); + if (default_exec_space) + space.fence( + "Kokkos::Impl::ViewValueFunctor: Fence after setting values in " + "view"); + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::endParallelFor(kpID); } } @@ -3896,7 +3488,7 @@ class ViewMapping< template struct apply { - static_assert(Kokkos::is_memory_traits::value, ""); + static_assert(Kokkos::is_memory_traits::value); using traits_type = Kokkos::ViewTraits -KOKKOS_INLINE_FUNCTION bool view_verify_operator_bounds(const MapType&) { - return true; +template +KOKKOS_FUNCTION bool within_range(Map const& map, + std::index_sequence, + Indices... indices) { + return (((std::size_t)indices < map.extent(Enumerate)) && ...); } -template -KOKKOS_INLINE_FUNCTION bool view_verify_operator_bounds(const MapType& map, - const iType& i, - Args... args) { - return (size_t(i) < map.extent(R)) && - view_verify_operator_bounds(map, args...); +template +KOKKOS_FUNCTION constexpr char* append_formatted_multidimensional_index( + char* dest, Indices... indices) { + char* d = dest; + strcat(d, "["); + ( + [&] { + d += strlen(d); + to_chars_i(d, + d + 20, // 20 digits ought to be enough + indices); + strcat(d, ","); + }(), + ...); + d[strlen(d) - 1] = ']'; // overwrite trailing comma + return dest; } -template -inline void view_error_operator_bounds(char*, int, const MapType&) {} - -template -inline void view_error_operator_bounds(char* buf, int len, const MapType& map, - const iType& i, Args... args) { - const int n = snprintf( - buf, len, " %ld < %ld %c", static_cast(i), - static_cast(map.extent(R)), (sizeof...(Args) ? ',' : ')')); - view_error_operator_bounds(buf + n, len - n, map, args...); +template +KOKKOS_FUNCTION void print_extents(char* dest, Map const& map, + std::index_sequence) { + append_formatted_multidimensional_index(dest, map.extent(Enumerate)...); } -/* Check #3: is the View managed as determined by the MemoryTraits? */ -template -struct OperatorBoundsErrorOnDevice; - -template -struct OperatorBoundsErrorOnDevice { - KOKKOS_INLINE_FUNCTION - static void run(MapType const&) { Kokkos::abort("View bounds error"); } -}; - -template -struct OperatorBoundsErrorOnDevice { - KOKKOS_INLINE_FUNCTION - static void run(MapType const& map) { - SharedAllocationHeader const* const header = - SharedAllocationHeader::get_header( - static_cast(map.data())); - char const* const label = header->label(); - enum { LEN = 128 }; - char msg[LEN]; - char const* const first_part = "View bounds error of view "; - char* p = msg; - char* const end = msg + LEN - 1; - for (char const* p2 = first_part; (*p2 != '\0') && (p < end); ++p, ++p2) { - *p = *p2; - } - for (char const* p2 = label; (*p2 != '\0') && (p < end); ++p, ++p2) { - *p = *p2; - } - *p = '\0'; - Kokkos::abort(msg); - } -}; - -/* Check #2: does the ViewMapping have the printable_label_typedef defined? - See above that only the non-specialized standard-layout ViewMapping has - this defined by default. - The existence of this alias indicates the existence of MapType::is_managed - */ template using printable_label_typedef_t = typename T::printable_label_typedef; -template -KOKKOS_FUNCTION - std::enable_if_t::value> - operator_bounds_error_on_device(Map const&) { - Kokkos::abort("View bounds error"); -} - -template -KOKKOS_FUNCTION - std::enable_if_t::value> - operator_bounds_error_on_device(Map const& map) { - OperatorBoundsErrorOnDevice::run(map); -} - template KOKKOS_INLINE_FUNCTION void view_verify_operator_bounds( Kokkos::Impl::ViewTracker const& tracker, const MapType& map, Args... args) { - if (!view_verify_operator_bounds<0>(map, args...)) { + if (!within_range(map, std::make_index_sequence(), + args...)) { + char err[256] = ""; + strcat(err, "Kokkos::View ERROR: out of bounds access"); + strcat(err, " label=(\""); KOKKOS_IF_ON_HOST( - (enum {LEN = 1024}; char buffer[LEN]; - const std::string label = - tracker.m_tracker.template get_label(); - int n = snprintf(buffer, LEN, "View bounds error of view %s (", - label.c_str()); - view_error_operator_bounds<0>(buffer + n, LEN - n, map, args...); - Kokkos::Impl::throw_runtime_exception(std::string(buffer));)) - - KOKKOS_IF_ON_DEVICE(( - /* Check #1: is there a SharedAllocationRecord? - (we won't use it, but if its not there then there isn't - a corresponding SharedAllocationHeader containing a label). - This check should cover the case of Views that don't - have the Unmanaged trait but were initialized by pointer. */ if (tracker.m_tracker.has_record()) { - operator_bounds_error_on_device(map); - } else { Kokkos::abort("View bounds error"); })) + strncat(err, tracker.m_tracker.template get_label().c_str(), + 128); + } else { strcat(err, "**UNMANAGED**"); }) + KOKKOS_IF_ON_DEVICE([&] { + // Check #1: is there a SharedAllocationRecord? (we won't use it, but + // if its not there then there isn't a corresponding + // SharedAllocationHeader containing a label). This check should cover + // the case of Views that don't have the Unmanaged trait but were + // initialized by pointer. + if (!tracker.m_tracker.has_record()) { + strcat(err, "**UNMANAGED**"); + return; + } + // Check #2: does the ViewMapping have the printable_label_typedef + // defined? See above that only the non-specialized standard-layout + // ViewMapping has this defined by default. The existence of this + // alias indicates the existence of MapType::is_managed + if constexpr (is_detected_v) { + // Check #3: is the View managed as determined by the MemoryTraits? + if constexpr (MapType::is_managed != 0) { + SharedAllocationHeader const* const header = + SharedAllocationHeader::get_header( + static_cast(map.data())); + char const* const label = header->label(); + strcat(err, label); + return; + } + strcat(err, "**UNAVAILABLE**"); + } + }();) + strcat(err, "\") with indices "); + append_formatted_multidimensional_index(err, args...); + strcat(err, " but extents "); + print_extents(err, map, std::make_index_sequence()); + Kokkos::abort(err); } } diff --git a/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp b/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp index 7f7957bc61..30f6fa2ad2 100644 --- a/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp +++ b/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp @@ -38,12 +38,11 @@ #include #endif -#ifdef __SYCL_DEVICE_ONLY__ -#define KOKKOS_IMPL_DO_NOT_USE_PRINTF(format, ...) \ - do { \ - const __attribute__((opencl_constant)) char fmt[] = (format); \ - sycl::ext::oneapi::experimental::printf(fmt, ##__VA_ARGS__); \ - } while (0) +#if defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER >= 20230200 +#define KOKKOS_IMPL_SYCL_GET_MULTI_PTR(accessor) \ + accessor.get_multi_ptr() +#else +#define KOKKOS_IMPL_SYCL_GET_MULTI_PTR(accessor) accessor.get_pointer() #endif #endif diff --git a/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp index 91820fbcca..e43535451c 100644 --- a/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp @@ -83,7 +83,7 @@ struct IndexTypePolicyMixin : AnalyzeNextTrait { "Kokkos Error: More than one index type given. Search " "compiler output for 'show_extra_index_type' to see the " "type of the errant tag."); - static_assert(std::is_integral::value, ""); + static_assert(std::is_integral::value); static constexpr bool index_type_is_defaulted = false; using index_type = Kokkos::IndexType; }; diff --git a/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp index dadf582c37..c2ca5a341f 100644 --- a/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp @@ -163,7 +163,7 @@ auto prefer(Policy const& p, DesiredOccupancy occ) { template constexpr auto prefer(Policy const& p, MaximizeOccupancy) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::OccupancyControlTrait::policy_with_trait; diff --git a/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp b/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp index 578e9e762a..98ad1d7ebb 100644 --- a/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp @@ -68,7 +68,7 @@ struct PolicyTraitAdaptorImpl< TraitSpec, PolicyTemplate, type_list, type_list, NewTrait, std::enable_if_t::value>> { - static_assert(PolicyTraitMatcher::value, ""); + static_assert(PolicyTraitMatcher::value); using type = PolicyTemplate; }; @@ -92,7 +92,7 @@ template class PolicyTemplate, struct PolicyTraitAdaptorImpl, type_list<>, NewTrait> { - static_assert(PolicyTraitMatcher::value, ""); + static_assert(PolicyTraitMatcher::value); using type = PolicyTemplate; }; diff --git a/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp index 8613002553..4e91d89f0f 100644 --- a/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp @@ -78,7 +78,7 @@ namespace Experimental { template constexpr auto require(Policy const& p, Kokkos::Schedule) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::ScheduleTrait::policy_with_trait< Policy, Kokkos::Schedule>; return new_policy_t{p}; diff --git a/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp index 8f95385c85..ae7aa6e534 100644 --- a/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp @@ -57,7 +57,7 @@ namespace Experimental { template constexpr auto require(const Policy p, WorkItemProperty::ImplWorkItemProperty) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::WorkItemPropertyTrait::policy_with_trait< Policy, WorkItemProperty::ImplWorkItemProperty>; return new_policy_t{p}; diff --git a/lib/kokkos/core/unit_test/CMakeLists.txt b/lib/kokkos/core/unit_test/CMakeLists.txt index b71c72c3c9..6dfb7505c5 100644 --- a/lib/kokkos/core/unit_test/CMakeLists.txt +++ b/lib/kokkos/core/unit_test/CMakeLists.txt @@ -65,7 +65,7 @@ SET(KOKKOS_THREADS_NAME Threads) IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) SET(KOKKOS_OPENACC_FEATURE_LEVEL 9) ELSE() - SET(KOKKOS_OPENACC_FEATURE_LEVEL 16) + SET(KOKKOS_OPENACC_FEATURE_LEVEL 17) ENDIF() SET(KOKKOS_OPENACC_NAME Experimental::OpenACC) @@ -86,11 +86,13 @@ SET(COMPILE_ONLY_SOURCES TestDetectionIdiom.cpp TestBitManipulation.cpp TestInterOp.cpp + TestRangePolicyCTAD.cpp TestStringManipulation.cpp TestVersionMacros.cpp TestViewRank.cpp TestViewTypeTraits.cpp TestTypeList.cpp + TestMDRangePolicyCTAD.cpp view/TestExtentsDatatypeConversion.cpp ) @@ -184,6 +186,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) MDSpan MinMaxClamp NumericTraits + OccupancyControlTrait Other ParallelScanRangePolicy Printf @@ -200,6 +203,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) Reductions Reductions_DeviceView SharedAlloc + Swap ) set(file ${dir}/Test${Tag}_${Name}.cpp) # Write to a temporary intermediate file and call configure_file to avoid @@ -233,6 +237,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) ViewCopy_a ViewCopy_b ViewCtorDimMatch + ViewEmptyRuntimeUnmanaged ViewHooks ViewLayoutStrideAssignment ViewMapping_a @@ -240,6 +245,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) ViewMapping_subview ViewMemoryAccessViolation ViewOfClass + ViewOutOfBoundsAccess ViewResize WorkGraph WithoutInitializing @@ -372,20 +378,21 @@ if(Kokkos_ENABLE_OPENMPTARGET) ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamCombinedReducers.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_WorkGraph.cpp - IF (KOKKOS_CXX_COMPILER_ID STREQUAL "Clang" AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0.0) - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c01.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c02.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c03.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp - endif() IF (KOKKOS_CXX_COMPILER_ID STREQUAL "Clang" AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0.0) ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_AtomicOperations_shared.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_MinMaxClamp.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamVectorRange.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_LocalDeepCopy.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamVectorRange.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamScan.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamBasic.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp + IF (KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 17.0.3) + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c01.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c02.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c03.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp + endif() endif() # FIXME_OPENMPTARGET_CRAY: The following tests fail at compile time when the OpenMPTarget backend is enabled with the Cray compiler. # Atomic compare/exchange is used in these tests which can be one of the reasons for the compilation failures. @@ -522,17 +529,7 @@ IF(KOKKOS_ENABLE_OPENACC AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) list(REMOVE_ITEM OpenACC_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/default/TestDefaultDeviceType_a1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/default/TestDefaultDeviceType_b1.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_double.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_float.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_int.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_longint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_longlongint.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_shared.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_unsignedint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_unsignedlongint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Atomics.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicViews.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_BlockSizeDeduction.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_DeepCopyAlignment.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_HostSharedPtr.cpp @@ -549,17 +546,10 @@ IF(KOKKOS_ENABLE_OPENACC AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reducers_d.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reductions.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reductions_DeviceView.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_b.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c02.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c03.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c05.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c08.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c11.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamBasic.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamScratch.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamTeamSize.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_UniqueToken.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_ViewMapping_b.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_ViewResize.cpp ) endif() @@ -677,7 +667,6 @@ endif() if (Kokkos_ENABLE_OPENMP) set(OpenMP_EXTRA_SOURCES openmp/TestOpenMP_Task.cpp - openmp/TestOpenMP_PartitionMaster.cpp ) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_OpenMP @@ -724,12 +713,14 @@ if(Kokkos_ENABLE_HPX) hpx/TestHPX_IndependentInstancesRefCounting.cpp hpx/TestHPX_IndependentInstancesSynchronization.cpp ) +if(Kokkos_ENABLE_DEPRECATED_CODE_4) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_HPX_InParallel SOURCES UnitTestMainInit.cpp hpx/TestHPX_InParallel.cpp ) + endif() endif() if(Kokkos_ENABLE_OPENMPTARGET) @@ -797,6 +788,12 @@ if(Kokkos_ENABLE_CUDA) UnitTestMain.cpp cuda/TestCuda_InterOp_Streams.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + CoreUnitTest_CudaInterOpStreamsMultiGPU + SOURCES + UnitTestMainInit.cpp + cuda/TestCuda_InterOp_StreamsMultiGPU.cpp + ) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_CudaGraph SOURCES @@ -1039,13 +1036,7 @@ KOKKOS_ADD_ADVANCED_TEST( CoreUnitTest_PushFinalizeHook_terminate tools/TestCategoricalTuner.cpp ) endif() - if((NOT Kokkos_ENABLE_OPENMPTARGET) AND (NOT Kokkos_ENABLE_OPENACC)) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - CoreUnitTest_LogicalSpaces - SOURCES - tools/TestLogicalSpaces.cpp - ) - endif() + SET(KOKKOSP_SOURCES UnitTestMainInit.cpp tools/TestEventCorrectness.cpp @@ -1167,15 +1158,6 @@ KOKKOS_ADD_TEST( NAME CoreUnitTest_StackTraceTest ) endif() -if(Kokkos_ENABLE_DEPRECATED_CODE_3) - foreach(INITTESTS_NUM RANGE 1 18) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - CoreUnitTest_DefaultInit_${INITTESTS_NUM} - SOURCES UnitTestMain.cpp default/TestDefaultDeviceTypeInit_${INITTESTS_NUM}.cpp - ) - endforeach(INITTESTS_NUM) -endif() - if (KOKKOS_ENABLE_HWLOC) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_HWLOC @@ -1259,12 +1241,10 @@ if (NOT KOKKOS_HAS_TRILINOS) INPUT TestDeviceAndThreads.py ${USE_SOURCE_PERMISSIONS_WHEN_SUPPORTED} ) - if(NOT Kokkos_ENABLE_OPENMPTARGET) # FIXME_OPENMPTARGET does not select the right device - add_test( - NAME Kokkos_CoreUnitTest_DeviceAndThreads - COMMAND ${Python3_EXECUTABLE} -m unittest -v $/TestDeviceAndThreads.py - ) - endif() + add_test( + NAME Kokkos_CoreUnitTest_DeviceAndThreads + COMMAND ${Python3_EXECUTABLE} -m unittest -v $/TestDeviceAndThreads.py + ) endif() endif() diff --git a/lib/kokkos/core/unit_test/Makefile b/lib/kokkos/core/unit_test/Makefile index 33a84b61f9..202809d3fc 100644 --- a/lib/kokkos/core/unit_test/Makefile +++ b/lib/kokkos/core/unit_test/Makefile @@ -67,8 +67,8 @@ TESTS = AtomicOperations_int AtomicOperations_unsignedint AtomicOperations_longi tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ tmp2 := $(foreach test, $(TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(device)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(device)_$(test).cpp); \ ) \ ) \ ) @@ -82,8 +82,8 @@ KOKKOS_SUBVIEW_DEVICELIST := $(filter-out Cuda, $(KOKKOS_DEVICELIST)) tmp := $(foreach device, $(KOKKOS_SUBVIEW_DEVICELIST), \ tmp2 := $(foreach test, $(SUBVIEW_TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),, \ - $(shell echo "\#include " > Test$(device)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(device)_$(test).cpp); \ ) \ )\ ) @@ -91,8 +91,8 @@ tmp := $(foreach device, $(KOKKOS_SUBVIEW_DEVICELIST), \ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp2 := $(foreach test, $(SUBVIEW_TESTS), \ $(if $(filter TestCuda_$(test).cpp, $(shell ls TestCuda_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > TestCuda_$(test).cpp); \ - $(shell echo "\#include " >> TestCuda_$(test).cpp); \ + $(shell echo "$(H)include " > TestCuda_$(test).cpp); \ + $(shell echo "$(H)include " >> TestCuda_$(test).cpp); \ )\ ) @@ -100,8 +100,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(foreach space, $(GPU_SPACES), \ tmp2 := $(foreach test, $(GPU_SPACE_TESTS), \ $(if $(filter Test$(space)_$(test).cpp, $(shell ls Test$(space)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(space)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(space)_$(test).cpp); \ )\ )\ ) @@ -277,8 +277,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) tmp := $(foreach space, $(GPU_SPACES), \ tmp2 := $(foreach test, $(GPU_SPACE_TESTS), \ $(if $(filter Test$(space)_$(test).cpp, $(shell ls Test$(space)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(space)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(space)_$(test).cpp); \ )\ )\ ) diff --git a/lib/kokkos/core/unit_test/TestAggregate.hpp b/lib/kokkos/core/unit_test/TestAggregate.hpp index 4f67b2eddc..f1316a7426 100644 --- a/lib/kokkos/core/unit_test/TestAggregate.hpp +++ b/lib/kokkos/core/unit_test/TestAggregate.hpp @@ -29,35 +29,31 @@ void TestViewAggregate() { value_type>; static_assert( - std::is_same >::value, - ""); + std::is_same >::value); using a32_traits = Kokkos::ViewTraits; using flat_traits = Kokkos::ViewTraits; static_assert( - std::is_same >::value, - ""); + std::is_same >::value); static_assert( - std::is_same::value, ""); - static_assert(a32_traits::rank == 2, ""); - static_assert(a32_traits::rank_dynamic == 2, ""); + std::is_same::value); + static_assert(a32_traits::rank == 2); + static_assert(a32_traits::rank_dynamic == 2); - static_assert(std::is_void::value, ""); - static_assert(flat_traits::rank == 3, ""); - static_assert(flat_traits::rank_dynamic == 2, ""); - static_assert(flat_traits::dimension::N2 == 32, ""); + static_assert(std::is_void::value); + static_assert(flat_traits::rank == 3); + static_assert(flat_traits::rank_dynamic == 2); + static_assert(flat_traits::dimension::N2 == 32); using a32_type = Kokkos::View **, DeviceType>; using a32_flat_type = typename a32_type::array_type; - static_assert(std::is_same::value, - ""); - static_assert(std::is_same::value, - ""); - static_assert(a32_type::rank == 2, ""); - static_assert(a32_flat_type::rank == 3, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(a32_type::rank == 2); + static_assert(a32_flat_type::rank == 3); a32_type x("test", 4, 5); a32_flat_type y(x); diff --git a/lib/kokkos/core/unit_test/TestArray.cpp b/lib/kokkos/core/unit_test/TestArray.cpp index d3bdc4f93f..673d0036b7 100644 --- a/lib/kokkos/core/unit_test/TestArray.cpp +++ b/lib/kokkos/core/unit_test/TestArray.cpp @@ -49,4 +49,28 @@ KOKKOS_FUNCTION constexpr bool test_array_structured_binding_support() { static_assert(test_array_structured_binding_support()); +template +KOKKOS_FUNCTION constexpr bool is_equal(L const& l, R const& r) { + if (std::size(l) != std::size(r)) return false; + + for (size_t i = 0; i != std::size(l); ++i) { + if (l[i] != r[i]) return false; + } + + return true; +} + +// Disable ctad test for intel versions < 2021, see issue #6702 +#if !defined(KOKKOS_COMPILER_INTEL) || KOKKOS_COMPILER_INTEL >= 2021 +KOKKOS_FUNCTION constexpr bool test_array_ctad() { + constexpr int x = 10; + constexpr Kokkos::Array a{1, 2, 3, 5, x}; + constexpr Kokkos::Array b{1, 2, 3, 5, x}; + + return std::is_same_v && is_equal(a, b); +} + +static_assert(test_array_ctad()); +#endif + } // namespace diff --git a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp index a5aebed413..cd7ba47aa1 100644 --- a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp +++ b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp @@ -368,6 +368,63 @@ bool atomic_op_test(T old_val, T update) { return result == 0; } +template +constexpr T relative_error_threshold = T(1.0e-15); + +template +bool atomic_op_test_rel(T old_val, T update) { + Kokkos::View op_data("op_data"); + Kokkos::deep_copy(op_data, old_val); + int result = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(0, 1), + KOKKOS_LAMBDA(int, int& local_result) { + auto fetch_result = + Op::atomic_op(&op_data(0), &op_data(1), &op_data(2), update); + T expected_val = Op::op(old_val, update); + Kokkos::memory_fence(); + if (expected_val == T(0)) { + if (fabs(op_data(0)) > relative_error_threshold) local_result += 1; + if (fabs(op_data(1)) > relative_error_threshold) local_result += 2; + if (fabs(op_data(2)) > relative_error_threshold) local_result += 4; + if (fetch_result.first != old_val) local_result += 8; + if (fabs(fetch_result.second) > relative_error_threshold) + local_result += 16; + } else { + if (fabs((op_data(0) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 1; + if (fabs((op_data(1) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 2; + if (fabs((op_data(2) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 4; + if (fetch_result.first != old_val) local_result += 8; + if (fabs((fetch_result.second - expected_val) / expected_val) > + relative_error_threshold) + local_result += 16; + } + }, + result); + if ((result & 1) != 0) + printf("atomic_%s failed with type %s\n", Op::name(), typeid(T).name()); + if ((result & 2) != 0) + printf("atomic_fetch_%s failed with type %s\n", Op::name(), + typeid(T).name()); + if ((result & 4) != 0) + printf("atomic_%s_fetch failed with type %s\n", Op::name(), + typeid(T).name()); + if ((result & 8) != 0) + printf("atomic_fetch_%s did not return old value with type %s\n", + Op::name(), typeid(T).name()); + if ((result & 16) != 0) + printf("atomic_%s_fetch did not return updated value with type %s\n", + Op::name(), typeid(T).name()); + + return result == 0; +} + //--------------------------------------------------- //--------------atomic_test_control------------------ //--------------------------------------------------- @@ -395,6 +452,12 @@ bool AtomicOperationsTestIntegralType(int old_val_in, int update_in, int test) { case 9: return atomic_op_test(old_val, update); case 10: return atomic_op_test(old_val, update); +#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) + // FIXME_NVHPC: atomic-fetch-shift operation fails due to NVHPC OpenACC + // compiler bugs, which are reported to NVIDIA. + case 11: return true; + case 12: return true; +#else case 11: return update_in >= 0 ? atomic_op_test( old_val, update) @@ -403,6 +466,7 @@ bool AtomicOperationsTestIntegralType(int old_val_in, int update_in, int test) { return update_in >= 0 ? atomic_op_test( old_val, update) : true; +#endif case 13: return atomic_op_test(old_val, update); case 14: @@ -440,10 +504,20 @@ bool AtomicOperationsTestNonIntegralType(int old_val_in, int update_in, case 2: return atomic_op_test(old_val, update); case 3: return atomic_op_test(old_val, update); case 4: return atomic_op_test(old_val, update); +#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) + // NVHPC may use different internal precisions for the device and host + // atomic operations. Therefore, relative errors are used to compare the + // host results and device results. + case 5: + return update != 0 ? atomic_op_test_rel( + old_val, update) + : true; +#else case 5: return update != 0 ? atomic_op_test(old_val, update) : true; +#endif case 6: return atomic_op_test(old_val, update); } diff --git a/lib/kokkos/core/unit_test/TestAtomics.hpp b/lib/kokkos/core/unit_test/TestAtomics.hpp index 2b40f12d0a..5f48e8c974 100644 --- a/lib/kokkos/core/unit_test/TestAtomics.hpp +++ b/lib/kokkos/core/unit_test/TestAtomics.hpp @@ -498,7 +498,9 @@ TEST(TEST_CATEGORY, atomics) { ASSERT_TRUE((TestAtomic::Loop(100, 2))); ASSERT_TRUE((TestAtomic::Loop(100, 3))); -#ifndef KOKKOS_ENABLE_OPENMPTARGET + // FIXME_OPENMPTARGET + // FIXME_OPENACC: atomic operations on composite types are not supported. +#if !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(KOKKOS_ENABLE_OPENACC) ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 1))); ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 2))); ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 3))); diff --git a/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp b/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp index 092e7cff61..2f3bcfe817 100644 --- a/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp +++ b/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp @@ -804,26 +804,26 @@ struct TestBitCastFunction { using Kokkos::bit_cast; if (bit_cast(123) != 123) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #1\n"); + Kokkos::printf("failed check #1\n"); } if (bit_cast(123u) != 123) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #2\n"); + Kokkos::printf("failed check #2\n"); } if (bit_cast(~0u) != ~0) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #3\n"); + Kokkos::printf("failed check #3\n"); } if constexpr (sizeof(int) == sizeof(float)) { if (!check(12.34f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #4\n"); + Kokkos::printf("failed check #4\n"); } } if constexpr (sizeof(unsigned long long) == sizeof(double)) { if (!check(123.456)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #5\n"); + Kokkos::printf("failed check #5\n"); } } @@ -848,11 +848,11 @@ struct TestBitCastFunction { } if (!(bit_cast(arr) == arr)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #6\n"); + Kokkos::printf("failed check #6\n"); } if (!(bit_cast(arr2) == arr2)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #7\n"); + Kokkos::printf("failed check #7\n"); } } }; diff --git a/lib/kokkos/core/unit_test/TestComplex.hpp b/lib/kokkos/core/unit_test/TestComplex.hpp index bcae2e1d81..5501a35b7f 100644 --- a/lib/kokkos/core/unit_test/TestComplex.hpp +++ b/lib/kokkos/core/unit_test/TestComplex.hpp @@ -451,17 +451,15 @@ TEST(TEST_CATEGORY, complex_issue_3867) { ASSERT_FLOAT_EQ(x.real(), y.real()); ASSERT_FLOAT_EQ(x.imag(), y.imag()); -#define CHECK_POW_COMPLEX_PROMOTION(ARGTYPE1, ARGTYPE2, RETURNTYPE) \ - static_assert( \ - std::is_same(), \ - std::declval()))>::value, \ - ""); \ - static_assert( \ - std::is_same(), \ - std::declval()))>::value, \ - ""); +#define CHECK_POW_COMPLEX_PROMOTION(ARGTYPE1, ARGTYPE2, RETURNTYPE) \ + static_assert( \ + std::is_same(), \ + std::declval()))>::value); \ + static_assert( \ + std::is_same(), \ + std::declval()))>::value); CHECK_POW_COMPLEX_PROMOTION(Kokkos::complex, long double, Kokkos::complex); diff --git a/lib/kokkos/core/unit_test/TestConcepts.hpp b/lib/kokkos/core/unit_test/TestConcepts.hpp index 476a884832..b85867bf63 100644 --- a/lib/kokkos/core/unit_test/TestConcepts.hpp +++ b/lib/kokkos/core/unit_test/TestConcepts.hpp @@ -22,42 +22,42 @@ using ExecutionSpace = TEST_EXECSPACE; using MemorySpace = typename ExecutionSpace::memory_space; using DeviceType = typename ExecutionSpace::device_type; -static_assert(Kokkos::is_execution_space{}, ""); -static_assert(Kokkos::is_execution_space{}, ""); -static_assert(!Kokkos::is_execution_space{}, ""); -static_assert(!Kokkos::is_execution_space{}, ""); +static_assert(Kokkos::is_execution_space{}); +static_assert(Kokkos::is_execution_space{}); +static_assert(!Kokkos::is_execution_space{}); +static_assert(!Kokkos::is_execution_space{}); -static_assert(Kokkos::is_memory_space{}, ""); -static_assert(Kokkos::is_memory_space{}, ""); -static_assert(!Kokkos::is_memory_space{}, ""); -static_assert(!Kokkos::is_memory_space{}, ""); +static_assert(Kokkos::is_memory_space{}); +static_assert(Kokkos::is_memory_space{}); +static_assert(!Kokkos::is_memory_space{}); +static_assert(!Kokkos::is_memory_space{}); -static_assert(Kokkos::is_device{}, ""); -static_assert(Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); +static_assert(Kokkos::is_device{}); +static_assert(Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); -static_assert(!Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); +static_assert(!Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); -static_assert(Kokkos::is_execution_space_v, ""); -static_assert(!Kokkos::is_execution_space_v, ""); +static_assert(Kokkos::is_execution_space_v); +static_assert(!Kokkos::is_execution_space_v); static_assert( - std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); + std::is_same>{}); +static_assert(std::is_same>{}); +static_assert(std::is_same>{}); +static_assert(std::is_same>{}); /*------------------------------------------------- begin test for team_handle concept diff --git a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp b/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp deleted file mode 100644 index 929c91db4e..0000000000 --- a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp +++ /dev/null @@ -1,491 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include - -#include - -#ifdef KOKKOS_ENABLE_OPENMP -#include -#endif -#include -#if !defined(KOKKOS_ENABLE_CUDA) || defined(__CUDACC__) - -namespace Test { - -namespace Impl { - -std::set delete_these; -void cleanup_memory() { - for (auto x : delete_these) { - delete[] x; - } -} - -char** init_kokkos_args(bool do_threads, bool do_numa, bool do_device, - bool do_other, bool do_tune, int& nargs, - Kokkos::InitArguments& init_args) { - nargs = (do_threads ? 1 : 0) + (do_numa ? 1 : 0) + (do_device ? 1 : 0) + - (do_other ? 4 : 0) + (do_tune ? 1 : 0); - - char** args_kokkos = new char*[nargs]; - const int max_args_size = 45; - for (int i = 0; i < nargs; i++) { - args_kokkos[i] = new char[max_args_size]; - delete_these.insert(args_kokkos[i]); - } - - int threads_idx = do_other ? 1 : 0; - int numa_idx = (do_other ? 3 : 0) + (do_threads ? 1 : 0); - int device_idx = - (do_other ? 3 : 0) + (do_threads ? 1 : 0) + (do_numa ? 1 : 0); - int tune_idx = (do_other ? 4 : 0) + (do_threads ? 1 : 0) + (do_numa ? 1 : 0) + - (do_device ? 1 : 0); - - if (do_threads) { - int nthreads = 3; - -#ifdef KOKKOS_ENABLE_OPENMP - if (omp_get_max_threads() < nthreads) { - nthreads = omp_get_max_threads(); - } -#elif defined(KOKKOS_ENABLE_HPX) - const int concurrency = std::thread::hardware_concurrency(); - if (concurrency < nthreads) { - nthreads = concurrency; - } -#endif - - if (Kokkos::hwloc::available()) { - if (Kokkos::hwloc::get_available_threads_per_core() < - static_cast(nthreads)) - nthreads = Kokkos::hwloc::get_available_threads_per_core() * - Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - nthreads = 1; - } -#endif - - init_args.num_threads = nthreads; - snprintf(args_kokkos[threads_idx], max_args_size, "--threads=%i", nthreads); - } - - if (do_numa) { - int numa = 1; - if (Kokkos::hwloc::available()) { - numa = Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - numa = 1; - } -#endif - - init_args.num_numa = numa; - snprintf(args_kokkos[numa_idx], max_args_size, "--numa=%i", numa); - } - - if (do_device) { - init_args.device_id = 0; - snprintf(args_kokkos[device_idx], max_args_size, "--device-id=%i", 0); - } - - if (do_other) { - snprintf(args_kokkos[0], max_args_size, "--dummyarg=1"); - snprintf(args_kokkos[threads_idx + (do_threads ? 1 : 0)], max_args_size, - "--dummy2arg"); - snprintf(args_kokkos[threads_idx + (do_threads ? 1 : 0) + 1], max_args_size, - "dummy3arg"); - snprintf(args_kokkos[device_idx + (do_device ? 1 : 0)], max_args_size, - "dummy4arg=1"); - } - - if (do_tune) { - init_args.tune_internals = true; - snprintf(args_kokkos[tune_idx], max_args_size, "--kokkos-tune-internals"); - } - - return args_kokkos; -} - -Kokkos::InitArguments init_initstruct(bool do_threads, bool do_numa, - bool do_device, bool do_tune) { - Kokkos::InitArguments args; - - if (do_threads) { - int nthreads = 3; - -#ifdef KOKKOS_ENABLE_OPENMP - if (omp_get_max_threads() < nthreads) { - nthreads = omp_get_max_threads(); - } -#elif defined(KOKKOS_ENABLE_HPX) - const int concurrency = std::thread::hardware_concurrency(); - if (concurrency < nthreads) { - nthreads = concurrency; - } -#endif - - if (Kokkos::hwloc::available()) { - if (Kokkos::hwloc::get_available_threads_per_core() < - static_cast(nthreads)) { - nthreads = Kokkos::hwloc::get_available_threads_per_core() * - Kokkos::hwloc::get_available_numa_count(); - } - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - nthreads = 1; - } -#endif - - args.num_threads = nthreads; - } - - if (do_numa) { - int numa = 1; - if (Kokkos::hwloc::available()) { - numa = Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - numa = 1; - } -#endif - - args.num_numa = numa; - } - - if (do_device) { - args.device_id = 0; - } - - if (do_tune) { - args.tune_internals = true; - } - - return args; -} - -void check_correct_initialization(const Kokkos::InitArguments& argstruct) { - ASSERT_EQ(Kokkos::DefaultExecutionSpace::impl_is_initialized(), 1); - ASSERT_EQ(Kokkos::HostSpace::execution_space::impl_is_initialized(), 1); - - // Figure out the number of threads the HostSpace ExecutionSpace should have - // initialized to. - int expected_nthreads = argstruct.num_threads; - -#ifdef KOKKOS_ENABLE_OPENMP - if (std::is_same::value) { - // use openmp default num threads - if (expected_nthreads < 0 || - (expected_nthreads == 0 && !Kokkos::hwloc::available())) { - expected_nthreads = omp_get_max_threads(); - } - // use hwloc if available - else if (expected_nthreads == 0 && Kokkos::hwloc::available()) { - expected_nthreads = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - } - } -#endif - - if (expected_nthreads < 1) { - if (Kokkos::hwloc::available()) { - expected_nthreads = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - } else { - expected_nthreads = 1; - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - expected_nthreads = 1; - } -#endif - -#ifdef KOKKOS_ENABLE_HPX - // HPX uses all cores on machine by default. Skip this test. - if (std::is_same::value || - std::is_same::value) { - return; - } -#endif - } - - int expected_numa = argstruct.num_numa; - - if (expected_numa < 1) { - if (Kokkos::hwloc::available()) { - expected_numa = Kokkos::hwloc::get_available_numa_count(); - } else { - expected_numa = 1; - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) - expected_numa = 1; -#endif - } - - ASSERT_EQ(Kokkos::HostSpace::execution_space().impl_thread_pool_size(), - expected_nthreads); - -#ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - int device; - cudaGetDevice(&device); - - int expected_device = argstruct.device_id; - if (argstruct.device_id < 0) { - expected_device = Kokkos::Cuda().cuda_device(); - } - - ASSERT_EQ(expected_device, device); - } -#endif - ASSERT_EQ(argstruct.tune_internals, Kokkos::tune_internals()); -} - -// TODO: Add check whether correct number of threads are actually started. -void test_no_arguments() { - Kokkos::initialize(); - check_correct_initialization(Kokkos::InitArguments()); - Kokkos::finalize(); -} - -void test_commandline_args(int nargs, char** args, - const Kokkos::InitArguments& argstruct) { - Kokkos::initialize(nargs, args); - check_correct_initialization(argstruct); - Kokkos::finalize(); -} - -void test_initstruct_args(const Kokkos::InitArguments& args) { - Kokkos::initialize(args); - check_correct_initialization(args); - Kokkos::finalize(); -} - -} // namespace Impl - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_01 -TEST(defaultdevicetypeinit, no_args) { Impl::test_no_arguments(); } -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_02 -TEST(defaultdevicetypeinit, commandline_args_empty) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, false, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_03 -TEST(defaultdevicetypeinit, commandline_args_other) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, false, true, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_04 -TEST(defaultdevicetypeinit, commandline_args_nthreads) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(true, false, false, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_05 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, false, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_06 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_07 -TEST(defaultdevicetypeinit, commandline_args_nthreads_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, false, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_08 -TEST(defaultdevicetypeinit, commandline_args_numa_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(false, true, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_09 -TEST(defaultdevicetypeinit, commandline_args_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, true, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_10 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device_other) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, true, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_11 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device_other_tune) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, true, true, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_12 -TEST(defaultdevicetypeinit, initstruct_default) { - Kokkos::InitArguments args; - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_13 -TEST(defaultdevicetypeinit, initstruct_nthreads) { - Kokkos::InitArguments args = Impl::init_initstruct(true, false, false, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_14 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, false, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_15 -TEST(defaultdevicetypeinit, initstruct_device) { - Kokkos::InitArguments args = Impl::init_initstruct(false, false, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_16 -TEST(defaultdevicetypeinit, initstruct_nthreads_device) { - Kokkos::InitArguments args = Impl::init_initstruct(true, false, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_17 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa_device) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_18 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa_device_tune) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, true, true); - Impl::test_initstruct_args(args); -} -#endif - -} // namespace Test - -#endif diff --git a/lib/kokkos/core/unit_test/TestDeviceAndThreads.py b/lib/kokkos/core/unit_test/TestDeviceAndThreads.py index 1d3ff8eea7..63d26ad41a 100644 --- a/lib/kokkos/core/unit_test/TestDeviceAndThreads.py +++ b/lib/kokkos/core/unit_test/TestDeviceAndThreads.py @@ -17,6 +17,8 @@ import unittest import subprocess +import platform +import os PREFIX = "$" EXECUTABLE = "$" @@ -30,7 +32,22 @@ def GetFlag(flag, *extra_args): return int(p.stdout) def GetNumThreads(max_threads): - for x in [1, 2, 3, 5, 7]: + args = [] + name = platform.system() + if name == 'Darwin': + args = ['sysctl', '-n', 'hw.physicalcpu_max'] + elif name == 'Linux': + args = ['nproc', '--all'] + else: + args = ['wmic', 'cpu', 'get', 'NumberOfCores'] + + result = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + output = result.stdout.decode('utf-8') + phys_cores_count = int(output) + looplist = [1] + [i*phys_cores_count for i in [1,2,3,4,5,6,7]] \ + if GetFlag("hwloc_enabled") else [1,2,3,4,5] + + for x in looplist: if x >= max_threads: break yield x @@ -48,13 +65,25 @@ class KokkosInitializationTestCase(unittest.TestCase): "num_threads", "--kokkos-num-threads={}".format(num_threads))) + def test_num_devices(self): + if "KOKKOS_VISIBLE_DEVICES" in os.environ: + self.skipTest("KOKKOS_VISIBLE_DEVICES environment variable is set") + num_devices = GetFlag("num_devices") + self.assertNotEqual(num_devices, 0) + if num_devices == -1: + self.skipTest("no device backend enabled") + self.assertGreaterEqual(num_devices, 1) + def test_device_id(self): - device_count = GetFlag("device_count") - if device_count == 0: - self.skipTest("no device detected") + if "KOKKOS_VISIBLE_DEVICES" in os.environ: + self.skipTest("KOKKOS_VISIBLE_DEVICES environment variable is set") + num_devices = GetFlag("num_devices") + if num_devices == -1: + self.assertEqual(-1, GetFlag("device_id")) + self.skipTest("no device backend enabled") # by default use the first GPU available for execution self.assertEqual(0, GetFlag("device_id")) - for device_id in range(device_count): + for device_id in range(num_devices): self.assertEqual( device_id, GetFlag( diff --git a/lib/kokkos/core/unit_test/TestExecutionSpace.hpp b/lib/kokkos/core/unit_test/TestExecutionSpace.hpp index 6f0f159c17..983a5975af 100644 --- a/lib/kokkos/core/unit_test/TestExecutionSpace.hpp +++ b/lib/kokkos/core/unit_test/TestExecutionSpace.hpp @@ -25,13 +25,7 @@ struct CheckClassWithExecutionSpaceAsDataMemberIsCopyable { Kokkos::DefaultExecutionSpace device; Kokkos::DefaultHostExecutionSpace host; - KOKKOS_FUNCTION void operator()(int, int& e) const { - // not actually doing anything useful, mostly checking that - // ExecutionSpace::in_parallel() is callable - if (static_cast(device.in_parallel()) < 0) { - ++e; - } - } + KOKKOS_FUNCTION void operator()(int i, int& e) const { e += i; } CheckClassWithExecutionSpaceAsDataMemberIsCopyable() { int errors; diff --git a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp index c024526111..e58324144e 100644 --- a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp +++ b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp @@ -59,16 +59,15 @@ void test_functor_analysis() { using R01 = typename A01::Reducer; - static_assert(std::is_void::value, ""); - static_assert(std::is_void::value, ""); - static_assert(std::is_void::value, ""); - static_assert(std::is_same::value, - ""); + static_assert(std::is_void::value); + static_assert(std::is_void::value); + static_assert(std::is_void::value); + static_assert(std::is_same::value); - static_assert(!A01::has_join_member_function, ""); - static_assert(!A01::has_init_member_function, ""); - static_assert(!A01::has_final_member_function, ""); - static_assert(A01::StaticValueSize == 0, ""); + static_assert(!A01::has_join_member_function); + static_assert(!A01::has_init_member_function); + static_assert(!A01::has_final_member_function); + static_assert(A01::StaticValueSize == 0); ASSERT_EQ(R01(c01).length(), 0); //------------------------------ @@ -78,16 +77,15 @@ void test_functor_analysis() { Kokkos::RangePolicy, decltype(c02), void>; using R02 = typename A02::Reducer; - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, - ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); - static_assert(!A02::has_join_member_function, ""); - static_assert(!A02::has_init_member_function, ""); - static_assert(!A02::has_final_member_function, ""); - static_assert(A02::StaticValueSize == sizeof(double), ""); + static_assert(!A02::has_join_member_function); + static_assert(!A02::has_init_member_function); + static_assert(!A02::has_final_member_function); + static_assert(A02::StaticValueSize == sizeof(double)); ASSERT_EQ(R02(c02).length(), 1); //------------------------------ @@ -99,23 +97,19 @@ void test_functor_analysis() { using R03 = typename A03::Reducer; static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type>::value); static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type*>::value); static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type&>::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); - static_assert(A03::has_join_member_function, ""); - static_assert(A03::has_init_member_function, ""); - static_assert(!A03::has_final_member_function, ""); - static_assert( - A03::StaticValueSize == sizeof(TestFunctorAnalysis_03::value_type), ""); + static_assert(A03::has_join_member_function); + static_assert(A03::has_init_member_function); + static_assert(!A03::has_final_member_function); + static_assert(A03::StaticValueSize == + sizeof(TestFunctorAnalysis_03::value_type)); ASSERT_EQ(R03(c03).length(), 1); //------------------------------ diff --git a/lib/kokkos/core/unit_test/TestHalfOperators.hpp b/lib/kokkos/core/unit_test/TestHalfOperators.hpp index 752e3b5081..c69cdd5703 100644 --- a/lib/kokkos/core/unit_test/TestHalfOperators.hpp +++ b/lib/kokkos/core/unit_test/TestHalfOperators.hpp @@ -268,96 +268,6 @@ enum OP_TESTS { N_OP_TESTS }; -// volatile-qualified parameter type 'volatile half_type' is deprecated -#if !defined(KOKKOS_ENABLE_CXX20) && !defined(KOKKOS_ENABLE_CXX23) -template -struct Functor_TestHalfVolatileOperators { - volatile half_type h_lhs, h_rhs; - view_type actual_lhs, expected_lhs; - double d_lhs, d_rhs; - Functor_TestHalfVolatileOperators(volatile half_type lhs = half_type(0), - volatile half_type rhs = half_type(0)) - : h_lhs(lhs), h_rhs(rhs) { - actual_lhs = view_type("actual_lhs", N_OP_TESTS); - expected_lhs = view_type("expected_lhs", N_OP_TESTS); - half_type nv_tmp; - nv_tmp = h_lhs; - d_lhs = static_cast(nv_tmp); - nv_tmp = h_rhs; - d_rhs = static_cast(nv_tmp); - if (std::is_same::value) { - auto run_on_host = *this; - run_on_host(0); - } else { - Kokkos::parallel_for("Test::Functor_TestHalfVolatileOperators", - Kokkos::RangePolicy(0, 1), *this); - } - } - - KOKKOS_FUNCTION - void operator()(int) const { - volatile half_type tmp_lhs; - half_type nv_tmp; - - // Initialze output views to catch missing test invocations - for (int i = 0; i < N_OP_TESTS; ++i) { - actual_lhs(i) = 1; - expected_lhs(i) = -1; - } - - nv_tmp = h_lhs; - actual_lhs(ASSIGN) = static_cast(nv_tmp); - expected_lhs(ASSIGN) = d_lhs; - - actual_lhs(LT_H_H) = h_lhs < h_rhs; - expected_lhs(LT_H_H) = d_lhs < d_rhs; - - actual_lhs(LE_H_H) = h_lhs <= h_rhs; - expected_lhs(LE_H_H) = d_lhs <= d_rhs; - - actual_lhs(NEQ) = h_lhs != h_rhs; - expected_lhs(NEQ) = d_lhs != d_rhs; - - actual_lhs(GT_H_H) = h_lhs > h_rhs; - expected_lhs(GT_H_H) = d_lhs > d_rhs; - - actual_lhs(GE_H_H) = h_lhs >= h_rhs; - expected_lhs(GE_H_H) = d_lhs >= d_rhs; - - actual_lhs(EQ) = h_lhs == h_rhs; - expected_lhs(EQ) = d_lhs == d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs += h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CADD_H_H) = static_cast(nv_tmp); - expected_lhs(CADD_H_H) = d_lhs; - expected_lhs(CADD_H_H) += d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs -= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CSUB_H_H) = static_cast(nv_tmp); - expected_lhs(CSUB_H_H) = d_lhs; - expected_lhs(CSUB_H_H) -= d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs *= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CMUL_H_H) = static_cast(nv_tmp); - expected_lhs(CMUL_H_H) = d_lhs; - expected_lhs(CMUL_H_H) *= d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs /= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CDIV_H_H) = static_cast(nv_tmp); - expected_lhs(CDIV_H_H) = d_lhs; - expected_lhs(CDIV_H_H) /= d_rhs; - } -}; -#endif - template struct Functor_TestHalfOperators { half_type h_lhs, h_rhs; @@ -995,33 +905,6 @@ void __test_half_operators(half_type h_lhs, half_type h_rhs) { static_cast(epsilon)); } -// volatile-qualified parameter type 'volatile half_type' is deprecated -#if !defined(KOKKOS_ENABLE_CXX20) && !defined(KOKKOS_ENABLE_CXX23) - // Test partial volatile support - volatile half_type _h_lhs = h_lhs; - volatile half_type _h_rhs = h_rhs; - Functor_TestHalfVolatileOperators f_volatile_device( - _h_lhs, _h_rhs); - Functor_TestHalfVolatileOperators f_volatile_host( - _h_lhs, _h_rhs); - - ExecutionSpace().fence(); - Kokkos::deep_copy(f_device_actual_lhs, f_device.actual_lhs); - Kokkos::deep_copy(f_device_expected_lhs, f_device.expected_lhs); - for (int op_test = 0; op_test < N_OP_TESTS; op_test++) { - // printf("op_test = %d\n", op_test); - if (op_test == ASSIGN || op_test == LT_H_H || op_test == LE_H_H || - op_test == NEQ || op_test == EQ || op_test == GT_H_H || - op_test == GE_H_H || op_test == CADD_H_H || op_test == CSUB_H_H || - op_test == CMUL_H_H || op_test == CDIV_H_H) { - ASSERT_NEAR(f_device_actual_lhs(op_test), f_device_expected_lhs(op_test), - static_cast(epsilon)); - ASSERT_NEAR(f_host.actual_lhs(op_test), f_host.expected_lhs(op_test), - static_cast(epsilon)); - } - } -#endif - // is_trivially_copyable is false with the addition of explicit // copy constructors that are required for supporting reductions // ASSERT_TRUE(std::is_trivially_copyable::value); diff --git a/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp b/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp index 3ee2ff5205..467b9ad157 100644 --- a/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp +++ b/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp @@ -37,7 +37,7 @@ template struct CheckAccessStoredPointerAndDereferenceOnDevice { SmartPtr m_device_ptr; using ElementType = typename SmartPtr::element_type; - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); CheckAccessStoredPointerAndDereferenceOnDevice(SmartPtr device_ptr) : m_device_ptr(device_ptr) { diff --git a/lib/kokkos/core/unit_test/TestInitializationSettings.cpp b/lib/kokkos/core/unit_test/TestInitializationSettings.cpp index f5be0e47aa..40dc3f11df 100644 --- a/lib/kokkos/core/unit_test/TestInitializationSettings.cpp +++ b/lib/kokkos/core/unit_test/TestInitializationSettings.cpp @@ -20,30 +20,6 @@ namespace { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void take_initialization_settings(Kokkos::InitializationSettings const&) {} - -TEST(defaultdevicetype, - init_arguments_implicit_conversion_to_initialization_settings) { - Kokkos::InitArguments arguments; - take_initialization_settings(arguments); // check that conversion is implicit - arguments.device_id = 1; - arguments.tune_internals = true; - Kokkos::InitializationSettings settings{arguments}; - EXPECT_FALSE(settings.has_num_threads()); - EXPECT_TRUE(settings.has_device_id()); - EXPECT_EQ(settings.get_device_id(), 1); - EXPECT_FALSE(settings.has_num_devices()); - EXPECT_FALSE(settings.has_skip_device()); - EXPECT_FALSE(settings.has_disable_warnings()); - EXPECT_TRUE(settings.has_tune_internals()); - EXPECT_TRUE(settings.get_tune_internals()); - EXPECT_FALSE(settings.has_tools_help()); - EXPECT_FALSE(settings.has_tools_libs()); - EXPECT_FALSE(settings.has_tools_args()); -} -#endif - TEST(defaultdevicetype, initialization_settings) { auto const settings = Kokkos::InitializationSettings() .set_num_threads(255) @@ -52,8 +28,6 @@ TEST(defaultdevicetype, initialization_settings) { EXPECT_TRUE(settings.has_num_threads()); EXPECT_EQ(settings.get_num_threads(), 255); EXPECT_FALSE(settings.has_device_id()); - EXPECT_FALSE(settings.has_num_devices()); - EXPECT_FALSE(settings.has_skip_device()); EXPECT_TRUE(settings.has_disable_warnings()); EXPECT_FALSE(settings.get_disable_warnings()); EXPECT_FALSE(settings.has_tune_internals()); @@ -75,8 +49,6 @@ constexpr bool test_initialization_settings_getter() { TYPE>::value); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(num_threads, int); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(device_id, int); - CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(num_devices, int); - CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(skip_device, int); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(disable_warnings, bool); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(tune_internals, bool); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(tools_help, bool); diff --git a/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp b/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp index 24cf52aa70..efe4a2307a 100644 --- a/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp +++ b/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp @@ -36,9 +36,8 @@ KOKKOS_FUNCTION constexpr MyErrorCode operator|(MyErrorCode lhs, } static_assert((no_error | error_operator_plus_equal_volatile) == - error_operator_plus_equal_volatile, - ""); -static_assert((error_join_volatile | error_operator_plus_equal) == 0b101, ""); + error_operator_plus_equal_volatile); +static_assert((error_join_volatile | error_operator_plus_equal) == 0b101); struct MyJoinBackCompatValueType { MyErrorCode err = no_error; diff --git a/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp b/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp new file mode 100644 index 0000000000..b2c3d021c3 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp @@ -0,0 +1,138 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +namespace { + +struct TestMDRangePolicyCTAD { + template + static void maybe_unused(Ts&&...) {} + + struct SomeExecutionSpace { + using execution_space = SomeExecutionSpace; + using size_type = size_t; + }; + static_assert(Kokkos::is_execution_space_v); + + struct ImplicitlyConvertibleToDefaultExecutionSpace { + [[maybe_unused]] operator Kokkos::DefaultExecutionSpace() const { + return Kokkos::DefaultExecutionSpace(); + } + }; + static_assert(!Kokkos::is_execution_space_v< + ImplicitlyConvertibleToDefaultExecutionSpace>); + + [[maybe_unused]] static inline Kokkos::DefaultExecutionSpace des; + [[maybe_unused]] static inline ImplicitlyConvertibleToDefaultExecutionSpace + notEs; + [[maybe_unused]] static inline SomeExecutionSpace ses; + + [[maybe_unused]] static inline int t[5]; + [[maybe_unused]] static inline int64_t tt[5]; + [[maybe_unused]] static inline Kokkos::Array a; + [[maybe_unused]] static inline Kokkos::Array aa; + [[maybe_unused]] static inline int64_t i64; + + // Workaround for nvc++ (CUDA-11.7-NVHPC) ignoring [[maybe_unused]] on + // ImplicitlyConvertibleToDefaultExecutionSpace::operator + // Kokkos::DefaultExecutionSpace() const + [[maybe_unused]] static inline Kokkos::DefaultExecutionSpace notEsToDes = + notEs; + + // Workaround for HIP-ROCm-5.2 "declared but never referenced" + TestMDRangePolicyCTAD() { + maybe_unused(des, notEs, ses, t, tt, a, aa, notEsToDes, i64); + } + + // MDRangePolicy with C array parameters + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(t, t))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(t, t, tt))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, t, tt))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, t, t))>); + + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, t, t))>); + + // MDRangePolicy with Kokkos::initializer_list parameters + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + {1, 2, 3, 4, 5, 6}, {1, 2, 3, 4, 5, 6}))>); + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + {1, 2, 3, 4, 5, 6}, {1, 2, 3, 4, 5, 6}, + {i64, i64, i64, i64, i64, i64}))>); + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + des, {1, 2, 3, 4, 5, 6}, + {i64, i64, i64, i64, i64, i64}))>); + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, {1, 2, 3, 4, 5, 6}, + {1, 2, 3, 4, 5, 6}))>); + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(ses, {1, 2, 3, 4, 5, 6}, + {1, 2, 3, 4, 5, 6}))>); + + // MDRangePolicy with Kokkos::Array parameters + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(a, a, aa))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, a, a, aa))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, a, a, aa))>); + + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, a, a))>); + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, a, a, aa))>); +}; + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp index f577f415e7..6f241b45d4 100644 --- a/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp @@ -18,6 +18,8 @@ #include +#include + namespace { template @@ -86,12 +88,56 @@ TEST(TEST_CATEGORY_DEATH, policy_bounds_unsafe_narrowing_conversions) { using Policy = Kokkos::MDRangePolicy, Kokkos::IndexType>; + std::string msg = + "Kokkos::MDRangePolicy bound type error: an unsafe implicit conversion " + "is " + "performed on a bound (-1) in dimension (0), which may not preserve its " + "original value.\n"; + std::string expected = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - ASSERT_DEATH( - { - (void)Policy({-1, 0}, {2, 3}); - }, - "unsafe narrowing conversion"); + ASSERT_DEATH({ (void)Policy({-1, 0}, {2, 3}); }, expected); +} + +TEST(TEST_CATEGORY_DEATH, policy_invalid_bounds) { + using Policy = Kokkos::MDRangePolicy>; + + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + + auto [dim0, dim1] = (Policy::inner_direction == Kokkos::Iterate::Right) + ? std::make_pair(1, 0) + : std::make_pair(0, 1); + std::string msg1 = + "Kokkos::MDRangePolicy bounds error: The lower bound (100) is greater " + "than its upper bound (90) in dimension " + + std::to_string(dim0) + ".\n"; + + std::string msg2 = + "Kokkos::MDRangePolicy bounds error: The lower bound (100) is greater " + "than its upper bound (90) in dimension " + + std::to_string(dim1) + ".\n"; + +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + // escape the parentheses in the regex to match the error message + msg1 = std::regex_replace(msg1, std::regex("\\(|\\)"), "\\$&"); + (void)msg2; + ASSERT_DEATH({ (void)Policy({100, 100}, {90, 90}); }, msg1); +#else + if (!Kokkos::show_warnings()) { + GTEST_SKIP() << "Kokkos warning messages are disabled"; + } + + ::testing::internal::CaptureStderr(); + (void)Policy({100, 100}, {90, 90}); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg1 + msg2); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg1; + (void)msg2; +#endif + +#endif } #endif diff --git a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp index 424ba05a90..ad035d4e4b 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp @@ -287,21 +287,20 @@ struct FloatingPointComparison { public: template - KOKKOS_FUNCTION bool compare_near_zero(FPT const& fpv, double ulp) const { + KOKKOS_FUNCTION bool compare_near_zero(FPT const& fpv, int ulp) const { auto abs_tol = eps(fpv) * ulp; bool ar = absolute(fpv) < abs_tol; if (!ar) { Kokkos::printf("absolute value exceeds tolerance [|%e| > %e]\n", - (double)fpv, abs_tol); + (double)fpv, (double)abs_tol); } return ar; } template - KOKKOS_FUNCTION bool compare(Lhs const& lhs, Rhs const& rhs, - double ulp) const { + KOKKOS_FUNCTION bool compare(Lhs const& lhs, Rhs const& rhs, int ulp) const { if (lhs == 0) { return compare_near_zero(rhs, ulp); } else if (rhs == 0) { @@ -315,7 +314,7 @@ struct FloatingPointComparison { bool ar = abs_diff == 0 || rel_diff < rel_tol; if (!ar) { Kokkos::printf("relative difference exceeds tolerance [%e > %e]\n", - (double)rel_diff, rel_tol); + (double)rel_diff, (double)rel_tol); } return ar; @@ -348,7 +347,7 @@ struct math_function_name; } \ MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathUnaryFunction_##FUNC; \ template <> \ @@ -373,7 +372,7 @@ struct math_function_name; math_unary_function_return_type_t>::value); \ return REF_FUNC; \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathUnaryFunction_##FUNC; \ template <> \ @@ -477,7 +476,7 @@ DEFINE_UNARY_FUNCTION_EVAL(logb, 2); } \ MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathBinaryFunction_##FUNC; \ template <> \ @@ -511,7 +510,7 @@ DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); math_ternary_function_return_type_t>::value); \ return std::FUNC(x, y, z); \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk3_##FUNC = MathTernaryFunction_##FUNC; \ template <> \ @@ -1307,12 +1306,12 @@ struct TestAbsoluteValueFunction { if (abs(static_cast(4.f)) != static_cast(4.f) || abs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed abs(KE::half_t)\n"); + Kokkos::printf("failed abs(KE::half_t)\n"); } if (abs(static_cast(4.f)) != static_cast(4.f) || abs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed abs(KE::bhalf_t)\n"); + Kokkos::printf("failed abs(KE::bhalf_t)\n"); } if (abs(5.) != 5. || abs(-5.) != 5.) { ++e; @@ -1332,19 +1331,17 @@ struct TestAbsoluteValueFunction { Kokkos::printf("failed abs(floating_point) special values\n"); } - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); static_assert(std::is_same(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert(std::is_same(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); #endif } }; @@ -1365,26 +1362,26 @@ struct TestFloatingPointAbsoluteValueFunction { using Kokkos::fabs; if (fabs(4.f) != 4.f || fabs(-4.f) != 4.f) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(float)\n"); + Kokkos::printf("failed fabs(float)\n"); } if (fabs(static_cast(4.f)) != static_cast(4.f) || fabs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(KE::half_t)\n"); + Kokkos::printf("failed fabs(KE::half_t)\n"); } if (fabs(static_cast(4.f)) != static_cast(4.f) || fabs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(KE::bhalf_t)\n"); + Kokkos::printf("failed fabs(KE::bhalf_t)\n"); } if (fabs(5.) != 5. || fabs(-5.) != 5.) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(double)\n"); + Kokkos::printf("failed fabs(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (fabs(6.l) != 6.l || fabs(-6.l) != 6.l) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(long double)\n"); + Kokkos::printf("failed fabs(long double)\n"); } #endif // special values @@ -1392,8 +1389,7 @@ struct TestFloatingPointAbsoluteValueFunction { using Kokkos::isnan; if (fabs(-0.) != 0. || !isinf(fabs(-INFINITY)) || !isnan(fabs(-NAN))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( - "failed fabs(floating_point) special values\n"); + Kokkos::printf("failed fabs(floating_point) special values\n"); } static_assert(std::is_same(4.f))), @@ -1425,7 +1421,7 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { if (!compare(fmod(6.2f, 4.f), 2.2f, 1) && !compare(fmod(-6.2f, 4.f), -2.2f, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(float)\n"); + Kokkos::printf("failed fmod(float)\n"); } if (!compare( fmod(static_cast(6.2f), static_cast(4.f)), @@ -1434,7 +1430,7 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { fmod(static_cast(-6.2f), static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(KE::half_t)\n"); + Kokkos::printf("failed fmod(KE::half_t)\n"); } if (!compare( fmod(static_cast(6.2f), static_cast(4.f)), @@ -1443,17 +1439,17 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(KE::bhalf_t)\n"); + Kokkos::printf("failed fmod(KE::bhalf_t)\n"); } if (!compare(fmod(6.2, 4.), 2.2, 1) && !compare(fmod(-6.2, 4.), -2.2, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(double)\n"); + Kokkos::printf("failed fmod(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (!compare(fmod(6.2l, 4.l), 2.2l, 1) && !compare(fmod(-6.2l, 4.l), -2.2l, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(long double)\n"); + Kokkos::printf("failed fmod(long double)\n"); } #endif // special values @@ -1462,23 +1458,19 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { if (!isinf(fmod(-KE::infinity::value, 1.f)) && !isnan(fmod(-KE::quiet_NaN::value, 1.f))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( - "failed fmod(floating_point) special values\n"); + Kokkos::printf("failed fmod(floating_point) special values\n"); } static_assert(std::is_same(4.f), static_cast(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert(std::is_same(4.f), static_cast(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, - ""); + static_assert(std::is_same::value); #endif } }; @@ -1502,7 +1494,7 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { if (!compare(remainder(6.2f, 4.f), 2.2f, 2) && !compare(remainder(-6.2f, 4.f), 2.2f, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(float)\n"); + Kokkos::printf("failed remainder(float)\n"); } if (!compare(remainder(static_cast(6.2f), static_cast(4.f)), @@ -1511,7 +1503,7 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(KE::half_t)\n"); + Kokkos::printf("failed remainder(KE::half_t)\n"); } if (!compare(remainder(static_cast(6.2f), static_cast(4.f)), @@ -1520,18 +1512,18 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(KE::bhalf_t)\n"); + Kokkos::printf("failed remainder(KE::bhalf_t)\n"); } if (!compare(remainder(6.2, 4.), 2.2, 2) && !compare(remainder(-6.2, 4.), 2.2, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(double)\n"); + Kokkos::printf("failed remainder(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (!compare(remainder(6.2l, 4.l), 2.2l, 1) && !compare(remainder(-6.2l, 4.l), -2.2l, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(long double)\n"); + Kokkos::printf("failed remainder(long double)\n"); } #endif // special values @@ -1540,26 +1532,23 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { if (!isinf(remainder(-KE::infinity::value, 1.f)) && !isnan(remainder(-KE::quiet_NaN::value, 1.f))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( + Kokkos::printf( "failed remainder(floating_point) special values\n"); } static_assert( std::is_same(4.f), static_cast(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert( std::is_same(4.f), static_cast(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, - ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS static_assert( - std::is_same::value, ""); + std::is_same::value); #endif } }; @@ -1765,7 +1754,7 @@ struct TestIsNaN { #endif ) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed isnan(KE::half_t)\n"); + Kokkos::printf("failed isnan(KE::half_t)\n"); } if (isnan(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 @@ -1775,7 +1764,7 @@ struct TestIsNaN { #endif ) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed isnan(KE::bhalf_t)\n"); + Kokkos::printf("failed isnan(KE::bhalf_t)\n"); } if (isnan(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 @@ -1801,11 +1790,11 @@ struct TestIsNaN { Kokkos::printf("failed isnan(floating_point) special values\n"); } - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); #endif } }; diff --git a/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp index 06c84c7513..7969dc8686 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp @@ -1213,13 +1213,13 @@ struct TestComplexBesselI0K0Function { } EXPECT_EQ(h_ref_cbk0(0), h_cbk0(0)); - int upper_limit = N; + int upper_limit_0 = N; // FIXME_SYCL Failing for Intel GPUs, 19 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 19; + upper_limit_0 = 19; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_0; i++) { EXPECT_LE(Kokkos::abs(h_cbk0(i) - h_ref_cbk0(i)), Kokkos::abs(h_ref_cbk0(i)) * 1e-13) << "at index " << i; @@ -1462,13 +1462,13 @@ struct TestComplexBesselI1K1Function { } EXPECT_EQ(h_ref_cbk1(0), h_cbk1(0)); - int upper_limit = N; + int upper_limit_1 = N; // FIXME_SYCL Failing for Intel GPUs, 8 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 8; + upper_limit_1 = 8; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_1; i++) { EXPECT_LE(Kokkos::abs(h_cbk1(i) - h_ref_cbk1(i)), Kokkos::abs(h_ref_cbk1(i)) * 1e-13) << "at index " << i; @@ -1718,20 +1718,26 @@ struct TestComplexBesselH1Function { ((HIP_VERSION_MAJOR == 5) && \ !((HIP_VERSION_MINOR == 5) || (HIP_VERSION_MINOR == 6))) EXPECT_EQ(h_ref_ch10(0), h_ch10(0)); - for (int i = 1; i < N; i++) { + int upper_limit_10 = N; +// FIXME_SYCL Failing for Intel GPUs, 17 is the first failing test case +#if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + upper_limit_10 = 17; +#endif + for (int i = 1; i < upper_limit_10; i++) { EXPECT_LE(Kokkos::abs(h_ch10(i) - h_ref_ch10(i)), Kokkos::abs(h_ref_ch10(i)) * 1e-13) << "at index " << i; } EXPECT_EQ(h_ref_ch11(0), h_ch11(0)); - int upper_limit = N; - // FIXME_SYCL Failing for Intel GPUs, 16 is the first failing test case + int upper_limit_11 = N; + // FIXME_SYCL Failing for Intel GPUs, 2 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 16; + upper_limit_11 = 2; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_11; i++) { EXPECT_LE(Kokkos::abs(h_ch11(i) - h_ref_ch11(i)), Kokkos::abs(h_ref_ch11(i)) * 1e-13) << "at index " << i; @@ -1912,19 +1918,26 @@ struct TestComplexBesselH2Function { ((HIP_VERSION_MAJOR == 5) && \ !((HIP_VERSION_MINOR == 5) || (HIP_VERSION_MINOR == 6))) EXPECT_EQ(h_ref_ch20(0), h_ch20(0)); - for (int i = 1; i < N; i++) { + int upper_limit_20 = N; +// FIXME_SYCL Failing for Intel GPUs, 16 is the first failing test case +#if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + upper_limit_20 = 16; +#endif + for (int i = 1; i < upper_limit_20; i++) { EXPECT_LE(Kokkos::abs(h_ch20(i) - h_ref_ch20(i)), - Kokkos::abs(h_ref_ch20(i)) * 1e-13); + Kokkos::abs(h_ref_ch20(i)) * 1e-13) + << "at index " << i; } EXPECT_EQ(h_ref_ch21(0), h_ch21(0)); - int upper_limit = N; - // FIXME_SYCL Failing for Intel GPUs, 17 is the first failing test case + int upper_limit_21 = N; + // FIXME_SYCL Failing for Intel GPUs, 1 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 17; + upper_limit_21 = 1; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_21; i++) { EXPECT_LE(Kokkos::abs(h_ch21(i) - h_ref_ch21(i)), Kokkos::abs(h_ref_ch21(i)) * 1e-13) << "at index " << i; @@ -1954,31 +1967,61 @@ TEST(TEST_CATEGORY, mathspecialfunc_errorfunc) { #endif TEST(TEST_CATEGORY, mathspecialfunc_cbesselj0y0) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselJ0Y0Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselj1y1) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselJ1Y1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesseli0k0) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselI0K0Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesseli1k1) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselI1K1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselh1stkind) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselH1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselh2ndkind) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselH2Function test; test.testit(); } diff --git a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp index eaf7a4125c..116ac58c39 100644 --- a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp +++ b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp @@ -214,7 +214,7 @@ struct point_t { uint8_t x, y, z; KOKKOS_FUNCTION - point_t() : x(1), y(1), z(1){}; + point_t() : x(0), y(0), z(0){}; KOKKOS_FUNCTION point_t(const point_t &val) : x(val.x), y(val.y), z(val.z){}; diff --git a/lib/kokkos/core/unit_test/TestNumericTraits.hpp b/lib/kokkos/core/unit_test/TestNumericTraits.hpp index ec1c1e0ca0..81a9d0a5e0 100644 --- a/lib/kokkos/core/unit_test/TestNumericTraits.hpp +++ b/lib/kokkos/core/unit_test/TestNumericTraits.hpp @@ -210,9 +210,10 @@ TEST(TEST_CATEGORY, numeric_traits_infinity) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -224,9 +225,9 @@ TEST(TEST_CATEGORY, numeric_traits_epsilon) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -239,9 +240,9 @@ TEST(TEST_CATEGORY, numeric_traits_round_error) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -253,9 +254,9 @@ TEST(TEST_CATEGORY, numeric_traits_norm_min) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -263,9 +264,9 @@ TEST(TEST_CATEGORY, numeric_traits_norm_min) { TEST(TEST_CATEGORY, numeric_traits_denorm_min) { TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -302,8 +303,10 @@ TEST(TEST_CATEGORY, numeric_traits_finite_min_max) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -326,8 +329,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -349,8 +354,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits10) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -358,8 +365,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits10) { TEST(TEST_CATEGORY, numeric_traits_max_digits10) { TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -380,8 +389,10 @@ TEST(TEST_CATEGORY, numeric_traits_radix) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -395,8 +406,10 @@ TEST(TEST_CATEGORY, numeric_traits_min_max_exponent) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -407,8 +420,10 @@ TEST(TEST_CATEGORY, numeric_traits_min_max_exponent10) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -426,8 +441,10 @@ TEST(TEST_CATEGORY, numeric_traits_quiet_and_signaling_nan) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -442,7 +459,7 @@ struct HasNoSpecialization {}; using TRAIT##_value_t = decltype(Kokkos::Experimental::TRAIT::value); \ template \ using has_##TRAIT = Kokkos::is_detected; \ - static_assert(!has_##TRAIT::value, ""); + static_assert(!has_##TRAIT::value); CHECK_TRAIT_IS_SFINAE_FRIENDLY(infinity) CHECK_TRAIT_IS_SFINAE_FRIENDLY(finite_min) @@ -524,39 +541,39 @@ CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(long double, denorm_min); #endif // clang-format off -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< float>::min(), ""); -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< double>::min(), ""); -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits::min(), ""); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< float>::min()); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< double>::min()); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits::min()); // integer types -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< signed char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< short>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned short>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits::min(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< signed char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< short>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned short>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max(), ""); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< signed char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< short>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned short>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits::min()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< signed char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< short>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned short>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max()); // floating point types -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< float>::max(), ""); -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< double>::max(), ""); -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< float>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< double>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max(), ""); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< float>::max()); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< double>::max()); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< float>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< double>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max()); // clang-format on CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT(bool, digits); @@ -623,15 +640,13 @@ CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT(long double, max_exponent10); #undef CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION #undef CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT -#define CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(T, TRAIT) \ - static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ - static_assert( \ - std::numeric_limits::TRAIT() != std::numeric_limits::TRAIT(), ""); \ - static_assert(Kokkos::Experimental::TRAIT::value != \ - std::numeric_limits::TRAIT(), \ - "") +#define CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(T, TRAIT) \ + static_assert(Kokkos::Experimental::TRAIT::value != \ + Kokkos::Experimental::TRAIT::value); \ + static_assert(std::numeric_limits::TRAIT() != \ + std::numeric_limits::TRAIT()); \ + static_assert(Kokkos::Experimental::TRAIT::value != \ + std::numeric_limits::TRAIT()) // Workaround compiler issue error: expression must have a constant value // See kokkos/kokkos#4574 @@ -651,14 +666,11 @@ CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(long double, signaling_NaN); #define CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES(T, TRAIT) \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - "") + Kokkos::Experimental::TRAIT::value) #define CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(TRAIT) \ CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES(float, TRAIT); \ @@ -706,17 +718,13 @@ CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(max_exponent10); #define CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES(T, TRAIT) \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - "") + Kokkos::Experimental::TRAIT::value) #define CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(TRAIT) \ CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES(float, TRAIT); \ diff --git a/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp b/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp new file mode 100644 index 0000000000..345a906d66 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp @@ -0,0 +1,80 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +namespace { + +template +void test_policy_execution(const Kokkos::RangePolicy& policy) { + Kokkos::parallel_for(policy, KOKKOS_LAMBDA(int){}); +} +template +void test_policy_execution(const Kokkos::TeamPolicy& policy) { + Kokkos::parallel_for( + policy, + KOKKOS_LAMBDA( + const typename Kokkos::TeamPolicy::member_type&){}); +} +template +void test_policy_execution(const Kokkos::MDRangePolicy& policy) { + Kokkos::parallel_for(policy, KOKKOS_LAMBDA(int, int){}); +} + +template +void test_prefer_desired_occupancy(Policy policy) { + using Kokkos::Experimental::DesiredOccupancy; + using Kokkos::Experimental::MaximizeOccupancy; + using Kokkos::Experimental::prefer; + using Kokkos::Experimental::WorkItemProperty; + + // MaximizeOccupancy -> MaximizeOccupancy + auto const policy_still_no_occ = prefer(policy, MaximizeOccupancy{}); + test_policy_execution(policy_still_no_occ); + + // MaximizeOccupancy -> DesiredOccupancy + auto const policy_with_occ = + prefer(policy_still_no_occ, DesiredOccupancy{33}); + test_policy_execution(policy_with_occ); + + // DesiredOccupancy -> DesiredOccupancy + auto const policy_change_occ = prefer(policy_with_occ, DesiredOccupancy{24}); + test_policy_execution(policy_change_occ); + + // DesiredOccupancy -> DesiredOccupancy w/ hint + auto policy_with_occ_and_hint = Kokkos::Experimental::require( + policy_change_occ, + Kokkos::Experimental::WorkItemProperty::HintLightWeight); + test_policy_execution(policy_with_occ_and_hint); + + // DesiredOccupancy -> MaximizeOccupancy + auto const policy_drop_occ = + prefer(policy_with_occ_and_hint, MaximizeOccupancy{}); + test_policy_execution(policy_drop_occ); +} + +// FIXME_MSVC_WITH_CUDA +// This test doesn't compile with CUDA on Windows +#if !(defined(_WIN32) && defined(KOKKOS_ENABLE_CUDA)) +TEST(TEST_CATEGORY, occupancy_control) { + test_prefer_desired_occupancy(Kokkos::RangePolicy(0, 1)); + test_prefer_desired_occupancy( + Kokkos::TeamPolicy{1, Kokkos::AUTO}); + test_prefer_desired_occupancy( + Kokkos::MDRangePolicy>{{0, 0}, {1, 1}}); +} +#endif +} // namespace diff --git a/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp b/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp index 176ce9b5fe..a56dfd9efc 100644 --- a/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp +++ b/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp @@ -166,22 +166,6 @@ TEST(defaultdevicetype, cmd_line_args_device_id) { EXPECT_REMAINING_COMMAND_LINE_ARGUMENTS(cla, {"--dummy"}); } -TEST(defaultdevicetype, cmd_line_args_num_devices) { - CmdLineArgsHelper cla = {{ - "--kokkos-num-devices=5,6", - "--kokkos-num-devices=7", - "-v", - }}; - Kokkos::InitializationSettings settings; - Kokkos::Impl::parse_command_line_arguments(cla.argc(), cla.argv(), settings); - EXPECT_TRUE(settings.has_num_devices()); - EXPECT_EQ(settings.get_num_devices(), 7); - // this is the current behavior, not suggesting this cannot be revisited - EXPECT_TRUE(settings.has_skip_device()) << "behavior changed see comment"; - EXPECT_EQ(settings.get_skip_device(), 6) << "behavior changed see comment"; - EXPECT_REMAINING_COMMAND_LINE_ARGUMENTS(cla, {"-v"}); -} - TEST(defaultdevicetype, cmd_line_args_disable_warning) { CmdLineArgsHelper cla = {{ "--kokkos-disable-warnings=1", @@ -351,20 +335,6 @@ TEST(defaultdevicetype, env_vars_device_id) { EXPECT_EQ(settings.get_device_id(), 33); } -TEST(defaultdevicetype, env_vars_num_devices) { - EnvVarsHelper ev = {{ - {"KOKKOS_NUM_DEVICES", "4"}, - {"KOKKOS_SKIP_DEVICE", "1"}, - }}; - SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); - Kokkos::InitializationSettings settings; - Kokkos::Impl::parse_environment_variables(settings); - EXPECT_TRUE(settings.has_num_devices()); - EXPECT_EQ(settings.get_num_devices(), 4); - EXPECT_TRUE(settings.has_skip_device()); - EXPECT_EQ(settings.get_skip_device(), 1); -} - TEST(defaultdevicetype, env_vars_disable_warnings) { for (auto const& value_true : {"1", "true", "TRUE", "yEs"}) { EnvVarsHelper ev = {{ @@ -420,22 +390,20 @@ TEST(defaultdevicetype, env_vars_tune_internals) { } TEST(defaultdevicetype, visible_devices) { -#define KOKKOS_TEST_VISIBLE_DEVICES(ENV, CNT, DEV) \ - do { \ - EnvVarsHelper ev{ENV}; \ - SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); \ - Kokkos::InitializationSettings settings; \ - Kokkos::Impl::parse_environment_variables(settings); \ - auto computed = Kokkos::Impl::get_visible_devices(settings, CNT); \ - std::vector expected = DEV; \ - EXPECT_EQ(expected.size(), computed.size()) \ - << ev << "device count: " << CNT; \ - auto n = std::min(expected.size(), computed.size()); \ - for (int i = 0; i < n; ++i) { \ - EXPECT_EQ(expected[i], computed[i]) \ - << "devices differ at index " << i << '\n' \ - << ev << "device count: " << CNT; \ - } \ +#define KOKKOS_TEST_VISIBLE_DEVICES(ENV, CNT, DEV) \ + do { \ + EnvVarsHelper ev{ENV}; \ + SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); \ + auto computed = Kokkos::Impl::get_visible_devices(CNT); \ + std::vector expected = DEV; \ + EXPECT_EQ(expected.size(), computed.size()) \ + << ev << "device count: " << CNT; \ + auto n = std::min(expected.size(), computed.size()); \ + for (int i = 0; i < n; ++i) { \ + EXPECT_EQ(expected[i], computed[i]) \ + << "devices differ at index " << i << '\n' \ + << ev << "device count: " << CNT; \ + } \ } while (false) #define DEV(...) \ @@ -444,6 +412,8 @@ TEST(defaultdevicetype, visible_devices) { // first test with all environment variables that are involved in determining // the visible devices so user set var do not mess up the logic below. + // KOKKOS_NUM_DEVICES and KOKKOS_SKIP_DEVICE are deprecated since 3.7 and are + // not taken into account anymore. KOKKOS_TEST_VISIBLE_DEVICES( ENV({"KOKKOS_VISIBLE_DEVICES", "2,1"}, {"KOKKOS_NUM_DEVICES", "8"}, {"KOKKOS_SKIP_DEVICE", "1"}), @@ -452,10 +422,10 @@ TEST(defaultdevicetype, visible_devices) { ENV({"KOKKOS_VISIBLE_DEVICES", "2,1"}, {"KOKKOS_NUM_DEVICES", "8"}, ), 6, DEV(2, 1)); KOKKOS_TEST_VISIBLE_DEVICES(ENV({"KOKKOS_NUM_DEVICES", "3"}), 6, - DEV(0, 1, 2)); + DEV(0, 1, 2, 3, 4, 5)); KOKKOS_TEST_VISIBLE_DEVICES( ENV({"KOKKOS_NUM_DEVICES", "4"}, {"KOKKOS_SKIP_DEVICE", "1"}, ), 6, - DEV(0, 2, 3)); + DEV(0, 1, 2, 3, 4, 5)); KOKKOS_TEST_VISIBLE_DEVICES(ENV({"KOKKOS_VISIBLE_DEVICES", "1,3,4"}), 6, DEV(1, 3, 4)); KOKKOS_TEST_VISIBLE_DEVICES( diff --git a/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp b/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp new file mode 100644 index 0000000000..20288e2b40 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp @@ -0,0 +1,150 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include "Kokkos_Core_fwd.hpp" + +namespace { + +struct TestRangePolicyCTAD { + struct SomeExecutionSpace { + using execution_space = SomeExecutionSpace; + using size_type = size_t; + + [[maybe_unused]] static int concurrency() { return 0; } + }; + static_assert(Kokkos::is_execution_space_v); + + struct ImplicitlyConvertibleToDefaultExecutionSpace { + [[maybe_unused]] operator Kokkos::DefaultExecutionSpace() const { + return Kokkos::DefaultExecutionSpace(); + } + }; + static_assert(!Kokkos::is_execution_space_v< + ImplicitlyConvertibleToDefaultExecutionSpace>); + + [[maybe_unused]] static inline auto i64 = int64_t(); + [[maybe_unused]] static inline auto i32 = int32_t(); + [[maybe_unused]] static inline auto cs = Kokkos::ChunkSize(0); + [[maybe_unused]] static inline auto des = Kokkos::DefaultExecutionSpace(); + [[maybe_unused]] static inline auto nes = + ImplicitlyConvertibleToDefaultExecutionSpace(); + [[maybe_unused]] static inline auto ses = SomeExecutionSpace(); + + // RangePolicy() + + [[maybe_unused]] static inline auto rp = Kokkos::RangePolicy{}; + static_assert(std::is_same_v, decltype(rp)>); + + // RangePolicy(index_type, index_type) + + [[maybe_unused]] static inline auto rpi64i64 = Kokkos::RangePolicy(i64, i64); + static_assert(std::is_same_v, decltype(rpi64i64)>); + + [[maybe_unused]] static inline auto rpi64i32 = Kokkos::RangePolicy(i64, i32); + static_assert(std::is_same_v, decltype(rpi64i32)>); + + [[maybe_unused]] static inline auto rpi32i64 = Kokkos::RangePolicy(i32, i64); + static_assert(std::is_same_v, decltype(rpi32i64)>); + + [[maybe_unused]] static inline auto rpi32i32 = Kokkos::RangePolicy(i32, i32); + static_assert(std::is_same_v, decltype(rpi32i32)>); + + // RangePolicy(index_type, index_type, ChunkSize) + + [[maybe_unused]] static inline auto rpi64i64cs = + Kokkos::RangePolicy(i64, i64, cs); + static_assert(std::is_same_v, decltype(rpi64i64cs)>); + + [[maybe_unused]] static inline auto rpi64i32cs = + Kokkos::RangePolicy(i64, i32, cs); + static_assert(std::is_same_v, decltype(rpi64i32cs)>); + + [[maybe_unused]] static inline auto rpi32i64cs = + Kokkos::RangePolicy(i32, i64, cs); + static_assert(std::is_same_v, decltype(rpi32i64cs)>); + + [[maybe_unused]] static inline auto rpi32i32cs = + Kokkos::RangePolicy(i32, i32, cs); + static_assert(std::is_same_v, decltype(rpi32i32cs)>); + + // RangePolicy(execution_space, index_type, index_type) + + [[maybe_unused]] static inline auto rpdesi64i64 = + Kokkos::RangePolicy(des, i64, i64); + static_assert(std::is_same_v, decltype(rpdesi64i64)>); + + [[maybe_unused]] static inline auto rpdesi32i32 = + Kokkos::RangePolicy(des, i32, i32); + static_assert(std::is_same_v, decltype(rpdesi32i32)>); + + [[maybe_unused]] static inline auto rpnesi64i64 = + Kokkos::RangePolicy(nes, i64, i64); + static_assert(std::is_same_v, decltype(rpnesi64i64)>); + + [[maybe_unused]] static inline auto rpnesi32i32 = + Kokkos::RangePolicy(nes, i32, i32); + static_assert(std::is_same_v, decltype(rpnesi32i32)>); + + [[maybe_unused]] static inline auto rpsesi64i64 = + Kokkos::RangePolicy(ses, i64, i64); + static_assert(std::is_same_v, + decltype(rpsesi64i64)>); + + [[maybe_unused]] static inline auto rpsesi32i32 = + Kokkos::RangePolicy(ses, i32, i32); + static_assert(std::is_same_v, + decltype(rpsesi32i32)>); + + // RangePolicy(execution_space, index_type, index_type, ChunkSize) + + [[maybe_unused]] static inline auto rpdesi64i64cs = + Kokkos::RangePolicy(des, i64, i64, cs); + static_assert(std::is_same_v, decltype(rpdesi64i64cs)>); + + [[maybe_unused]] static inline auto rpdesi32i32cs = + Kokkos::RangePolicy(des, i32, i32, cs); + static_assert(std::is_same_v, decltype(rpdesi32i32cs)>); + + [[maybe_unused]] static inline auto rpnesi64i64cs = + Kokkos::RangePolicy(nes, i64, i64, cs); + static_assert(std::is_same_v, decltype(rpnesi64i64cs)>); + + [[maybe_unused]] static inline auto rpnesi32i32cs = + Kokkos::RangePolicy(nes, i32, i32, cs); + static_assert(std::is_same_v, decltype(rpnesi32i32cs)>); + + [[maybe_unused]] static inline auto rpsesi64i64cs = + Kokkos::RangePolicy(ses, i64, i64, cs); + static_assert(std::is_same_v, + decltype(rpsesi64i64cs)>); + + [[maybe_unused]] static inline auto rpsesi32i32cs = + Kokkos::RangePolicy(ses, i32, i32, cs); + static_assert(std::is_same_v, + decltype(rpsesi32i32cs)>); + +}; // TestRangePolicyCTAD struct + +// To eliminate maybe_unused warning on some compilers + +[[maybe_unused]] const Kokkos::DefaultExecutionSpace nestodes = + TestRangePolicyCTAD::ImplicitlyConvertibleToDefaultExecutionSpace(); + +[[maybe_unused]] const auto sesconcurrency = + TestRangePolicyCTAD::ses.concurrency(); + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp index 0a7e59ed98..c8c1542af1 100644 --- a/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp @@ -18,6 +18,9 @@ #include +#include +#include + namespace { TEST(TEST_CATEGORY, range_policy_runtime_parameters) { @@ -70,4 +73,127 @@ TEST(TEST_CATEGORY, range_policy_runtime_parameters) { } } +TEST(TEST_CATEGORY_DEATH, range_policy_invalid_bounds) { + using Policy = Kokkos::RangePolicy; + using ChunkSize = Kokkos::ChunkSize; + + std::string msg = + "Kokkos::RangePolicy bounds error: The lower bound (100) is greater than " + "the upper bound (90).\n"; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + // escape the parentheses in the regex to match the error message + msg = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + ASSERT_DEATH({ (void)Policy(100, 90); }, msg); + + ASSERT_DEATH({ (void)Policy(TEST_EXECSPACE(), 100, 90, ChunkSize(10)); }, + msg); +#else + + if (!Kokkos::show_warnings()) { + GTEST_SKIP() << "Kokkos warning messages are disabled"; + } + + { + ::testing::internal::CaptureStderr(); + Policy policy(100, 90); + ASSERT_EQ((int)policy.begin(), 0); + ASSERT_EQ((int)policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; +#endif + } + + { + ::testing::internal::CaptureStderr(); + Policy policy(TEST_EXECSPACE(), 100, 90, ChunkSize(10)); + ASSERT_EQ((int)policy.begin(), 0); + ASSERT_EQ((int)policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; +#endif + } + +#endif +} + +TEST(TEST_CATEGORY_DEATH, range_policy_implicitly_converted_bounds) { + using UIntIndexType = Kokkos::IndexType; + using IntIndexType = Kokkos::IndexType; + using UIntPolicy = Kokkos::RangePolicy; + using IntPolicy = Kokkos::RangePolicy; + + std::string msg = + "Kokkos::RangePolicy bound type error: an unsafe implicit conversion is " + "performed on a bound (), which may not preserve its original value.\n"; + + auto get_error_msg = [](auto str, auto val) { + return str.insert(str.find("(") + 1, std::to_string(val).c_str()); + }; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + std::string expected = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + { + int test_val = -1; + ASSERT_DEATH({ (void)UIntPolicy(test_val, 10); }, + get_error_msg(expected, test_val)); + } + { + unsigned test_val = std::numeric_limits::max(); + ASSERT_DEATH({ (void)IntPolicy(0u, test_val); }, + get_error_msg(expected, test_val)); + } + { + long long test_val = std::numeric_limits::max(); + ASSERT_DEATH({ (void)IntPolicy(0LL, test_val); }, + get_error_msg(expected, test_val)); + } + { + int test_val = -1; + ASSERT_DEATH({ (void)UIntPolicy(test_val, 10, Kokkos::ChunkSize(2)); }, + get_error_msg(expected, test_val)); + } + +#else + { + ::testing::internal::CaptureStderr(); + int test_val = -1; + UIntPolicy policy(test_val, 10); + ASSERT_EQ(policy.begin(), 0u); + ASSERT_EQ(policy.end(), 0u); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + if (Kokkos::show_warnings()) { + auto s = std::string(::testing::internal::GetCapturedStderr()); + ASSERT_EQ(s.substr(0, s.find("\n") + 1), get_error_msg(msg, test_val)); + } +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; + (void)get_error_msg; +#endif + } + { + ::testing::internal::CaptureStderr(); + unsigned test_val = std::numeric_limits::max(); + IntPolicy policy(0u, test_val); + ASSERT_EQ(policy.begin(), 0); + ASSERT_EQ(policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + if (Kokkos::show_warnings()) { + auto s = std::string(::testing::internal::GetCapturedStderr()); + ASSERT_EQ(s.substr(0, s.find("\n") + 1), get_error_msg(msg, test_val)); + } +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; + (void)get_error_msg; +#endif + } +#endif +} + } // namespace diff --git a/lib/kokkos/core/unit_test/TestReducers.hpp b/lib/kokkos/core/unit_test/TestReducers.hpp index 957b9a0ca1..fbcb9629af 100644 --- a/lib/kokkos/core/unit_test/TestReducers.hpp +++ b/lib/kokkos/core/unit_test/TestReducers.hpp @@ -19,6 +19,7 @@ #include #include +#include //-------------------------------------------------------------------------- @@ -46,6 +47,37 @@ struct TestReducers { void operator()(const int& i, Scalar& value) const { value += values(i); } }; + struct TeamSumFunctor { + using member_type = typename Kokkos::TeamPolicy::member_type; + + KOKKOS_INLINE_FUNCTION + void operator()(const member_type& m, Scalar& value) const { + if (m.team_rank() == m.team_size() - 1) value += Scalar(1); + } + }; + + struct TeamSumNestedFunctor { + using member_type = typename Kokkos::TeamPolicy::member_type; + + SumFunctor f; + int M, N; + Kokkos::View result; + + TeamSumNestedFunctor(SumFunctor& f_, const int M_, const int N_, + Kokkos::View result_) + : f(f_), M(M_), N(N_), result(result_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const member_type& m) const { + const int i = m.league_rank(); + Scalar local_scalar; + Kokkos::Sum reducer_scalar( + local_scalar); + Kokkos::parallel_reduce(Kokkos::TeamThreadRange(m, N), f, reducer_scalar); + result(i) = local_scalar; + } + }; + struct ProdFunctor { Kokkos::View values; @@ -319,6 +351,102 @@ struct TestReducers { value = value || values(i); } }; + + // get number of teams for TeamPolicy depending on the tested type + constexpr static int get_num_teams() { + if constexpr (sizeof(Scalar) == 1) { + return 126; + } else if constexpr (std::is_same_v) { + return 256; + } + + return 1024; + } + + static void test_sum_team_policy(int N, SumFunctor f, Scalar reference_sum) { +#ifdef KOKKOS_ENABLE_OPENACC + if constexpr (std::is_same_v && + (std::is_same_v || + std::is_same_v)) { + return; // FIXME_OPENACC + } +#endif + + Scalar sum_scalar; + Kokkos::View sum_view("result"); + Kokkos::deep_copy(sum_view, Scalar(1)); + + // Test team policy reduction + { + constexpr int num_teams = get_num_teams(); + TeamSumFunctor tf; + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int team_size = + std::is_same::value + ? 32 + : 1; +#else + int team_size = 1; +#endif + auto team_pol = Kokkos::TeamPolicy(num_teams, team_size); + Kokkos::parallel_reduce(team_pol, tf, sum_view); + Kokkos::deep_copy(sum_scalar, sum_view); + ASSERT_EQ(sum_scalar, Scalar{num_teams}) << "num_teams: " << num_teams; + } + + // Test TeamThreadRange level reduction with 0 work produces 0 result + { + const int league_size = 1; + Kokkos::View result("result", league_size); + TeamSumNestedFunctor tnf(f, league_size, 0, result); + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int team_size = + std::is_same::value + ? 32 + : 1; +#else + int team_size = 1; +#endif + auto team_pol = Kokkos::TeamPolicy(1, team_size); + Kokkos::parallel_for(team_pol, tnf); + auto result_h = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), result); + ASSERT_EQ(result_h(0), Scalar{0}) << "N: " << N; + } + + // Same test as above, but with inner reduction over N, and league_size=10 + { + const int league_size = 10; + Kokkos::View result("result", league_size); + TeamSumNestedFunctor tnf(f, league_size, N, result); + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int initial_team_size = + std::is_same_v ? 32 + : 1; +#else + int initial_team_size = 1; +#endif + auto team_size_max = + Kokkos::TeamPolicy(league_size, initial_team_size) + .team_size_max(tnf, Kokkos::ParallelForTag()); + auto team_size = std::min(team_size_max, TEST_EXECSPACE().concurrency()); + auto team_pol = Kokkos::TeamPolicy(league_size, team_size); + Kokkos::parallel_for(team_pol, tnf); + auto result_h = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), result); + for (int i = 0; i < result_h.extent_int(0); ++i) { + ASSERT_EQ(result_h(i), reference_sum) << "N: " << N; + } + } + } + static void test_sum(int N) { Kokkos::View values("Values", N); auto h_values = Kokkos::create_mirror_view(values); @@ -374,6 +502,8 @@ struct TestReducers { ASSERT_EQ(sum_scalar_view, reference_sum) << "N: " << N; } + test_sum_team_policy(N, f, reference_sum); + { Kokkos::View sum_view("View"); sum_view() = Scalar(1); diff --git a/lib/kokkos/core/unit_test/TestReducers_d.hpp b/lib/kokkos/core/unit_test/TestReducers_d.hpp index 19eaa6d700..ecf851aa10 100644 --- a/lib/kokkos/core/unit_test/TestReducers_d.hpp +++ b/lib/kokkos/core/unit_test/TestReducers_d.hpp @@ -80,6 +80,20 @@ TEST(TEST_CATEGORY, reducers_int8_t) { TestReducers::test_prod(4); } +TEST(TEST_CATEGORY, reducers_int16_t) { + using ThisTestType = int16_t; + + TestReducers::test_sum(1); + TestReducers::test_sum(2); + TestReducers::test_sum(3); + TestReducers::test_sum(4); + + TestReducers::test_prod(1); + TestReducers::test_prod(2); + TestReducers::test_prod(3); + TestReducers::test_prod(4); +} + #if !defined(KOKKOS_ENABLE_HIP) && !defined(KOKKOS_ENABLE_OPENMPTARGET) // TODO - resolve: "Kokkos_HIP_Vectorization.hpp:80:15: error: call to // implicitly-deleted default constructor of 'conv_type' diff --git a/lib/kokkos/core/unit_test/TestSwap.hpp b/lib/kokkos/core/unit_test/TestSwap.hpp new file mode 100644 index 0000000000..4e98351cf1 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestSwap.hpp @@ -0,0 +1,68 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +#include +#include +#include + +namespace { + +template +struct TestSwap { + KOKKOS_FUNCTION void operator()(int, int& err) const { + { + int a = 1; + int b = 2; + Kokkos::kokkos_swap(a, b); + if (!(a == 2 && b == 1)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(int, int)\n"); + ++err; + } + } + { + float a = 1; + float b = 2; + Kokkos::kokkos_swap(a, b); + if (!(a == 2 && b == 1)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(float, float)\n"); + ++err; + } + } + { + int a[3] = {1, 2, 3}; + int b[3] = {4, 5, 6}; + Kokkos::kokkos_swap(a, b); + if (!(a[0] == 4 && a[1] == 5 && a[2] == 6 && b[0] == 1 && b[1] == 2 && + b[2] == 3)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(int[3], int[3])\n"); + ++err; + } + } + } + + TestSwap() { + int errors; + Kokkos::parallel_reduce( + "TestSwap", Kokkos::RangePolicy(0, 1), *this, errors); + EXPECT_EQ(errors, 0); + } +}; + +TEST(TEST_CATEGORY, kokkos_swap) { TestSwap(); } + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestTeamBasic.hpp b/lib/kokkos/core/unit_test/TestTeamBasic.hpp index c395bc0837..a3d84c5e16 100644 --- a/lib/kokkos/core/unit_test/TestTeamBasic.hpp +++ b/lib/kokkos/core/unit_test/TestTeamBasic.hpp @@ -280,7 +280,7 @@ namespace Test { // Test for non-arithmetic type TEST(TEST_CATEGORY, team_broadcast_long_wrapper) { - static_assert(!std::is_arithmetic::value, ""); + static_assert(!std::is_arithmetic::value); TestTeamBroadcast, long_wrapper>::test_teambroadcast(0, 1); diff --git a/lib/kokkos/core/unit_test/TestTeamMDRange.hpp b/lib/kokkos/core/unit_test/TestTeamMDRange.hpp index 6e65cde0cf..81931467c5 100644 --- a/lib/kokkos/core/unit_test/TestTeamMDRange.hpp +++ b/lib/kokkos/core/unit_test/TestTeamMDRange.hpp @@ -169,7 +169,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -202,7 +209,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -236,7 +250,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -272,7 +293,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -310,7 +338,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -350,7 +385,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -420,7 +462,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -457,7 +506,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -496,7 +552,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -536,7 +599,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -579,7 +649,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -620,7 +697,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -653,7 +737,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -687,7 +778,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -723,7 +821,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -761,7 +866,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -801,7 +913,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -908,13 +1027,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k) = fillFlattenedIndex(i, j, k); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -923,7 +1049,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j); }, teamSum); - leagueSum += teamSum; + // FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -952,13 +1084,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -966,7 +1105,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { [=](const int& i, const int& j, const int& k, DataType& threadSum) { threadSum += v(leagueRank, i, j, k); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -997,13 +1142,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1013,7 +1165,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1045,13 +1203,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1061,7 +1226,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m); }, teamSum); - leagueSum += teamSum; + // FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1100,13 +1271,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1116,7 +1294,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m, n); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1157,13 +1341,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1174,7 +1365,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m, n, o); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1207,20 +1404,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1228,11 +1431,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k); }, threadSum); - - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1263,20 +1464,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1286,10 +1493,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1321,20 +1527,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1344,10 +1556,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1384,20 +1595,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4, n5); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1407,10 +1624,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1451,20 +1667,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4, n5, n6); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1474,10 +1696,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1510,13 +1731,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1527,7 +1755,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { [=](const int& i, const int& j, const int& k, DataType& vectorSum) { vectorSum += v(leagueRank, i, j, k); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1558,13 +1792,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1577,7 +1818,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1609,13 +1856,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1628,7 +1882,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1665,13 +1925,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1684,7 +1951,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m, n); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1725,13 +1998,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1745,7 +2025,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m, n, o); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1904,13 +2190,6 @@ TEST(TEST_CATEGORY, ThreadVectorMDRangeParallelReduce) { GTEST_SKIP() << "skipping because of bug in group_barrier implementation"; #endif -// FIXME_OPENMPTARGET_CRAY: The unit tests fails correctness. -#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_COMPILER_CRAYCLANG) - if (std::is_same_v) - GTEST_SKIP() << "Cray compiler fails correctness at runtime with the " - "OpenMPTarget backend."; -#endif - TestThreadVectorMDRangeParallelReduce:: test_parallel_reduce_for_4D_ThreadVectorMDRange(dims); TestThreadVectorMDRangeParallelReduce:: @@ -1944,13 +2223,6 @@ TEST(TEST_CATEGORY, TeamVectorMDRangeParallelReduce) { GTEST_SKIP() << "skipping because of bug in group_barrier implementation"; #endif -// FIXME_OPENMPTARGET_CRAY: The unit tests fails correctness. -#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_COMPILER_CRAYCLANG) - if (std::is_same_v) - GTEST_SKIP() << "Cray compiler fails correctness at runtime with the " - "OpenMPTarget backend."; -#endif - TestTeamVectorMDRangeParallelReduce:: test_parallel_reduce_for_4D_TeamVectorMDRange(dims); TestTeamVectorMDRangeParallelReduce:: diff --git a/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp index 5b0bfdb175..9d89f75708 100644 --- a/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp @@ -20,11 +20,24 @@ namespace { +struct SomeTag {}; + +struct FunctorFor { + KOKKOS_FUNCTION + void operator()( + Kokkos::TeamPolicy::member_type const&) const {} + + KOKKOS_FUNCTION + void operator()( + SomeTag, Kokkos::TeamPolicy::member_type const&) const {} +}; + template void test_run_time_parameters() { int league_size = 131; using ExecutionSpace = typename Policy::execution_space; + using ParallelTag = Kokkos::ParallelForTag; int team_size = 4 < ExecutionSpace().concurrency() ? 4 : ExecutionSpace().concurrency(); #ifdef KOKKOS_ENABLE_HPX @@ -44,6 +57,8 @@ void test_run_time_parameters() { ASSERT_EQ(p1.team_size(), team_size); ASSERT_GT(p1.chunk_size(), 0); ASSERT_EQ(p1.scratch_size(0), 0u); + ASSERT_GT(p1.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p1.team_size_recommended(FunctorFor(), ParallelTag()), 0); Policy p2 = p1.set_chunk_size(chunk_size); ASSERT_EQ(p1.league_size(), league_size); @@ -112,6 +127,8 @@ void test_run_time_parameters() { Policy p8; // default constructed ASSERT_EQ(p8.league_size(), 0); ASSERT_EQ(p8.scratch_size(0), 0u); + ASSERT_GT(p8.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p8.team_size_recommended(FunctorFor(), ParallelTag()), 0); p8 = p3; // call assignment operator ASSERT_EQ(p3.league_size(), league_size); ASSERT_EQ(p3.team_size(), team_size); @@ -121,11 +138,25 @@ void test_run_time_parameters() { ASSERT_EQ(p8.team_size(), team_size); ASSERT_EQ(p8.chunk_size(), chunk_size); ASSERT_EQ(p8.scratch_size(0), size_t(scratch_size)); + + Policy p9(league_size, Kokkos::AUTO); + ASSERT_EQ(p9.league_size(), league_size); + ASSERT_GT(p9.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p9.team_size_recommended(FunctorFor(), ParallelTag()), 0); + + Policy p10(league_size, team_size, Kokkos::AUTO); + ASSERT_EQ(p10.league_size(), league_size); + ASSERT_EQ(p10.team_size(), team_size); + ASSERT_GT(p10.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p10.team_size_recommended(FunctorFor(), ParallelTag()), 0); + + Policy p11(league_size, Kokkos::AUTO, Kokkos::AUTO); + ASSERT_EQ(p11.league_size(), league_size); + ASSERT_GT(p11.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p11.team_size_recommended(FunctorFor(), ParallelTag()), 0); } TEST(TEST_CATEGORY, team_policy_runtime_parameters) { - struct SomeTag {}; - using TestExecSpace = TEST_EXECSPACE; using DynamicSchedule = Kokkos::Schedule; using LongIndex = Kokkos::IndexType; diff --git a/lib/kokkos/core/unit_test/TestTeamVector.hpp b/lib/kokkos/core/unit_test/TestTeamVector.hpp index 39122736ed..5e16539d65 100644 --- a/lib/kokkos/core/unit_test/TestTeamVector.hpp +++ b/lib/kokkos/core/unit_test/TestTeamVector.hpp @@ -1012,7 +1012,6 @@ struct checkScan { }; } // namespace VectorScanReducer -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(0))); ASSERT_TRUE((TestTeamVector::Test(1))); @@ -1028,9 +1027,7 @@ TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(11))); ASSERT_TRUE((TestTeamVector::Test(12))); } -#endif -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) TEST(TEST_CATEGORY, triple_nested_parallelism) { // With KOKKOS_ENABLE_DEBUG enabled, the functor uses too many registers to run // with a team size of 32 on GPUs, 16 is the max possible (at least on a K80 @@ -1055,7 +1052,6 @@ TEST(TEST_CATEGORY, triple_nested_parallelism) { TestTripleNestedReduce(8192, 2048, 16, 16); TestTripleNestedReduce(8192, 2048, 7, 16); } -#endif TEST(TEST_CATEGORY, parallel_scan_with_reducers) { using T = double; diff --git a/lib/kokkos/core/unit_test/TestUtilities.hpp b/lib/kokkos/core/unit_test/TestUtilities.hpp index b1f9d30c1f..ad5a0df92d 100644 --- a/lib/kokkos/core/unit_test/TestUtilities.hpp +++ b/lib/kokkos/core/unit_test/TestUtilities.hpp @@ -25,20 +25,18 @@ namespace Test { void test_is_specialization_of() { using Kokkos::Impl::is_specialization_of; - static_assert(is_specialization_of, Kokkos::pair>{}, - ""); - static_assert(!is_specialization_of, Kokkos::pair>{}, ""); - static_assert(is_specialization_of, Kokkos::View>{}, ""); + static_assert(is_specialization_of, Kokkos::pair>{}); + static_assert(!is_specialization_of, Kokkos::pair>{}); + static_assert(is_specialization_of, Kokkos::View>{}); // NOTE Not removing cv-qualifiers - static_assert(!is_specialization_of const, Kokkos::View>{}, - ""); + static_assert( + !is_specialization_of const, Kokkos::View>{}); // NOTE Would not compile because Kokkos::Array takes a non-type template // parameter - // static_assert(is_specialization_of, Kokkos::Array>{}, - // ""); + // static_assert(is_specialization_of, + // Kokkos::Array>{}); // But this is fine of course - static_assert(!is_specialization_of, Kokkos::pair>{}, - ""); + static_assert(!is_specialization_of, Kokkos::pair>{}); } namespace { diff --git a/lib/kokkos/core/unit_test/TestViewAPI.hpp b/lib/kokkos/core/unit_test/TestViewAPI.hpp index ffc500e4a9..ca098dbc24 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI.hpp @@ -958,8 +958,7 @@ class TestViewAPI { using mirror_type = typename view_type::HostMirror; static_assert(std::is_same::value, - ""); + typename mirror_type::memory_space>::value); view_type a("a"); mirror_type am = Kokkos::create_mirror_view(a); @@ -1005,25 +1004,25 @@ class TestViewAPI { hView3 hv_3("dView3::HostMirror", N0); hView4 hv_4("dView4::HostMirror", N0); - dView0 dv_0_1(nullptr, 0); + dView0 dv_0_1(nullptr); dView0 dv_0_2(hv_0.label(), hv_0.layout()); - dView1 dv_1_1(nullptr, 0); + dView1 dv_1_1(nullptr, N0); dView1 dv_1_2(hv_1.label(), hv_1.layout()); - dView2 dv_2_1(nullptr, 0); + dView2 dv_2_1(nullptr, N0); dView2 dv_2_2(hv_2.label(), hv_2.layout()); - dView3 dv_3_1(nullptr, 0); + dView3 dv_3_1(nullptr, N0); dView3 dv_3_2(hv_3.label(), hv_3.layout()); - dView4 dv_4_1(nullptr, 0); + dView4 dv_4_1(nullptr, N0); dView4 dv_4_2(hv_4.label(), hv_4.layout()); } static void run_test_contruction_from_layout_2() { using dView3_0 = Kokkos::View; - using dView3_1 = Kokkos::View; + using dView3_1 = Kokkos::View; using dView3_2 = Kokkos::View; using dView3_3 = Kokkos::View; @@ -1554,6 +1553,7 @@ class TestViewAPI { Kokkos::CudaUVMSpace>::value) return; #endif + bool did_throw = false; auto alloc_size = std::numeric_limits::max() - 42; try { auto should_always_fail = dView1("hello_world_failure", alloc_size); @@ -1585,7 +1585,9 @@ class TestViewAPI { "because of an unknown error.", msg); } #endif + did_throw = true; } + ASSERT_TRUE(did_throw); } }; diff --git a/lib/kokkos/core/unit_test/TestViewAPI_d.hpp b/lib/kokkos/core/unit_test/TestViewAPI_d.hpp index 08d21f5449..b0d759ffcc 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI_d.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI_d.hpp @@ -27,8 +27,19 @@ TEST(TEST_CATEGORY, view_api_d) { } TEST(TEST_CATEGORY, view_allocation_error) { +#if defined(__has_feature) +#if __has_feature(address_sanitizer) + GTEST_SKIP() << "AddressSanitzer detects allocating too much memory " + "preventing our checks to run"; +#endif +#endif #if ((HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 3)) GTEST_SKIP() << "ROCm 5.3 segfaults when trying to allocate too much memory"; +#endif +#if defined(KOKKOS_ENABLE_OPENACC) // FIXME_OPENACC + if (std::is_same_v) { + GTEST_SKIP() << "acc_malloc() not properly returning nullptr"; + } #endif TestViewAPI::run_test_error(); } diff --git a/lib/kokkos/core/unit_test/TestViewCopy_a.hpp b/lib/kokkos/core/unit_test/TestViewCopy_a.hpp index 3bfc93aada..a4735b2998 100644 --- a/lib/kokkos/core/unit_test/TestViewCopy_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewCopy_a.hpp @@ -147,6 +147,40 @@ TEST(TEST_CATEGORY, view_copy_tests) { Kokkos::deep_copy(s_a, hs_a); ASSERT_TRUE(run_check(s_a, 6)); } + } else { + // These copies won't succeed, but they should each throw + // an exception whose message contains the view labels, + // and the names of the views' memory spaces. + // + // Note: original a,b both have the same device type, + // and their mirrors have the same device type. + using memory_space = typename decltype(a)::memory_space; + using mirror_memory_space = typename decltype(h_a)::memory_space; + bool threw = false; + std::string msg; + try { + Kokkos::deep_copy(hs_b, s_b); + } catch (std::exception& e) { + threw = true; + msg = e.what(); + } + ASSERT_TRUE(threw); + ASSERT_NE(msg.find(hs_b.label()), std::string::npos); + ASSERT_NE(msg.find(s_b.label()), std::string::npos); + ASSERT_NE(msg.find(memory_space().name()), std::string::npos); + ASSERT_NE(msg.find(mirror_memory_space().name()), std::string::npos); + threw = false; + try { + Kokkos::deep_copy(s_a, hs_a); + } catch (std::exception& e) { + threw = true; + msg = e.what(); + } + ASSERT_TRUE(threw); + ASSERT_NE(msg.find(s_a.label()), std::string::npos); + ASSERT_NE(msg.find(hs_a.label()), std::string::npos); + ASSERT_NE(msg.find(memory_space().name()), std::string::npos); + ASSERT_NE(msg.find(mirror_memory_space().name()), std::string::npos); } // Contiguous copies diff --git a/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp b/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp index d71841eef8..40b7737f2e 100644 --- a/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp +++ b/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp @@ -19,33 +19,72 @@ namespace Test { -#define LIVE(EXPR, ARGS, DYNRANK) EXPECT_NO_THROW(EXPR) -#define DIE(EXPR, ARGS, DYNRANK) \ - ASSERT_DEATH( \ - EXPR, \ - "Constructor for Kokkos View 'v_" #ARGS \ - "' has mismatched number of arguments. Number of arguments = " #ARGS \ - " but dynamic rank = " #DYNRANK) +template +void test_matching_arguments_rank_helper(std::index_sequence) { + constexpr int nargs = sizeof...(Is); + using view_type = Kokkos::View; + if (nargs == rank || nargs == dynrank) { + EXPECT_NO_THROW({ view_type v("v", ((Is * 0) + 1)...); }); + EXPECT_NO_THROW({ view_type v(nullptr, ((Is * 0) + 1)...); }); + } else { + ASSERT_DEATH( + { view_type v("v", ((Is * 0) + 1)...); }, + "Constructor for Kokkos::View 'v' has mismatched number of arguments. " + "The number of arguments = " + + std::to_string(nargs) + + " neither matches the dynamic rank = " + std::to_string(dynrank) + + " nor the total rank = " + std::to_string(rank)); + ASSERT_DEATH( + { view_type v(nullptr, ((Is * 0) + 1)...); }, + "Constructor for Kokkos::View 'UNMANAGED' has mismatched number of " + "arguments. " + "The number of arguments = " + + std::to_string(nargs) + + " neither matches the dynamic rank = " + std::to_string(dynrank) + + " nor the total rank = " + std::to_string(rank)); + } +} -#define PARAM_0 -#define PARAM_1 1 -#define PARAM_2 1, 1 -#define PARAM_3 1, 1, 1 -#define PARAM_4 1, 1, 1, 1 -#define PARAM_5 1, 1, 1, 1, 1 -#define PARAM_6 1, 1, 1, 1, 1, 1 -#define PARAM_7 1, 1, 1, 1, 1, 1, 1 +template class RankType> +void test_matching_arguments_rank() { + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<0>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<1>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<2>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<3>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<4>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<5>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<6>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<7>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<8>()); +} -#define PARAM_0_RANK 0 -#define PARAM_1_RANK 1 -#define PARAM_2_RANK 2 -#define PARAM_3_RANK 3 -#define PARAM_4_RANK 4 -#define PARAM_5_RANK 5 -#define PARAM_6_RANK 6 -#define PARAM_7_RANK 7 +template +struct DynamicRank { + using type = typename DynamicRank::type*; +}; -using DType = int; +template <> +struct DynamicRank<0> { + using type = int; +}; // Skip test execution when KOKKOS_ENABLE_OPENMPTARGET is enabled until // Kokkos::abort() aborts properly on that backend @@ -53,348 +92,110 @@ using DType = int; TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_dyn) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType *; - using DType_2 = DType **; - using DType_3 = DType ***; - using DType_4 = DType ****; - using DType_5 = DType *****; - using DType_6 = DType ******; - using DType_7 = DType *******; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 1 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 1); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 1); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 1); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 1); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 1); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 1); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 1); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 1); - } - - { - // test View parameters for View dim = 2, dynamic = 2 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 2); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 2); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 2); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 2); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 2); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 2); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 2); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 2); - } - - { - // test View parameters for View dim = 3, dynamic = 3 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 3); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 3); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 3); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 3); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 3); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 3); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 3); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 3); - } - - { - // test View parameters for View dim = 4, dynamic = 4 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 4); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 4); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 4); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 4); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 4); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 4); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 4); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 4); - } - - { - // test View parameters for View dim = 5, dynamic = 5 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 5); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 5); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 5); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 5); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 5); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 5); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 5); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 5); - } - - { - // test View parameters for View dim = 6, dynamic = 6 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 6); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 6); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 6); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 6); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 6); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 6); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 6); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 6); - } - - { - // test View parameters for View dim = 7, dynamic = 7 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 7); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 7); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 7); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 7); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 7); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 7); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 7); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 7); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, DynamicRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 1, DynamicRank>(); // dim = 1, dynamic = 1 + test_matching_arguments_rank<2, 2, DynamicRank>(); // dim = 2, dynamic = 2 + test_matching_arguments_rank<3, 3, DynamicRank>(); // dim = 3, dynamic = 3 + test_matching_arguments_rank<4, 4, DynamicRank>(); // dim = 4, dynamic = 4 + test_matching_arguments_rank<5, 5, DynamicRank>(); // dim = 5, dynamic = 5 + test_matching_arguments_rank<6, 6, DynamicRank>(); // dim = 6, dynamic = 6 + test_matching_arguments_rank<7, 7, DynamicRank>(); // dim = 7, dynamic = 7 + test_matching_arguments_rank<8, 8, DynamicRank>(); // dim = 8, dynamic = 8 +#endif } +template +struct StaticRank { + using type = typename StaticRank::type[1]; +}; + +template <> +struct StaticRank<0> { + using type = int; +}; + TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_stat) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType[1]; - using DType_2 = DType[1][1]; - using DType_3 = DType[1][1][1]; - using DType_4 = DType[1][1][1][1]; - using DType_5 = DType[1][1][1][1][1]; - using DType_6 = DType[1][1][1][1][1][1]; - using DType_7 = DType[1][1][1][1][1][1][1]; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 2, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 3, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 4, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 5, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 6, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 7, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, StaticRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 0, StaticRank>(); // dim = 1, dynamic = 0 + test_matching_arguments_rank<2, 0, StaticRank>(); // dim = 2, dynamic = 0 + test_matching_arguments_rank<3, 0, StaticRank>(); // dim = 3, dynamic = 0 + test_matching_arguments_rank<4, 0, StaticRank>(); // dim = 4, dynamic = 0 + test_matching_arguments_rank<5, 0, StaticRank>(); // dim = 5, dynamic = 0 + test_matching_arguments_rank<6, 0, StaticRank>(); // dim = 6, dynamic = 0 + test_matching_arguments_rank<7, 0, StaticRank>(); // dim = 7, dynamic = 0 + test_matching_arguments_rank<8, 0, StaticRank>(); // dim = 8, dynamic = 0 +#endif } +template +struct MixedRank { + using type = typename DynamicRank::type[1]; +}; + +template <> +struct MixedRank<0> { + using type = int; +}; + TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_mix) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType[1]; - using DType_2 = DType * [1]; - using DType_3 = DType * * [1]; - using DType_4 = DType ** * [1]; - using DType_5 = DType *** * [1]; - using DType_6 = DType **** * [1]; - using DType_7 = DType ***** * [1]; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 2, dynamic = 1 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 1); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 1); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 1); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 1); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 1); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 1); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 1); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 1); - } - - { - // test View parameters for View dim = 3, dynamic = 2 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 2); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 2); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 2); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 2); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 2); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 2); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 2); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 2); - } - - { - // test View parameters for View dim = 4, dynamic = 3 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 3); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 3); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 3); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 3); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 3); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 3); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 3); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 3); - } - - { - // test View parameters for View dim = 5, dynamic = 4 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 4); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 4); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 4); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 4); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 4); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 4); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 4); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 4); - } - - { - // test View parameters for View dim = 6, dynamic = 5 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 5); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 5); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 5); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 5); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 5); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 5); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 5); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 5); - } - - { - // test View parameters for View dim = 7, dynamic = 6 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 6); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 6); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 6); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 6); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 6); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 6); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 6); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 6); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, MixedRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 0, MixedRank>(); // dim = 1, dynamic = 0 + test_matching_arguments_rank<2, 1, MixedRank>(); // dim = 2, dynamic = 1 + test_matching_arguments_rank<3, 2, MixedRank>(); // dim = 3, dynamic = 2 + test_matching_arguments_rank<4, 3, MixedRank>(); // dim = 4, dynamic = 3 + test_matching_arguments_rank<5, 4, MixedRank>(); // dim = 5, dynamic = 4 + test_matching_arguments_rank<6, 5, MixedRank>(); // dim = 6, dynamic = 5 + test_matching_arguments_rank<7, 6, MixedRank>(); // dim = 7, dynamic = 6 + test_matching_arguments_rank<8, 7, MixedRank>(); // dim = 8, dynamic = 7 +#endif } + +#define CHECK_DEATH(EXPR) \ + ASSERT_DEATH(EXPR, \ + "The specified run-time extent for Kokkos::View 'v' does not " \ + "match the compile-time extent in dimension 0. The given " \ + "extent is 2 but should be 1.") + +#define CHECK_DEATH_UNMANAGED(EXPR) \ + ASSERT_DEATH( \ + EXPR, \ + "The specified run-time extent for Kokkos::View 'UNMANAGED' does not " \ + "match the compile-time extent in dimension 0. The given " \ + "extent is 2 but should be 1.") + +TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_static_extents) { + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + // clang-format off + CHECK_DEATH({ Kokkos::View v("v", 2); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1, 1, 1); }); + + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1, 1, 1); }); + // clang-format on +#endif +} + +#undef CHECK_DEATH #endif // KOKKOS_ENABLE_OPENMPTARGET - -#undef PARAM_0 -#undef PARAM_1 -#undef PARAM_2 -#undef PARAM_3 -#undef PARAM_4 -#undef PARAM_5 -#undef PARAM_6 -#undef PARAM_7 - -#undef PARAM_0_RANK -#undef PARAM_1_RANK -#undef PARAM_2_RANK -#undef PARAM_3_RANK -#undef PARAM_4_RANK -#undef PARAM_5_RANK -#undef PARAM_6_RANK -#undef PARAM_7_RANK - -#undef DType - -#undef LIVE -#undef DIE } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp b/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp new file mode 100644 index 0000000000..b156b72860 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp @@ -0,0 +1,55 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +#include + +namespace { + +template +void test_empty_view_runtime_unmanaged() { + T d{}; + auto* p = reinterpret_cast(0xABADBABE); + + (void)Kokkos::View(p); + (void)Kokkos::View(&d); + (void)Kokkos::View(nullptr); + (void)Kokkos::View(NULL); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0); // NOLINT(modernize-use-nullptr) + + (void)Kokkos::View(p, 0); + (void)Kokkos::View(&d, 0); + (void)Kokkos::View(nullptr, 0); + (void)Kokkos::View(NULL, 0); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0, 0); // NOLINT(modernize-use-nullptr) + + (void)Kokkos::View(p, 0, 0); + (void)Kokkos::View(&d, 0, 0); + (void)Kokkos::View(nullptr, 0, 0); + (void)Kokkos::View(NULL, 0, 0); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0, 0, 0); // NOLINT(modernize-use-nullptr) +} + +TEST(TEST_CATEGORY, view_empty_runtime_unmanaged) { + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); +} + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp index 9173f0d431..a4dfdb26e3 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp @@ -73,67 +73,67 @@ void test_view_mapping() { ASSERT_LE(sizeof(dim_s0_s0_s0_s0_s0_s0_s0), 8 * sizeof(unsigned)); ASSERT_EQ(sizeof(dim_s0_s0_s0_s0_s0_s0_s0_s0), 8 * sizeof(unsigned)); #endif - static_assert(int(dim_0::rank) == int(0), ""); - static_assert(int(dim_0::rank_dynamic) == int(0), ""); - static_assert(int(dim_0::ArgN0) == 1, ""); - static_assert(int(dim_0::ArgN1) == 1, ""); - static_assert(int(dim_0::ArgN2) == 1, ""); + static_assert(int(dim_0::rank) == int(0)); + static_assert(int(dim_0::rank_dynamic) == int(0)); + static_assert(int(dim_0::ArgN0) == 1); + static_assert(int(dim_0::ArgN1) == 1); + static_assert(int(dim_0::ArgN2) == 1); - static_assert(int(dim_s2::rank) == int(1), ""); - static_assert(int(dim_s2::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2::ArgN0) == 2, ""); - static_assert(int(dim_s2::ArgN1) == 1, ""); + static_assert(int(dim_s2::rank) == int(1)); + static_assert(int(dim_s2::rank_dynamic) == int(0)); + static_assert(int(dim_s2::ArgN0) == 2); + static_assert(int(dim_s2::ArgN1) == 1); - static_assert(int(dim_s2_s3::rank) == int(2), ""); - static_assert(int(dim_s2_s3::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2_s3::ArgN0) == 2, ""); - static_assert(int(dim_s2_s3::ArgN1) == 3, ""); - static_assert(int(dim_s2_s3::ArgN2) == 1, ""); + static_assert(int(dim_s2_s3::rank) == int(2)); + static_assert(int(dim_s2_s3::rank_dynamic) == int(0)); + static_assert(int(dim_s2_s3::ArgN0) == 2); + static_assert(int(dim_s2_s3::ArgN1) == 3); + static_assert(int(dim_s2_s3::ArgN2) == 1); - static_assert(int(dim_s2_s3_s4::rank) == int(3), ""); - static_assert(int(dim_s2_s3_s4::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2_s3_s4::ArgN0) == 2, ""); - static_assert(int(dim_s2_s3_s4::ArgN1) == 3, ""); - static_assert(int(dim_s2_s3_s4::ArgN2) == 4, ""); - static_assert(int(dim_s2_s3_s4::ArgN3) == 1, ""); + static_assert(int(dim_s2_s3_s4::rank) == int(3)); + static_assert(int(dim_s2_s3_s4::rank_dynamic) == int(0)); + static_assert(int(dim_s2_s3_s4::ArgN0) == 2); + static_assert(int(dim_s2_s3_s4::ArgN1) == 3); + static_assert(int(dim_s2_s3_s4::ArgN2) == 4); + static_assert(int(dim_s2_s3_s4::ArgN3) == 1); - static_assert(int(dim_s0::rank) == int(1), ""); - static_assert(int(dim_s0::rank_dynamic) == int(1), ""); + static_assert(int(dim_s0::rank) == int(1)); + static_assert(int(dim_s0::rank_dynamic) == int(1)); - static_assert(int(dim_s0_s3::rank) == int(2), ""); - static_assert(int(dim_s0_s3::rank_dynamic) == int(1), ""); - static_assert(int(dim_s0_s3::ArgN0) == 0, ""); - static_assert(int(dim_s0_s3::ArgN1) == 3, ""); + static_assert(int(dim_s0_s3::rank) == int(2)); + static_assert(int(dim_s0_s3::rank_dynamic) == int(1)); + static_assert(int(dim_s0_s3::ArgN0) == 0); + static_assert(int(dim_s0_s3::ArgN1) == 3); - static_assert(int(dim_s0_s3_s4::rank) == int(3), ""); - static_assert(int(dim_s0_s3_s4::rank_dynamic) == int(1), ""); - static_assert(int(dim_s0_s3_s4::ArgN0) == 0, ""); - static_assert(int(dim_s0_s3_s4::ArgN1) == 3, ""); - static_assert(int(dim_s0_s3_s4::ArgN2) == 4, ""); + static_assert(int(dim_s0_s3_s4::rank) == int(3)); + static_assert(int(dim_s0_s3_s4::rank_dynamic) == int(1)); + static_assert(int(dim_s0_s3_s4::ArgN0) == 0); + static_assert(int(dim_s0_s3_s4::ArgN1) == 3); + static_assert(int(dim_s0_s3_s4::ArgN2) == 4); - static_assert(int(dim_s0_s0_s4::rank) == int(3), ""); - static_assert(int(dim_s0_s0_s4::rank_dynamic) == int(2), ""); - static_assert(int(dim_s0_s0_s4::ArgN0) == 0, ""); - static_assert(int(dim_s0_s0_s4::ArgN1) == 0, ""); - static_assert(int(dim_s0_s0_s4::ArgN2) == 4, ""); + static_assert(int(dim_s0_s0_s4::rank) == int(3)); + static_assert(int(dim_s0_s0_s4::rank_dynamic) == int(2)); + static_assert(int(dim_s0_s0_s4::ArgN0) == 0); + static_assert(int(dim_s0_s0_s4::ArgN1) == 0); + static_assert(int(dim_s0_s0_s4::ArgN2) == 4); - static_assert(int(dim_s0_s0_s0::rank) == int(3), ""); - static_assert(int(dim_s0_s0_s0::rank_dynamic) == int(3), ""); + static_assert(int(dim_s0_s0_s0::rank) == int(3)); + static_assert(int(dim_s0_s0_s0::rank_dynamic) == int(3)); - static_assert(int(dim_s0_s0_s0_s0::rank) == int(4), ""); - static_assert(int(dim_s0_s0_s0_s0::rank_dynamic) == int(4), ""); + static_assert(int(dim_s0_s0_s0_s0::rank) == int(4)); + static_assert(int(dim_s0_s0_s0_s0::rank_dynamic) == int(4)); - static_assert(int(dim_s0_s0_s0_s0_s0::rank) == int(5), ""); - static_assert(int(dim_s0_s0_s0_s0_s0::rank_dynamic) == int(5), ""); + static_assert(int(dim_s0_s0_s0_s0_s0::rank) == int(5)); + static_assert(int(dim_s0_s0_s0_s0_s0::rank_dynamic) == int(5)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank) == int(6), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(6), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank) == int(6)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(6)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank) == int(7), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(7), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank) == int(7)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(7)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank) == int(8), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(8), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank) == int(8)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(8)); dim_s0 d1(2, 3, 4, 5, 6, 7, 8, 9); dim_s0_s0 d2(2, 3, 4, 5, 6, 7, 8, 9); @@ -514,11 +514,11 @@ void test_view_mapping() { { using namespace Kokkos::Impl; - static_assert(rank_dynamic<>::value == 0, ""); - static_assert(rank_dynamic<1>::value == 0, ""); - static_assert(rank_dynamic<0>::value == 1, ""); - static_assert(rank_dynamic<0, 1>::value == 1, ""); - static_assert(rank_dynamic<0, 0, 1>::value == 2, ""); + static_assert(rank_dynamic<>::value == 0); + static_assert(rank_dynamic<1>::value == 0); + static_assert(rank_dynamic<0>::value == 1); + static_assert(rank_dynamic<0, 1>::value == 1); + static_assert(rank_dynamic<0, 0, 1>::value == 2); } { @@ -529,54 +529,48 @@ void test_view_mapping() { using a_const_int_r1 = ViewArrayAnalysis; using a_const_int_r5 = ViewArrayAnalysis; - static_assert(a_int_r1::dimension::rank == 1, ""); - static_assert(a_int_r1::dimension::rank_dynamic == 1, ""); - static_assert(a_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_int_r5::dimension::ArgN2 == 4, ""); - static_assert(a_int_r5::dimension::ArgN3 == 5, ""); - static_assert(a_int_r5::dimension::ArgN4 == 6, ""); - static_assert(a_int_r5::dimension::ArgN5 == 1, ""); + static_assert(a_int_r1::dimension::rank == 1); + static_assert(a_int_r1::dimension::rank_dynamic == 1); + static_assert(a_int_r5::dimension::ArgN0 == 0); + static_assert(a_int_r5::dimension::ArgN1 == 0); + static_assert(a_int_r5::dimension::ArgN2 == 4); + static_assert(a_int_r5::dimension::ArgN3 == 5); + static_assert(a_int_r5::dimension::ArgN4 == 6); + static_assert(a_int_r5::dimension::ArgN5 == 1); static_assert( - std::is_same >::value, - ""); + std::is_same >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); - static_assert(a_const_int_r1::dimension::rank == 1, ""); - static_assert(a_const_int_r1::dimension::rank_dynamic == 1, ""); + static_assert(a_const_int_r1::dimension::rank == 1); + static_assert(a_const_int_r1::dimension::rank_dynamic == 1); static_assert(std::is_same >::value, - ""); - static_assert( - std::is_same::value, - ""); + ViewDimension<0> >::value); + static_assert(std::is_same::value); - static_assert(a_const_int_r5::dimension::rank == 5, ""); - static_assert(a_const_int_r5::dimension::rank_dynamic == 2, ""); + static_assert(a_const_int_r5::dimension::rank == 5); + static_assert(a_const_int_r5::dimension::rank_dynamic == 2); - static_assert(a_const_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_const_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_const_int_r5::dimension::ArgN2 == 4, ""); - static_assert(a_const_int_r5::dimension::ArgN3 == 5, ""); - static_assert(a_const_int_r5::dimension::ArgN4 == 6, ""); - static_assert(a_const_int_r5::dimension::ArgN5 == 1, ""); + static_assert(a_const_int_r5::dimension::ArgN0 == 0); + static_assert(a_const_int_r5::dimension::ArgN1 == 0); + static_assert(a_const_int_r5::dimension::ArgN2 == 4); + static_assert(a_const_int_r5::dimension::ArgN3 == 5); + static_assert(a_const_int_r5::dimension::ArgN4 == 6); + static_assert(a_const_int_r5::dimension::ArgN5 == 1); static_assert(std::is_same >::value, - ""); - static_assert( - std::is_same::value, - ""); + ViewDimension<0, 0, 4, 5, 6> >::value); + static_assert(std::is_same::value); - static_assert(a_int_r5::dimension::rank == 5, ""); - static_assert(a_int_r5::dimension::rank_dynamic == 2, ""); + static_assert(a_int_r5::dimension::rank == 5); + static_assert(a_int_r5::dimension::rank_dynamic == 2); static_assert(std::is_same >::value, - ""); + ViewDimension<0, 0, 4, 5, 6> >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); } { @@ -587,15 +581,15 @@ void test_view_mapping() { // Dimensions of t_i4 are appended to the multdimensional array. using a_int_r5 = ViewArrayAnalysis; - static_assert(a_int_r5::dimension::rank == 5, ""); - static_assert(a_int_r5::dimension::rank_dynamic == 3, ""); - static_assert(a_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_int_r5::dimension::ArgN2 == 0, ""); - static_assert(a_int_r5::dimension::ArgN3 == 3, ""); - static_assert(a_int_r5::dimension::ArgN4 == 4, ""); + static_assert(a_int_r5::dimension::rank == 5); + static_assert(a_int_r5::dimension::rank_dynamic == 3); + static_assert(a_int_r5::dimension::ArgN0 == 0); + static_assert(a_int_r5::dimension::ArgN1 == 0); + static_assert(a_int_r5::dimension::ArgN2 == 0); + static_assert(a_int_r5::dimension::ArgN3 == 3); + static_assert(a_int_r5::dimension::ArgN4 == 4); static_assert( - std::is_same::value, ""); + std::is_same::value); } { @@ -603,71 +597,54 @@ void test_view_mapping() { using a_const_int_r1 = ViewDataAnalysis; - static_assert(std::is_void::value, ""); + static_assert(std::is_void::value); static_assert(std::is_same >::value, - ""); + Kokkos::Impl::ViewDimension<0> >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int*>::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int>::value); static_assert(std::is_same::value, - ""); + const int*>::value); static_assert( - std::is_same::value, ""); - static_assert( - std::is_same::value, - ""); + std::is_same::value); + static_assert(std::is_same::value); using a_const_int_r3 = ViewDataAnalysis; - static_assert(std::is_void::value, ""); + static_assert(std::is_void::value); static_assert(std::is_same >::value, - ""); + Kokkos::Impl::ViewDimension<0, 0, 4> >::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); + const int>::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); - static_assert( - std::is_same::value, - ""); + int* * [4]>::value); + static_assert(std::is_same::value); static_assert( std::is_same::value, - ""); + int* * [4]>::value); // std::cout << "typeid( const int**[4] ).name() = " << typeid( const // int**[4] ).name() << std::endl; diff --git a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp index 9ac4e7da84..4aee035d17 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp @@ -156,7 +156,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using dst_traits = Kokkos::ViewTraits; using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -167,7 +167,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using dst_traits = Kokkos::ViewTraits; using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -180,7 +180,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -193,7 +193,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -206,7 +206,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(!mapping::is_assignable, ""); + static_assert(!mapping::is_assignable); } { // Assignment of rank-2 Right = Left @@ -215,7 +215,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(!mapping::is_assignable, ""); + static_assert(!mapping::is_assignable); } } @@ -226,7 +226,7 @@ TEST(TEST_CATEGORY, view_mapping_trivially_copyable) { using src_traits = dst_traits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(std::is_trivially_copyable{}, ""); + static_assert(std::is_trivially_copyable{}); } } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp b/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp new file mode 100644 index 0000000000..2716856c1f --- /dev/null +++ b/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp @@ -0,0 +1,175 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include + +#include + +namespace { + +TEST(TEST_CATEGORY, append_formatted_multidimensional_index) { + using Kokkos::Impl::append_formatted_multidimensional_index; + { + char buffer[64] = "my prefix "; + append_formatted_multidimensional_index(buffer, 1); + EXPECT_STREQ(buffer, "my prefix [1]"); + } + { + char buffer[64] = "I was here"; + append_formatted_multidimensional_index(buffer, 1, 2, 3); + EXPECT_STREQ(buffer, "I was here[1,2,3]"); + } + { + char buffer[64] = "with mixed integer types "; + append_formatted_multidimensional_index(buffer, 1u, -2); + EXPECT_STREQ(buffer, "with mixed integer types [1,-2]"); + } +} + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + +template +struct TestViewOutOfBoundAccess { + View v; + static constexpr auto rank = View::rank; + + template + KOKKOS_FUNCTION decltype(auto) bad_access(std::index_sequence) const { + return v((Is * 1 + Is == 0 ? v.extent(Is) + 3 : 0)...); + } + + KOKKOS_FUNCTION void operator()(int) const { + ++bad_access(std::make_index_sequence{}); + } + + template + std::string get_details(std::index_sequence) { + std::stringstream ss; + ss << "with indices \\["; + ((ss << (Is == 0 ? v.extent(Is) + 3 : 0) + << (Is == View::rank() - 1 ? "\\]" : ",")), + ...); + ss << " but extents \\["; + ((ss << v.extent(Is) << (Is == View::rank() - 1 ? "\\]" : ",")), ...); + return ss.str(); + } + + auto get_details() { + return get_details(std::make_index_sequence()); + } + + TestViewOutOfBoundAccess(View w, ExecutionSpace const& s, std::string matcher) + : v(std::move(w)) { + constexpr bool view_accessible_from_execution_space = + Kokkos::SpaceAccessibility< + /*AccessSpace=*/ExecutionSpace, + /*MemorySpace=*/typename View::memory_space>::accessible; + EXPECT_TRUE(view_accessible_from_execution_space); + + matcher += ".*" + get_details(); + + EXPECT_DEATH( + { + Kokkos::parallel_for(Kokkos::RangePolicy(s, 0, 1), + *this); + Kokkos::fence(); + }, + matcher); + } +}; + +template +auto make_view_impl(LblOrPtr x, std::index_sequence) { + return View(x, (Is + 1)...); +} + +template +auto make_view(LblOrPtr x) { + return make_view_impl(std::move(x), + std::make_index_sequence()); +} + +template +void test_view_out_of_bounds_access() { + ExecutionSpace const exec_space{}; + // clang-format off + using V1 = Kokkos::View; + using V2 = Kokkos::View; + using V3 = Kokkos::View; + using V4 = Kokkos::View; + using V5 = Kokkos::View; + using V6 = Kokkos::View; + using V7 = Kokkos::View; + using V8 = Kokkos::View; + std::string const prefix = "Kokkos::View ERROR: out of bounds access"; + std::string const lbl = "my_label"; + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + int* const ptr = nullptr; + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + // clang-format on +} + +TEST(TEST_CATEGORY_DEATH, view_out_of_bounds_access) { + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + + using ExecutionSpace = TEST_EXECSPACE; + + if (false && Kokkos::SpaceAccessibility< + /*AccessSpace=*/ExecutionSpace, + /*MemorySpace=*/Kokkos::HostSpace>::accessible) { + GTEST_SKIP() << "skipping since no memory access violation would occur"; + } + +#if defined(KOKKOS_ENABLE_SYCL) && defined(NDEBUG) // FIXME_SYCL + if (std::is_same_v) { + GTEST_SKIP() << "skipping SYCL device-side abort does not work when NDEBUG " + "is defined"; + } +#endif +#if defined(KOKKOS_ENABLE_OPENMPTARGET) // FIXME_OPENMPTARGET + if (std::is_same_v) { + GTEST_SKIP() << "skipping because OpenMPTarget backend is currently not " + "able to abort from the device"; + } +#endif +#if defined(KOKKOS_ENABLE_OPENACC) // FIXME_OPENACC + if (std::is_same::value) { + GTEST_SKIP() << "skipping because OpenACC backend is currently not " + "able to abort from the device"; + } +#endif + + test_view_out_of_bounds_access(); +} + +#endif + +} // namespace diff --git a/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp b/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp index b522ac3e69..25442146fb 100644 --- a/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp +++ b/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp @@ -19,22 +19,23 @@ #include #include -int get_device_count() { +int get_num_devices() { + int num_devices; #if defined(KOKKOS_ENABLE_CUDA) - int count; - KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); - return count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&num_devices)); #elif defined(KOKKOS_ENABLE_HIP) - int count; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDevice(&count)); - return count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&num_devices)); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return omp_get_num_devices(); + num_devices = omp_get_num_devices(); #elif defined(KOKKOS_ENABLE_OPENACC) - return acc_get_num_devices(acc_get_device_type()); + num_devices = acc_get_num_devices(acc_get_device_type()); +#elif defined(KOKKOS_ENABLE_SYCL) + num_devices = sycl::device::get_devices(sycl::info::device_type::gpu).size(); #else - return 0; + num_devices = -1; #endif + assert(num_devices == Kokkos::num_devices()); + return num_devices; } int get_device_id() { @@ -44,15 +45,17 @@ int get_device_id() { #elif defined(KOKKOS_ENABLE_HIP) KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDevice(&device_id)); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - device_id = omp_get_device_num(); + device_id = omp_get_default_device(); #elif defined(KOKKOS_ENABLE_OPENACC) - device_id = acc_get_device_num(acc_get_device_type()); + device_id = acc_get_device_num(acc_get_device_type()); #elif defined(KOKKOS_ENABLE_SYCL) - // FIXME_SYCL ? - assert(false); - return -2; + // Not able to query the underlying runtime because there is no such thing as + // device currently being used with SYCL. We go through the Kokkos runtime + // which makes the assert below pointless but it still let us check that + // Kokkos selected the device we asked for from the Python tests. + device_id = Kokkos::device_id(); #else - device_id = -1; + device_id = -1; #endif assert(device_id == Kokkos::device_id()); return device_id; @@ -68,6 +71,14 @@ int get_max_threads() { #endif } +int get_hwloc_enabled() { +#ifdef KOKKOS_ENABLE_HWLOC + return 1; +#else + return 0; +#endif +} + int get_num_threads() { int const num_threads = Kokkos::DefaultHostExecutionSpace().concurrency(); assert(num_threads == Kokkos::num_threads()); @@ -90,9 +101,10 @@ int print_flag(std::string const& flag) { KOKKOS_TEST_PRINT_FLAG(num_threads); KOKKOS_TEST_PRINT_FLAG(max_threads); KOKKOS_TEST_PRINT_FLAG(device_id); - KOKKOS_TEST_PRINT_FLAG(device_count); + KOKKOS_TEST_PRINT_FLAG(num_devices); KOKKOS_TEST_PRINT_FLAG(disable_warnings); KOKKOS_TEST_PRINT_FLAG(tune_internals); + KOKKOS_TEST_PRINT_FLAG(hwloc_enabled); #undef KOKKOS_TEST_PRINT_FLAG diff --git a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash index 8fe8e2b5ec..8bc8ef21cd 100755 --- a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash +++ b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash @@ -4,7 +4,7 @@ HostArch=(SNB HSW SKX KNL) DeviceArch=(Kepler35 Kepler37 Pascal60 Pascal61 Volta70) if [ ! -z "$KOKKOS_HOST_ARCH_TEST" ]; then export KOKKOS_ARCH_TEST=1 - HostArch=(WSM SNB HSW SKX WSM AMDAVX ARMv80 ARMv81 BDW KNC KNL BGQ Power7 Power8 Power9 Zen Zen2 Zen3 ARMv8_ThunderX ARMv8_ThunderX2) + HostArch=(SNB HSW SKX AMDAVX ARMv80 ARMv81 BDW KNC KNL Power8 Power9 Zen Zen2 Zen3 ARMv8_ThunderX ARMv8_ThunderX2) DeviceArch=() fi diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp new file mode 100644 index 0000000000..d94735ceb2 --- /dev/null +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp @@ -0,0 +1,268 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include + +namespace { + +struct StreamsAndDevices { + std::array streams; + std::array devices; + + StreamsAndDevices() { + int n_devices; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&n_devices)); + + devices = {0, n_devices - 1}; + for (int i = 0; i < 2; ++i) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(devices[i])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamCreate(&streams[i])); + } + } + StreamsAndDevices(const StreamsAndDevices &) = delete; + StreamsAndDevices &operator=(const StreamsAndDevices &) = delete; + ~StreamsAndDevices() { + for (int i = 0; i < 2; ++i) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(devices[i])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamDestroy(streams[i])); + } + } +}; + +std::array get_execution_spaces( + const StreamsAndDevices &streams_and_devices) { + TEST_EXECSPACE exec0(streams_and_devices.streams[0]); + TEST_EXECSPACE exec1(streams_and_devices.streams[1]); + + // Must return void to use ASSERT_EQ + [&]() { + ASSERT_EQ(exec0.cuda_device(), streams_and_devices.devices[0]); + ASSERT_EQ(exec1.cuda_device(), streams_and_devices.devices[1]); + }(); + + return {exec0, exec1}; +} + +// Test Interoperability with Cuda Streams +void test_policies(TEST_EXECSPACE exec0, Kokkos::View v0, + TEST_EXECSPACE exec, Kokkos::View v) { + using MemorySpace = typename TEST_EXECSPACE::memory_space; + + Kokkos::deep_copy(exec, v, 5); + Kokkos::deep_copy(exec0, v0, 5); + + Kokkos::deep_copy(v, v0); + + int sum; + int sum0; + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range_0", + Kokkos::RangePolicy(exec0, 0, 100), + Test::FunctorRange(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range", + Kokkos::RangePolicy(exec, 0, 100), + Test::FunctorRange(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::RangeReduce_0", + Kokkos::RangePolicy>(exec0, + 0, 100), + Test::FunctorRangeReduce(v0), sum0); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::RangeReduce", + Kokkos::RangePolicy>(exec, 0, + 100), + Test::FunctorRangeReduce(v), sum); + ASSERT_EQ(600, sum0); + ASSERT_EQ(600, sum); + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange_0", + Kokkos::MDRangePolicy>( + exec0, {0, 0}, {10, 10}), + Test::FunctorMDRange(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange", + Kokkos::MDRangePolicy>( + exec, {0, 0}, {10, 10}), + Test::FunctorMDRange(v)); + Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce_0", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>( + exec0, {0, 0}, {10, 10}), + Test::FunctorMDRangeReduce(v0), sum0); + Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>( + exec, {0, 0}, {10, 10}), + Test::FunctorMDRangeReduce(v), sum); + ASSERT_EQ(700, sum0); + ASSERT_EQ(700, sum); + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team_0", + Kokkos::TeamPolicy(exec0, 10, 10), + Test::FunctorTeam(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team", + Kokkos::TeamPolicy(exec, 10, 10), + Test::FunctorTeam(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::Team_0", + Kokkos::TeamPolicy>(exec0, + 10, 10), + Test::FunctorTeamReduce(v0), sum0); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::Team", + Kokkos::TeamPolicy>(exec, 10, + 10), + Test::FunctorTeamReduce(v), sum); + ASSERT_EQ(800, sum0); + ASSERT_EQ(800, sum); +} + +TEST(cuda_multi_gpu, managed_views) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + Kokkos::View view0( + Kokkos::view_alloc("v0", execs[0]), 100); + Kokkos::View view(Kokkos::view_alloc("v", execs[1]), + 100); + + test_policies(execs[0], view0, execs[1], view); + } +} + +TEST(cuda_multi_gpu, unmanaged_views) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(execs[0].cuda_device())); + int *p0; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&p0), sizeof(int) * 100)); + Kokkos::View view0(p0, 100); + + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(execs[1].cuda_device())); + int *p; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&p), sizeof(int) * 100)); + Kokkos::View view(p, 100); + + test_policies(execs[0], view0, execs[1], view); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(p0)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(p)); + } +} + +struct ScratchFunctor { + int scratch_size; + int R; + + ScratchFunctor(int scratch_size_, int R_) + : scratch_size(scratch_size_), R(R_) {} + + KOKKOS_FUNCTION + void operator()(const Kokkos::TeamPolicy::member_type &team, + int &error_accum) const { + Kokkos::View scratch_mem( + team.team_scratch(1), scratch_size); + + // Initialize scratch memory + Kokkos::parallel_for(Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i) { scratch_mem(i) = 0; }); + team.team_barrier(); + + // Increment each entry in scratch memory R times + for (int r = 0; r < R; ++r) { + Kokkos::parallel_for(Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i) { scratch_mem(i) += 1; }); + } + team.team_barrier(); + + // Check that each scratch entry has been incremented exactly R times + int team_error_accum; + auto R_loc = R; // avoid implicit capture of this + Kokkos::parallel_reduce( + Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i, int &tsum) { + if (scratch_mem(i) != R_loc) { + tsum += 1; + } + }, + team_error_accum); + Kokkos::single(Kokkos::PerTeam(team), + [&]() { error_accum += team_error_accum; }); + } +}; + +void test_scratch(TEST_EXECSPACE exec0, TEST_EXECSPACE exec1) { + constexpr int N = 10; + constexpr int R = 1000; + constexpr int scratch_size = 100; + using ScratchType = Kokkos::View; + + // Test allocating and using scratch space + ScratchFunctor f(scratch_size, R); + + auto policy0 = + Kokkos::TeamPolicy(exec0, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(scratch_size))); + auto policy1 = + Kokkos::TeamPolicy(exec1, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(scratch_size))); + + int error0, error1; + + Kokkos::parallel_reduce("test_scratch_device_0", policy0, f, error0); + Kokkos::parallel_reduce("test_scratch_device_1", policy1, f, error1); + ASSERT_EQ(error0, 0); + ASSERT_EQ(error1, 0); + + // Request larger scratch size to trigger a realloc and test + const auto new_scratch_size = scratch_size + 10; + ScratchFunctor f_more_scratch(new_scratch_size, R); + + auto policy0_more_scratch = + Kokkos::TeamPolicy(exec0, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(new_scratch_size))); + auto policy1_more_scratch = + Kokkos::TeamPolicy(exec1, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(new_scratch_size))); + + Kokkos::parallel_reduce("test_realloc_scratch_device_0", policy0_more_scratch, + f_more_scratch, error0); + Kokkos::parallel_reduce("test_realloc_scratch_device_1", policy1_more_scratch, + f_more_scratch, error1); + ASSERT_EQ(error0, 0); + ASSERT_EQ(error1, 0); +} + +TEST(cuda_multi_gpu, scratch_space) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + test_scratch(execs[0], execs[1]); + } +} +} // namespace diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp index ae603101ab..11fe6b8555 100644 --- a/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp @@ -29,200 +29,166 @@ __global__ void test_cuda_spaces_int_value(int *ptr) { TEST(cuda, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaUVMSpace>::assignable); + + static_assert(!Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaSpace, Kokkos::CudaHostPinnedSpace>::assignable); + + static_assert( + Kokkos::Impl::MemorySpaceAccess::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( - Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + !Kokkos::Impl::MemorySpaceAccess::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaUVMSpace, Kokkos::CudaHostPinnedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); //-------------------------------------- static_assert( - !Kokkos::SpaceAccessibility::accessible, - ""); + !Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaSpace>::accessible); static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); static_assert(std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same::Space, Kokkos::Device>::value, - ""); + Kokkos::CudaUVMSpace>>::value); static_assert( std::is_same::Space, - Kokkos::CudaHostPinnedSpace>::value, - ""); + Kokkos::CudaHostPinnedSpace>::value); static_assert(std::is_same, Kokkos::Device>::value, - ""); + Kokkos::CudaUVMSpace>>::value); static_assert( Kokkos::SpaceAccessibility::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); - static_assert( - Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + static_assert(Kokkos::SpaceAccessibility< + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); #ifdef KOKKOS_ENABLE_CUDA_UVM using uvm_view = Kokkos::View; static_assert(std::is_same::Space; static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); } } // namespace Test diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp deleted file mode 100644 index 348b9feeab..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_01 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp deleted file mode 100644 index a77a55ea65..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_10 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp deleted file mode 100644 index 1b6a140920..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_11 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp deleted file mode 100644 index 316bc85526..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_12 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp deleted file mode 100644 index 6344960a1c..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_13 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp deleted file mode 100644 index 4515174b82..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_14 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp deleted file mode 100644 index 7ead50f094..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_15 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp deleted file mode 100644 index e12b9b3894..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_16 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp deleted file mode 100644 index 959d0ab750..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_17 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp deleted file mode 100644 index 07d841519d..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_18 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp deleted file mode 100644 index 042a515b16..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_02 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp deleted file mode 100644 index dba401e5bc..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_03 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp deleted file mode 100644 index a44c58bdb5..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_04 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp deleted file mode 100644 index cac0841dd8..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_05 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp deleted file mode 100644 index bafe3b3fd2..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_06 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp deleted file mode 100644 index 3a4dd9d253..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_07 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp deleted file mode 100644 index 4e92aae565..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_08 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp deleted file mode 100644 index 44b8f3428d..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_09 -#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp index 8c72e9f297..a213453ea1 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp @@ -48,6 +48,9 @@ TEST(hip, memory_requirements) { // we want all user-facing memory in hip to be coarse grained. As of // today(07.01.22) the documentation is not reliable/correct, we test the // memory on the device and host + // FIXME_HIP + GTEST_SKIP() << "skipping the test because the CI on MI100 returns: error( " + "hipErrorInvalidValue)"; KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPSpace, int, 10); KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPHostPinnedSpace, int, 10); KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPManagedSpace, int, 10); diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp index 14fd4e2883..8f7499c244 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp @@ -29,198 +29,164 @@ __global__ void test_hip_spaces_int_value(int *ptr) { TEST(hip, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); //-------------------------------------- static_assert( - !Kokkos::SpaceAccessibility::accessible, - ""); + !Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + static_assert( + Kokkos::SpaceAccessibility::accessible); static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + static_assert( + Kokkos::SpaceAccessibility::accessible); static_assert(std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same::Space, - Kokkos::HIPHostPinnedSpace>::value, - ""); + Kokkos::HIPHostPinnedSpace>::value); static_assert( std::is_same::Space, Kokkos::Device>::value, - ""); + Kokkos::HIPManagedSpace>>::value); static_assert( Kokkos::SpaceAccessibility::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); } template diff --git a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp index 25c7138ed3..d7b2a57b44 100644 --- a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp @@ -62,8 +62,10 @@ struct TestIncrExecSpace { auto concurrency = ExecSpace().concurrency(); ASSERT_GT(concurrency, 0); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 int in_parallel = ExecSpace::in_parallel(); ASSERT_FALSE(in_parallel); +#endif const char* name = ExecSpace::name(); std::cout << name << std::endl; diff --git a/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp b/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp deleted file mode 100644 index 92b8032bf0..0000000000 --- a/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp +++ /dev/null @@ -1,105 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include -#include - -#include - -namespace Test { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -TEST(openmp, partition_master) { - using Mutex = Kokkos::Experimental::MasterLock; - - Mutex mtx; - int errors = 0; - - auto master = [&errors, &mtx](int /*partition_id*/, int /*num_partitions*/) { - const int pool_size = Kokkos::OpenMP().impl_thread_pool_size(); - - { - std::unique_lock lock(mtx); - if (Kokkos::OpenMP::in_parallel()) { - ++errors; - } - if (Kokkos::OpenMP::impl_thread_pool_rank() != 0) { - ++errors; - } - } - - { - int local_errors = 0; - Kokkos::parallel_reduce( - Kokkos::RangePolicy(0, 1000), - [pool_size](const int, int& errs) { - if (Kokkos::OpenMP().impl_thread_pool_size() != pool_size) { - ++errs; - } - }, - local_errors); - Kokkos::atomic_add(&errors, local_errors); - } - - Kokkos::Experimental::UniqueToken token; - - Kokkos::View count("", token.size()); - - Kokkos::parallel_for(Kokkos::RangePolicy(0, 1000), - [=](const int) { - int i = token.acquire(); - ++count[i]; - token.release(i); - }); - - Kokkos::View sum(""); - Kokkos::parallel_for( - Kokkos::RangePolicy(0, token.size()), - [=](const int i) { Kokkos::atomic_add(sum.data(), count[i]); }); - - if (sum() != 1000) { - Kokkos::atomic_add(&errors, 1); - } - }; - - master(0, 1); - - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 4, 0); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 0, 4); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 2, 2); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 8, 0); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 0, 8); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 8, 8); - ASSERT_EQ(errors, 0); -} -#endif - -} // namespace Test diff --git a/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp b/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp index 914f843248..a4fd053e83 100644 --- a/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp +++ b/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp @@ -21,235 +21,192 @@ namespace Test { TEST(sycl, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); //-------------------------------------- static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert(!Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert( std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same< Kokkos::Impl::HostMirror< Kokkos::Experimental::SYCLSharedUSMSpace>::Space, Kokkos::Device>::value, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace>>::value); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert(std::is_same::Space, - Kokkos::Experimental::SYCLHostUSMSpace>::value, - ""); + Kokkos::Experimental::SYCLHostUSMSpace>::value); static_assert( std::is_same< Kokkos::Device, Kokkos::Device>::value, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace>>::value); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLDeviceUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLDeviceUSMSpace>::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLSharedUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLSharedUSMSpace>::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLHostUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLHostUSMSpace>::Space, + Kokkos::HostSpace>::accessible); } TEST(sycl, uvm) { diff --git a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp index 3c85f661aa..946169a786 100644 --- a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp +++ b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp @@ -409,14 +409,19 @@ TEST(kokkosp, parallel_scan_no_fence) { << "skipping since the OpenMPTarget backend has unexpected fences"; #endif + // Execute the parallel_scan first without looking for fence events. + // Depending on the backend implementation and the order of tests, + // it might be that the first call to parallel_scan is reallocating scratch + // memory which implies a fence when deallocating. We are not interested in + // detecting this event. + TestScanFunctor tf; + Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); + using namespace Kokkos::Test::Tools; listen_tool_events(Config::DisableAll(), Config::EnableKernels(), Config::EnableFences()); auto success = validate_absence( - [=]() { - TestScanFunctor tf; - Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); - }, + [=]() { Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); }, [=](BeginFenceEvent begin_event) { if (begin_event.name.find("Debug Only Check for Execution Error") != std::string::npos || @@ -450,13 +455,20 @@ TEST(kokkosp, parallel_scan_no_fence_view) { << "skipping since the OpenMPTarget backend has unexpected fences"; #endif + // Execute the parallel_scan first without looking for fence events. + // Depending on the backend implementation and the order of tests, + // it might be that the first call to parallel_scan is reallocating scratch + // memory which implies a fence when deallocating. We are not interested in + // detecting this event. + TestScanFunctor tf; + Kokkos::View v("scan_result"); + Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf, v); + using namespace Kokkos::Test::Tools; listen_tool_events(Config::DisableAll(), Config::EnableKernels(), Config::EnableFences()); - Kokkos::View v("scan_result"); auto success = validate_absence( [=]() { - TestScanFunctor tf; Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf, v); }, [=](BeginFenceEvent begin_event) { diff --git a/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp b/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp deleted file mode 100644 index 4e56f8996a..0000000000 --- a/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp +++ /dev/null @@ -1,177 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER -#include -#include -#include "Kokkos_Core.hpp" - -#include - -namespace Test { - -void debug_print(const Kokkos_Profiling_SpaceHandle hand, const char* name, - const void* ptr, const size_t size) { - std::cout << "Alloc: " << hand.name << ", [" << name << "," << ptr << "] " - << size << std::endl; -} -void debug_dealloc(const Kokkos_Profiling_SpaceHandle hand, const char* name, - const void* ptr, const size_t size) { - std::cout << "Dealloc: " << hand.name << ", [" << name << "," << ptr << "] " - << size << std::endl; -} - -void fail_on_event(const Kokkos::Profiling::SpaceHandle, const char*, - const void*, const uint64_t) { - ASSERT_TRUE(false) << "Unexpected memory event"; -} - -void expect_no_events() { - Kokkos::Tools::Experimental::set_allocate_data_callback(&fail_on_event); - Kokkos::Tools::Experimental::set_deallocate_data_callback(&fail_on_event); -} - -std::string expected_view_name; -std::string expected_space_name; -std::string error_message; -void expect_allocation_event(const std::string evn, const std::string esn, - const std::string em) { - expected_view_name = evn; - expected_space_name = esn; - error_message = em; - Kokkos::Tools::Experimental::set_allocate_data_callback( - [](const Kokkos_Profiling_SpaceHandle hand, const char* name, const void*, - const uint64_t) { - ASSERT_EQ(std::string(hand.name), expected_space_name) - << error_message << " (bad handle)"; - ASSERT_EQ(std::string(name), expected_view_name) - << error_message << " (bad view name)"; - expect_no_events(); - }); -} -void expect_deallocation_event(const std::string& evn, const std::string& esn, - const std::string em) { - expected_view_name = evn; - expected_space_name = esn; - error_message = em; - Kokkos::Tools::Experimental::set_deallocate_data_callback( - [](const Kokkos_Profiling_SpaceHandle hand, const char* name, const void*, - const uint64_t) { - ASSERT_EQ(std::string(hand.name), expected_space_name) - << error_message << " (bad handle)"; - ASSERT_EQ(std::string(name), expected_view_name) - << error_message << " (bad view name)"; - expect_no_events(); - }); -} - -struct TestSpaceNamer { - static constexpr const char* get_name() { return "TestSpace"; } -}; -struct TestSpaceNamerTwo { - static constexpr const char* get_name() { return "YoDawg"; } -}; -struct TestSpaceNamerThree { - static constexpr const char* get_name() { return "CustomAccessSpace"; } -}; -using fake_memory_space = Kokkos::Experimental::LogicalMemorySpace< - Kokkos::HostSpace, Kokkos::DefaultHostExecutionSpace, TestSpaceNamer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>; - -void test_view_construct() { - { - expect_allocation_event("puppy_view", "TestSpace", "View allocation"); - Kokkos::View pup_view("puppy_view", 1000); - expect_deallocation_event("puppy_view", "TestSpace", "View free"); - } - Kokkos::Tools::Experimental::pause_tools(); -} -void test_malloc_free() { - expect_allocation_event("does_malloc_work", "TestSpace", - "Error in malloc event"); - auto* temp = - Kokkos::kokkos_malloc("does_malloc_work", 1000); - expect_deallocation_event("does_malloc_work", "TestSpace", "Error in free"); - Kokkos::kokkos_free(temp); - Kokkos::Tools::Experimental::pause_tools(); -} -void test_chained_spaces() { - using doubly_fake_memory_space = Kokkos::Experimental::LogicalMemorySpace< - fake_memory_space, Kokkos::DefaultHostExecutionSpace, TestSpaceNamerTwo, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>; - { - expect_allocation_event("xzibit_dot_jpeg", "YoDawg", - "Chained space view allocation"); - Kokkos::View pup_view("xzibit_dot_jpeg", - 1000); - expect_deallocation_event("xzibit_dot_jpeg", "YoDawg", - "Chained space free"); - } - Kokkos::Tools::Experimental::pause_tools(); -} -void test_space_allocations() { - fake_memory_space debug_space; - expect_allocation_event("allocation_from_space", "TestSpace", - "Space allocation"); - auto* temp = debug_space.allocate("allocation_from_space", 1000); - expect_deallocation_event("allocation_from_space", "TestSpace", - "Space deallocation"); - debug_space.deallocate("allocation_from_space", temp, 1000); - Kokkos::Tools::Experimental::pause_tools(); -} -template -struct AccessCheckKernel { - Kokkos::View data; - KOKKOS_FUNCTION void operator()(const int i) const { data[i] = i; } -}; - -template -void test_allowed_access() { - constexpr const int data_size = 1000; - // We use an unmananged View here since we want to detect a memory access - // violation in the parallel_for and not in the initialization of the View. - std::vector test_data(data_size); - Kokkos::View test_view(test_data.data(), data_size); - AccessCheckKernel functor{test_view}; - Kokkos::parallel_for( - "access_allowed", - Kokkos::RangePolicy(0, data_size), - functor); - Kokkos::fence(); -} - -using semantically_independent_logical_space = - Kokkos::Experimental::LogicalMemorySpace< - Kokkos::HostSpace, Kokkos::DefaultHostExecutionSpace, - TestSpaceNamerThree, - Kokkos::Experimental::LogicalSpaceSharesAccess::no_shared_access>; - -TEST(defaultdevicetype, logical_space_views) { test_view_construct(); } -TEST(defaultdevicetype, logical_space_malloc) { test_malloc_free(); } -TEST(defaultdevicetype, logical_space_alloc) { test_space_allocations(); } -TEST(defaultdevicetype, chained_logical_spaces) { test_chained_spaces(); } -TEST(defaultdevicetype, access_allowed) { - test_allowed_access(); -} -// FIXME_SYCL -#if !(defined(KOKKOS_COMPILER_INTEL_LLVM) && defined(KOKKOS_ENABLE_SYCL)) -TEST(defaultdevicetype_DeathTest, access_forbidden) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - ASSERT_DEATH( - { test_allowed_access(); }, - "Kokkos::View ERROR: attempt to access inaccessible memory space"); -} -#endif - -} // namespace Test diff --git a/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp b/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp index 318766ac45..9d35d67feb 100644 --- a/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp +++ b/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp @@ -108,8 +108,8 @@ TEST(defaultdevicetype, profiling_section) { } using Kokkos::Profiling::ProfilingSection; -static_assert(!std::is_default_constructible::value, ""); -static_assert(!std::is_copy_constructible::value, ""); -static_assert(!std::is_move_constructible::value, ""); -static_assert(!std::is_copy_assignable::value, ""); -static_assert(!std::is_move_assignable::value, ""); +static_assert(!std::is_default_constructible::value); +static_assert(!std::is_copy_constructible::value); +static_assert(!std::is_move_constructible::value); +static_assert(!std::is_copy_assignable::value); +static_assert(!std::is_move_assignable::value); diff --git a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp index 5b8a21af83..22b8b6d63c 100644 --- a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp @@ -58,12 +58,7 @@ struct hello_world { // is unnecessary but harmless. KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - // FIXME_SYCL needs workaround for printf -#ifndef __SYCL_DEVICE_ONLY__ - printf("Hello from i = %i\n", i); -#else - (void)i; -#endif + Kokkos::printf("Hello from i = %i\n", i); } }; diff --git a/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp b/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp index c78f307636..909765e1fc 100644 --- a/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp @@ -76,13 +76,9 @@ int main(int argc, char* argv[]) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) Kokkos::parallel_for( 15, KOKKOS_LAMBDA(const int i) { - // FIXME_SYCL needs workaround for printf -#ifndef __SYCL_DEVICE_ONLY__ - // printf works in a CUDA parallel kernel; std::ostream does not. - printf("Hello from i = %i\n", i); -#else - (void)i; -#endif + // Kokko::printf works for all backends in a parallel kernel; + // std::ostream does not. + Kokkos::printf("Hello from i = %i\n", i); }); #endif // You must call finalize() after you are done using Kokkos. diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp index b041f8d435..ee3f4721d9 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp @@ -47,13 +47,9 @@ struct hello_world { // The TeamPolicy<>::member_type provides functions to query the multi // dimensional index of a thread as well as the number of thread-teams and // the size of each team. -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs printf workaround - printf("Hello World: %i %i // %i %i\n", thread.league_rank(), - thread.team_rank(), thread.league_size(), thread.team_size()); -#else - (void)thread; -#endif + Kokkos::printf("Hello World: %i %i // %i %i\n", thread.league_rank(), + thread.team_rank(), thread.league_size(), + thread.team_size()); } }; diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp index 933b254f7c..1e6812adea 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp @@ -57,16 +57,12 @@ int main(int narg, char* args[]) { policy, KOKKOS_LAMBDA(const team_member& thread, int& lsum) { lsum += 1; - // TeamPolicy<>::member_type provides functions to query the - // multidimensional index of a thread, as well as the number of - // thread teams and the size of each team. -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs workaround for printf - printf("Hello World: %i %i // %i %i\n", thread.league_rank(), - thread.team_rank(), thread.league_size(), thread.team_size()); -#else - (void)thread; -#endif + // TeamPolicy<>::member_type provides functions to query the + // multidimensional index of a thread, as well as the number of + // thread teams and the size of each team. + Kokkos::printf("Hello World: %i %i // %i %i\n", thread.league_rank(), + thread.team_rank(), thread.league_size(), + thread.team_size()); }, sum); #endif diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp index 398810d133..75d6089e9a 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp @@ -43,16 +43,11 @@ struct hello_world { // the operator using a team_policy acts like a parallel region for the // team. That means that everything outside of the nested parallel_for is // also executed by all threads of the team. - Kokkos::parallel_for(Kokkos::TeamThreadRange(thread, 31), - [&](const int& i) { -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs printf workaround - printf("Hello World: (%i , %i) executed loop %i \n", - thread.league_rank(), thread.team_rank(), i); -#else - (void) i; -#endif - }); + Kokkos::parallel_for( + Kokkos::TeamThreadRange(thread, 31), [&](const int& i) { + Kokkos::printf("Hello World: (%i , %i) executed loop %i \n", + thread.league_rank(), thread.team_rank(), i); + }); } }; diff --git a/lib/kokkos/generate_makefile.bash b/lib/kokkos/generate_makefile.bash index 301a1fceb5..25370daa3f 100755 --- a/lib/kokkos/generate_makefile.bash +++ b/lib/kokkos/generate_makefile.bash @@ -170,12 +170,9 @@ display_help_text() { echo " ARMV8_THUNDERX = ARMv8 Cavium ThunderX CPU" echo " ARMV8_THUNDERX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" - echo " BGQ = IBM Blue Gene Q" - echo " Power7 = IBM POWER7 and POWER7+ CPUs" echo " Power8 = IBM POWER8 CPUs" echo " Power9 = IBM POWER9 CPUs" echo " [Intel]" - echo " WSM = Intel Westmere CPUs" echo " SNB = Intel Sandy/Ivy Bridge CPUs" echo " HSW = Intel Haswell CPUs" echo " BDW = Intel Broadwell Xeon E-class CPUs" @@ -226,7 +223,6 @@ display_help_text() { echo "--with-gtest=/Path/To/Gtest: Set path to gtest. (Used in unit and performance" echo " tests.)" echo "--with-hwloc=/Path/To/Hwloc: Set path to hwloc library." - echo "--with-memkind=/Path/To/MemKind: Set path to memkind library." echo "--with-options=[OPT]: Additional options to Kokkos:" echo " compiler_warnings" echo " aggressive_vectorization = add ivdep on loops" @@ -342,10 +338,6 @@ do KOKKOS_HWLOC=ON HWLOC_PATH="${key#*=}" ;; - --with-memkind*) - KOKKOS_MEMKIND=ON - MEMKIND_PATH="${key#*=}" - ;; --arch*) KOKKOS_ARCH="${key#*=}" ;; @@ -452,15 +444,6 @@ else KOKKOS_HWLOC_CMD= fi -if [ "$KOKKOS_MEMKIND" == "ON" ]; then - KOKKOS_MEMKIND_CMD=-DKokkos_ENABLE_MEMKIND=ON - if [ "$MEMKIND_PATH" != "" ]; then - KOKKOS_MEMKIND_PATH_CMD=-DMEMKIND_ROOT=$MEMKIND_PATH - fi -else - KOKKOS_MEMKIND_CMD= -fi - if [ ! -e ${KOKKOS_PATH}/CMakeLists.txt ]; then if [ "${KOKKOS_PATH}" == "" ]; then CM_SCRIPT=$0 @@ -506,5 +489,5 @@ if [[ ${COMPILER} == *clang* ]]; then fi fi -echo cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${KOKKOS_MEMKIND_CMD} ${KOKKOS_MEMKIND_PATH_CMD} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} -cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS//\"}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS//\"}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${KOKKOS_MEMKIND_CMD} ${KOKKOS_MEMKIND_PATH_CMD} ${PASSTHRU_CMAKE_FLAGS} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} +echo cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} +cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS//\"}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS//\"}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${PASSTHRU_CMAKE_FLAGS} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} diff --git a/lib/kokkos/gnu_generate_makefile.bash b/lib/kokkos/gnu_generate_makefile.bash index 5ea159cdd4..7a197bb71d 100755 --- a/lib/kokkos/gnu_generate_makefile.bash +++ b/lib/kokkos/gnu_generate_makefile.bash @@ -74,9 +74,6 @@ do --with-hwloc*) HWLOC_PATH="${key#*=}" ;; - --with-memkind*) - MEMKIND_PATH="${key#*=}" - ;; --arch*) KOKKOS_ARCH="${key#*=}" ;; @@ -148,12 +145,9 @@ do echo " ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU" echo " ARMv8-TX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" - echo " BGQ = IBM Blue Gene Q" - echo " Power7 = IBM POWER7 and POWER7+ CPUs" echo " Power8 = IBM POWER8 CPUs" echo " Power9 = IBM POWER9 CPUs" echo " [Intel]" - echo " WSM = Intel Westmere CPUs" echo " SNB = Intel Sandy/Ivy Bridge CPUs" echo " HSW = Intel Haswell CPUs" echo " BDW = Intel Broadwell Xeon E-class CPUs" @@ -198,7 +192,6 @@ do echo "--with-gtest=/Path/To/Gtest: Set path to gtest. (Used in unit and performance" echo " tests.)" echo "--with-hwloc=/Path/To/Hwloc: Set path to hwloc library." - echo "--with-memkind=/Path/To/MemKind: Set path to memkind library." echo "--with-options=[OPT]: Additional options to Kokkos:" echo " compiler_warnings" echo " aggressive_vectorization = add ivdep on loops" @@ -298,11 +291,6 @@ if [ ${#HWLOC_PATH} -gt 0 ]; then KOKKOS_USE_TPLS="${KOKKOS_USE_TPLS},hwloc" fi -if [ ${#MEMKIND_PATH} -gt 0 ]; then - KOKKOS_SETTINGS="${KOKKOS_SETTINGS} MEMKIND_PATH=${MEMKIND_PATH}" - KOKKOS_USE_TPLS="${KOKKOS_USE_TPLS},experimental_memkind" -fi - if [ ${#KOKKOS_USE_TPLS} -gt 0 ]; then KOKKOS_SETTINGS="${KOKKOS_SETTINGS} KOKKOS_USE_TPLS=${KOKKOS_USE_TPLS}" fi diff --git a/lib/kokkos/master_history.txt b/lib/kokkos/master_history.txt index a43b5276a8..bd122a456b 100644 --- a/lib/kokkos/master_history.txt +++ b/lib/kokkos/master_history.txt @@ -35,3 +35,4 @@ tag: 4.0.01 date: 04:26:2023 master: aa1f48f3 release: 5893754f tag: 4.1.00 date: 06:20:2023 master: 62d2b6c8 release: adde1e6a tag: 4.2.00 date: 11:09:2023 master: 1a3ea28f release: abe01c88 tag: 4.2.01 date: 01:30:2024 master: 71a9bcae release: 221e5f7a +tag: 4.3.00 date: 04:03:2024 master: e0dc0128 release: f08217a4 diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp index 521160b76f..6d0956f383 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp @@ -30,9 +30,11 @@ "Kokkos_SIMD_AVX2.hpp must be included before Kokkos_SIMD_Common_Math.hpp!" #endif -// FIXME_HIP ROCm 5.6 and 5.7 can't compile with the intrinsic used here. -#if defined(__HIPCC__) && (HIP_VERSION_MAJOR == 5) && \ - ((HIP_VERSION_MINOR == 6) || (HIP_VERSION_MINOR == 7)) +// FIXME_HIP ROCm 5.6, 5.7, and 6.0 can't compile with the intrinsic used here. +#if defined(__HIPCC__) && \ + (((HIP_VERSION_MAJOR == 5) && \ + ((HIP_VERSION_MINOR == 6) || (HIP_VERSION_MINOR == 7))) || \ + ((HIP_VERSION_MAJOR == 6) && ((HIP_VERSION_MINOR == 0)))) #define KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE #endif @@ -563,10 +565,18 @@ class simd> { element_aligned_tag) { m_value = _mm256_loadu_pd(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_load_pd(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_storeu_pd(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_store_pd(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256d() const { return m_value; @@ -818,10 +828,18 @@ class simd> { element_aligned_tag) { m_value = _mm_loadu_ps(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm_load_ps(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm_storeu_ps(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm_store_ps(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m128() const { return m_value; @@ -1059,17 +1077,31 @@ class simd> { } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, element_aligned_tag) { - // FIXME_HIP ROCm 5.6 can't compile with the intrinsic used here. + // FIXME_HIP ROCm 5.6, 5.7, and 6.0 can't compile with the intrinsic used + // here. #ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE m_value = _mm_loadu_si128(reinterpret_cast<__m128i const*>(ptr)); #else m_value = _mm_maskload_epi32(ptr, static_cast<__m128i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + // FIXME_HIP ROCm 5.6 can't compile with the intrinsic used here. +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm_load_si128(reinterpret_cast<__m128i const*>(ptr)); +#else + m_value = _mm_maskload_epi32(ptr, static_cast<__m128i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm_maskstore_epi32(ptr, static_cast<__m128i>(mask_type(true)), m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm_maskstore_epi32(ptr, static_cast<__m128i>(mask_type(true)), m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m128i() const { return m_value; @@ -1111,6 +1143,11 @@ class simd> { return simd( _mm_add_epi32(static_cast<__m128i>(lhs), static_cast<__m128i>(rhs))); } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd( + _mm_mullo_epi32(static_cast<__m128i>(lhs), static_cast<__m128i>(rhs))); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( simd const& lhs, int rhs) noexcept { @@ -1249,6 +1286,15 @@ class simd> { #else m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm256_load_si256(reinterpret_cast<__m256i const*>(ptr)); +#else + m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( @@ -1256,6 +1302,11 @@ class simd> { _mm256_maskstore_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true)), m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true)), m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { return m_value; @@ -1278,6 +1329,13 @@ class simd> { _mm256_add_epi64(static_cast<__m256i>(lhs), static_cast<__m256i>(rhs))); } + // fallback simd multiplication using generator constructor + // multiplying vectors of 64-bit signed integers is not available in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } + // AVX2 only has eq and gt comparisons for int64 [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { @@ -1306,17 +1364,19 @@ class simd> { return !(lhs == rhs); } + // fallback simd shift right arithmetic using generator constructor // Shift right arithmetic for 64bit packed ints is not availalbe in AVX2 - // [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd( - // simd const& lhs, int rhs) noexcept { - // return simd(_mm256_srai_epi64(static_cast<__m256i>(lhs), rhs)); - // } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( + simd const& lhs, int rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] >> rhs; }); + } - // [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd( - // simd const& lhs, simd const& rhs) noexcept { - // return simd(_mm256_srav_epi64(static_cast<__m256i>(lhs), - // static_cast<__m256i>(rhs)))); - // } + // fallback simd shift right arithmetic using generator constructor + // Shift right arithmetic for 64bit packed ints is not availalbe in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] >> rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator<<( simd const& lhs, int rhs) noexcept { @@ -1444,6 +1504,15 @@ class simd> { #else m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm256_load_si256(reinterpret_cast<__m256i const*>(ptr)); +#else + m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() @@ -1460,6 +1529,14 @@ class simd> { return simd( _mm256_sub_epi64(static_cast<__m256i>(lhs), static_cast<__m256i>(rhs))); } + + // fallback simd multiplication using generator constructor + // multiplying vectors of 64-bit unsigned integers is not available in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( simd const& lhs, int rhs) noexcept { return _mm256_srli_epi64(static_cast<__m256i>(lhs), rhs); @@ -1588,6 +1665,11 @@ class const_where_expression>, static_cast<__m256d>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + _mm256_maskstore_pd(mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)), + static_cast<__m256d>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1624,6 +1706,11 @@ class where_expression>, mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)))); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_maskload_pd( + mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)))); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1667,6 +1754,11 @@ class const_where_expression>, static_cast<__m128>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + _mm_maskstore_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)), + static_cast<__m128>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1703,6 +1795,11 @@ class where_expression>, _mm_maskload_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)))); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(float const* mem, vector_aligned_tag) { + m_value = value_type( + _mm_maskload_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)))); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, simd> const& index) { @@ -1746,6 +1843,12 @@ class const_where_expression< _mm_maskstore_epi32(mem, static_cast<__m128i>(m_mask), static_cast<__m128i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + _mm_maskstore_epi32(mem, static_cast<__m128i>(m_mask), + static_cast<__m128i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1786,6 +1889,16 @@ class where_expression>, m_value = value_type(_mm_maskload_epi32(mem, static_cast<__m128i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int32_t const* mem, vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m128i tmp = _mm_load_si128(reinterpret_cast<__m128i const*>(mem)); + m_value = value_type(_mm_and_si128(tmp, static_cast<__m128i>(m_mask))); +#else + m_value = value_type(_mm_maskload_epi32(mem, static_cast<__m128i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1833,6 +1946,13 @@ class const_where_expression< static_cast<__m256i>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(std::int64_t* mem, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(mem), + static_cast<__m256i>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1874,6 +1994,17 @@ class where_expression>, reinterpret_cast(mem), static_cast<__m256i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(std::int64_t const* mem, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m256i tmp = _mm256_load_si256(reinterpret_cast<__m256i const*>(mem)); + m_value = value_type(_mm256_and_si256(tmp, static_cast<__m256i>(m_mask))); +#else + m_value = value_type(_mm256_maskload_epi64( + reinterpret_cast(mem), static_cast<__m256i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1922,6 +2053,13 @@ class const_where_expression< static_cast<__m256i>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(std::uint64_t* mem, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(mem), + static_cast<__m256i>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint64_t* mem, @@ -1963,6 +2101,17 @@ class where_expression>, reinterpret_cast(mem), static_cast<__m256i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(std::uint64_t const* mem, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m256i tmp = _mm256_load_si256(reinterpret_cast<__m256i const*>(mem)); + m_value = value_type(_mm256_and_si256(tmp, static_cast<__m256i>(m_mask))); +#else + m_value = value_type(_mm256_maskload_epi64( + reinterpret_cast(mem), static_cast<__m256i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp index c5d1717ad4..7fa35c204a 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp @@ -193,10 +193,18 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_pd(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_pd(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_pd(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_pd(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512d() const { return m_value; @@ -475,10 +483,18 @@ class simd> { element_aligned_tag) { m_value = _mm256_loadu_ps(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_load_ps(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_storeu_ps(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_store_ps(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256() const { return m_value; @@ -735,15 +751,25 @@ class simd> { operator[](std::size_t i) const { return reinterpret_cast(&m_value)[i]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + element_aligned_tag) { + m_value = _mm256_mask_loadu_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), m_value); } - KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, - element_aligned_tag) { - m_value = _mm256_mask_loadu_epi32( - _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_mask_store_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { @@ -934,21 +960,30 @@ class simd> { operator[](std::size_t i) const { return reinterpret_cast(&m_value)[i]; } - KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( - value_type* ptr, element_aligned_tag) const { - _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), - m_value); - } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, element_aligned_tag) { m_value = _mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( + value_type* ptr, element_aligned_tag) const { + _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_mask_store_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { return m_value; } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( simd const& lhs, simd const& rhs) noexcept { return simd(_mm256_mullo_epi32(static_cast<__m256i>(lhs), @@ -1130,10 +1165,19 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_si512(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_si512(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_si512(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_si512(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512i() const { return m_value; @@ -1331,10 +1375,19 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_si512(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_si512(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_si512(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_si512(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512i() const { return m_value; @@ -1505,6 +1558,11 @@ class const_where_expression>, static_cast<__m512d>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + _mm512_mask_store_pd(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512d>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1541,6 +1599,11 @@ class where_expression>, _mm512_set1_pd(0.0), static_cast<__mmask8>(m_mask), mem)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_pd( + _mm512_set1_pd(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1584,6 +1647,11 @@ class const_where_expression>, static_cast<__m256>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + _mm256_mask_store_ps(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1619,6 +1687,10 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_ps( _mm256_set1_ps(0.0), static_cast<__mmask8>(m_mask), mem)); } + void copy_from(float const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_ps( + _mm256_set1_ps(0.0), static_cast<__mmask8>(m_mask), mem)); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, @@ -1666,6 +1738,12 @@ class const_where_expression< _mm256_mask_storeu_epi32(mem, static_cast<__mmask8>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + _mm256_mask_store_epi32(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1702,6 +1780,11 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); } + void copy_from(std::int32_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1710,6 +1793,7 @@ class where_expression>, static_cast<__m256i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 4)); } + template (m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::uint32_t* mem, vector_aligned_tag) const { + _mm256_mask_store_epi32(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint32_t* mem, @@ -1784,6 +1874,12 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint32_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint32_t const* mem, @@ -1792,6 +1888,7 @@ class where_expression>, static_cast<__m256i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 4)); } + template (m_mask), static_cast<__m512i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int64_t* mem, vector_aligned_tag) const { + _mm512_mask_store_epi64(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1866,6 +1969,12 @@ class where_expression>, m_value = value_type(_mm512_mask_loadu_epi64( _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int64_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_epi64( + _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1874,6 +1983,7 @@ class where_expression>, static_cast<__m512i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 8)); } + template (m_mask), static_cast<__m512i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::uint64_t* mem, vector_aligned_tag) const { + _mm512_mask_store_epi64(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint64_t* mem, @@ -1949,6 +2065,11 @@ class where_expression>, _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint64_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_epi64( + _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, simd> const& index) { @@ -1956,6 +2077,7 @@ class where_expression>, static_cast<__m512i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 8)); } + template class simd_mask; -struct element_aligned_tag {}; +class simd_alignment_vector_aligned {}; + +template +struct simd_flags {}; + +inline constexpr simd_flags<> simd_flag_default{}; +inline constexpr simd_flags simd_flag_aligned{}; + +using element_aligned_tag = simd_flags<>; +using vector_aligned_tag = simd_flags; // class template declarations for const_where_expression and where_expression @@ -117,48 +126,6 @@ template return const_where_expression(mask, value); } -// fallback simd multiplication using generator constructor -// At the time of this writing, this fallback is only used -// to multiply vectors of 64-bit signed integers for the AVX2 backend - -template -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator*( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); -} - -// fallback simd shift using generator constructor -// At the time of this edit, only the fallback for shift vectors of -// 64-bit signed integers for the AVX2 backend is used - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator>>( - simd const& lhs, int rhs) { - return simd([&](std::size_t i) { return lhs[i] >> rhs; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator<<( - simd const& lhs, int rhs) { - return simd([&](std::size_t i) { return lhs[i] << rhs; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator>>( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] >> rhs[i]; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator<<( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] << rhs[i]; }); -} - // The code below provides: // operator@(simd, Arithmetic) // operator@(Arithmetic, simd) diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp index 43ece20389..efc81135d1 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp @@ -363,10 +363,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_f64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_f64(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1q_f64(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_f64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator float64x2_t() const { return m_value; @@ -607,10 +615,18 @@ class simd> { element_aligned_tag) { m_value = vld1_f32(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1_f32(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1_f32(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1_f32(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator float32x2_t() const { return m_value; @@ -844,10 +860,18 @@ class simd> { element_aligned_tag) { m_value = vld1_s32(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1_s32(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1_s32(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1_s32(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator int32x2_t() const { return m_value; @@ -868,7 +892,11 @@ class simd> { return simd( vadd_s32(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd( + vmul_s32(static_cast(lhs), static_cast(rhs))); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { return mask_type( @@ -1044,10 +1072,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_s64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_s64(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1q_s64(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_s64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator int64x2_t() const { return m_value; @@ -1068,7 +1104,10 @@ class simd> { return simd( vaddq_s64(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { return mask_type( @@ -1246,6 +1285,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_u64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_u64(ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( + value_type* ptr, element_aligned_tag) const { + vst1q_u64(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_u64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator uint64x2_t() const { return m_value; @@ -1261,7 +1312,10 @@ class simd> { return simd( vaddq_u64(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator&( simd const& lhs, simd const& rhs) noexcept { return simd( @@ -1386,6 +1440,11 @@ class const_where_expression>, if (m_mask[1]) mem[1] = m_value[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1421,6 +1480,11 @@ class where_expression>, if (m_mask[1]) m_value[1] = mem[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1464,6 +1528,11 @@ class const_where_expression>, if (m_mask[1]) mem[1] = m_value[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1498,6 +1567,10 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + void copy_from(float const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, @@ -1542,6 +1615,12 @@ class const_where_expression< if (m_mask[0]) mem[0] = m_value[0]; if (m_mask[1]) mem[1] = m_value[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1577,6 +1656,12 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int32_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1584,6 +1669,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template < class U, std::enable_if_t< @@ -1622,6 +1708,12 @@ class const_where_expression< if (m_mask[0]) mem[0] = m_value[0]; if (m_mask[1]) mem[1] = m_value[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int64_t* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1657,6 +1749,12 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int64_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1664,6 +1762,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template < class U, std::enable_if_t>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint64_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, @@ -1744,6 +1855,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template { element_aligned_tag) { m_value = *ptr; } + KOKKOS_FORCEINLINE_FUNCTION void copy_from(T const* ptr, vector_aligned_tag) { + m_value = *ptr; + } KOKKOS_FORCEINLINE_FUNCTION void copy_to(T* ptr, element_aligned_tag) const { *ptr = m_value; } + KOKKOS_FORCEINLINE_FUNCTION void copy_to(T* ptr, vector_aligned_tag) const { + *ptr = m_value; + } + KOKKOS_FORCEINLINE_FUNCTION reference operator[](std::size_t) { return m_value; } @@ -308,6 +315,10 @@ class const_where_expression, void copy_to(T* mem, element_aligned_tag) const { if (static_cast(m_mask)) *mem = static_cast(m_value); } + KOKKOS_FORCEINLINE_FUNCTION + void copy_to(T* mem, vector_aligned_tag) const { + if (static_cast(m_mask)) *mem = static_cast(m_value); + } template KOKKOS_FORCEINLINE_FUNCTION std::enable_if_t> scatter_to(T* mem, simd const& index) const { @@ -315,13 +326,13 @@ class const_where_expression, mem[static_cast(index)] = static_cast(m_value); } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION value_type const& - impl_get_value() const { + [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION value_type const& impl_get_value() + const { return m_value; } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION mask_type const& - impl_get_mask() const { + [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION mask_type const& impl_get_mask() + const { return m_mask; } }; @@ -344,6 +355,10 @@ class where_expression, void copy_from(T const* mem, element_aligned_tag) { if (static_cast(this->m_mask)) this->m_value = *mem; } + KOKKOS_FORCEINLINE_FUNCTION + void copy_from(T const* mem, vector_aligned_tag) { + if (static_cast(this->m_mask)) this->m_value = *mem; + } template KOKKOS_FORCEINLINE_FUNCTION std::enable_if_t> gather_from(T const* mem, simd const& index) { diff --git a/lib/kokkos/simd/unit_tests/TestSIMD.cpp b/lib/kokkos/simd/unit_tests/TestSIMD.cpp index 61c076e824..7a1f9be2a0 100644 --- a/lib/kokkos/simd/unit_tests/TestSIMD.cpp +++ b/lib/kokkos/simd/unit_tests/TestSIMD.cpp @@ -21,3 +21,4 @@ #include #include #include +#include diff --git a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp index 6529f20e66..c587ccf304 100644 --- a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp +++ b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp @@ -209,4 +209,165 @@ class shift_left { } }; +class cbrt_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::cbrt(a); +#else + return Kokkos::cbrt(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::cbrt(a); + } +}; + +class exp_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::exp(a); +#else + return Kokkos::exp(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::exp(a); + } +}; + +class log_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::log(a); +#else + return Kokkos::log(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::log(a); + } +}; + +class hmin { + public: + template + auto on_host(T const& a) const { + return Kokkos::Experimental::hmin(a); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::min(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::min(result, v[i]); + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + return Kokkos::Experimental::hmin(a); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::min(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::min(result, v[i]); + } + return result; + } +}; + +class hmax { + public: + template + auto on_host(T const& a) const { + return Kokkos::Experimental::hmax(a); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::max(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::max(result, v[i]); + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + return Kokkos::Experimental::hmax(a); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::max(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::max(result, v[i]); + } + return result; + } +}; + +class reduce { + public: + template + auto on_host(T const& a) const { + using DataType = typename T::value_type::value_type; + return Kokkos::Experimental::reduce(a, DataType(0), std::plus<>()); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::sum(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result += v[i]; + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + using DataType = typename T::value_type::value_type; + return Kokkos::Experimental::reduce(a, DataType(0), std::plus<>()); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::sum(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result += v[i]; + } + return result; + } +}; + #endif diff --git a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp index ae2ab2c697..d36e1e5afc 100644 --- a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp +++ b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp @@ -93,7 +93,7 @@ class load_element_aligned { bool host_load(T const* mem, std::size_t n, Kokkos::Experimental::simd& result) const { if (n < result.size()) return false; - result.copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + result.copy_from(mem, Kokkos::Experimental::simd_flag_default); return true; } template @@ -101,7 +101,26 @@ class load_element_aligned { T const* mem, std::size_t n, Kokkos::Experimental::simd& result) const { if (n < result.size()) return false; - result.copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + result.copy_from(mem, Kokkos::Experimental::simd_flag_default); + return true; + } +}; + +class load_vector_aligned { + public: + template + bool host_load(T const* mem, std::size_t n, + Kokkos::Experimental::simd& result) const { + if (n < result.size()) return false; + result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned); + return true; + } + template + KOKKOS_INLINE_FUNCTION bool device_load( + T const* mem, std::size_t n, + Kokkos::Experimental::simd& result) const { + if (n < result.size()) return false; + result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned); return true; } }; @@ -116,8 +135,7 @@ class load_masked { for (std::size_t i = 0; i < n; ++i) { mask[i] = true; } - where(mask, result) - .copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default); where(!mask, result) = 0; return true; } @@ -130,8 +148,7 @@ class load_masked { for (std::size_t i = 0; i < n; ++i) { mask[i] = true; } - where(mask, result) - .copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default); where(!mask, result) = T(0); return true; } diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp index 4af08c266b..23e3826c75 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp @@ -37,10 +37,10 @@ inline void host_check_gen_ctor() { } simd_type rhs; - rhs.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + rhs.copy_from(init, Kokkos::Experimental::simd_flag_default); simd_type blend; - blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); + blend.copy_from(expected, Kokkos::Experimental::simd_flag_default); #if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if constexpr (std::is_same_v) { @@ -98,7 +98,7 @@ KOKKOS_INLINE_FUNCTION void device_check_gen_ctor() { simd_type basic(KOKKOS_LAMBDA(std::size_t i) { return init[i]; }); simd_type rhs; - rhs.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + rhs.copy_from(init, Kokkos::Experimental::simd_flag_default); device_check_equality(basic, rhs, lanes); simd_type lhs(KOKKOS_LAMBDA(std::size_t i) { return init[i] * 9; }); @@ -106,7 +106,7 @@ KOKKOS_INLINE_FUNCTION void device_check_gen_ctor() { KOKKOS_LAMBDA(std::size_t i) { return (mask[i]) ? lhs[i] : rhs[i]; }); simd_type blend; - blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); + blend.copy_from(expected, Kokkos::Experimental::simd_flag_default); device_check_equality(result, blend, lanes); } diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp index 802e41efe5..59f2f6c18f 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp @@ -61,13 +61,18 @@ void host_check_math_op_one_loader(UnaryOp unary_op, std::size_t n, simd_type arg; bool const loaded_arg = loader.host_load(args + i, nlanes, arg); if (!loaded_arg) continue; - auto computed_result = unary_op.on_host(arg); - decltype(computed_result) expected_result; + decltype(unary_op.on_host(arg)) expected_result; for (std::size_t lane = 0; lane < simd_type::size(); ++lane) { - if (lane < nlanes) + if (lane < nlanes) { + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v) + arg[lane] = Kokkos::abs(arg[lane]); expected_result[lane] = unary_op.on_host_serial(T(arg[lane])); + } } + auto computed_result = unary_op.on_host(arg); host_check_equality(expected_result, computed_result, nlanes); } } @@ -78,6 +83,7 @@ inline void host_check_math_op_all_loaders(Op op, std::size_t n, host_check_math_op_one_loader(op, n, args...); host_check_math_op_one_loader(op, n, args...); host_check_math_op_one_loader(op, n, args...); + host_check_math_op_one_loader(op, n, args...); } template @@ -96,6 +102,13 @@ inline void host_check_all_math_ops(const DataType (&first_args)[n], // TODO: Place fallback implementations for all simd integer types if constexpr (std::is_floating_point_v) { host_check_math_op_all_loaders(divides(), n, first_args, second_args); + +#if defined(__INTEL_COMPILER) && \ + (defined(KOKKOS_ARCH_AVX2) || defined(KOKKOS_ARCH_AVX512XEON)) + host_check_math_op_all_loaders(cbrt_op(), n, first_args); + host_check_math_op_all_loaders(exp_op(), n, first_args); + host_check_math_op_all_loaders(log_op(), n, first_args); +#endif } } @@ -109,23 +122,29 @@ inline void host_check_abi_size() { template inline void host_check_math_ops() { constexpr size_t n = 11; + constexpr size_t alignment = + Kokkos::Experimental::simd::size() * sizeof(DataType); host_check_abi_size(); if constexpr (!std::is_integral_v) { - DataType const first_args[n] = {0.1, 0.4, 0.5, 0.7, 1.0, 1.5, - -2.0, 10.0, 0.0, 1.2, -2.8}; - DataType const second_args[n] = {1.0, 0.2, 1.1, 1.8, -0.1, -3.0, - -2.4, 1.0, 13.0, -3.2, -2.1}; + alignas(alignment) DataType const first_args[n] = { + 0.1, 0.4, 0.5, 0.7, 1.0, 1.5, -2.0, 10.0, 0.0, 1.2, -2.8}; + alignas(alignment) DataType const second_args[n] = { + 1.0, 0.2, 1.1, 1.8, -0.1, -3.0, -2.4, 1.0, 13.0, -3.2, -2.1}; host_check_all_math_ops(first_args, second_args); } else { if constexpr (std::is_signed_v) { - DataType const first_args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; - DataType const second_args[n] = {1, 2, 1, 1, 1, -3, -2, 1, 13, -3, -2}; + alignas(alignment) + DataType const first_args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + alignas(alignment) DataType const second_args[n] = {1, 2, 1, 1, 1, -3, + -2, 1, 13, -3, -2}; host_check_all_math_ops(first_args, second_args); } else { - DataType const first_args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; - DataType const second_args[n] = {1, 2, 1, 1, 1, 3, 2, 1, 13, 3, 2}; + alignas(alignment) + DataType const first_args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + alignas(alignment) + DataType const second_args[n] = {1, 2, 1, 1, 1, 3, 2, 1, 13, 3, 2}; host_check_all_math_ops(first_args, second_args); } } @@ -202,6 +221,7 @@ KOKKOS_INLINE_FUNCTION void device_check_math_op_all_loaders(Op op, device_check_math_op_one_loader(op, n, args...); device_check_math_op_one_loader(op, n, args...); device_check_math_op_one_loader(op, n, args...); + device_check_math_op_one_loader(op, n, args...); } template @@ -282,8 +302,13 @@ TEST(simd, host_math_ops) { } TEST(simd, device_math_ops) { - Kokkos::parallel_for(Kokkos::RangePolicy>(0, 1), - simd_device_math_ops_functor()); +#ifdef KOKKOS_ENABLE_OPENMPTARGET // FIXME_OPENMPTARGET + GTEST_SKIP() + << "skipping because of a non-deterministic failure reporting: " + "Failure to synchronize stream (nil): Error in " + "cuStreamSynchronize: an illegal memory access was encountered"; +#endif + Kokkos::parallel_for(1, simd_device_math_ops_functor()); } #endif diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp new file mode 100644 index 0000000000..b3c7ac9a01 --- /dev/null +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp @@ -0,0 +1,184 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_TEST_SIMD_REDUCTIONS_HPP +#define KOKKOS_TEST_SIMD_REDUCTIONS_HPP + +#include +#include + +template +inline void host_check_reduction_one_loader(ReductionOp reduce_op, + std::size_t n, T const* args) { + Loader loader; + using simd_type = Kokkos::Experimental::simd; + using mask_type = typename Kokkos::Experimental::simd::mask_type; + constexpr std::size_t width = simd_type::size(); + + for (std::size_t i = 0; i < n; i += width) { + std::size_t const nremaining = n - i; + std::size_t const nlanes = Kokkos::min(nremaining, width); + simd_type arg; + bool const loaded_arg = loader.host_load(args + i, nlanes, arg); + if (!loaded_arg) continue; + + mask_type mask(false); + for (std::size_t j = 0; j < n; ++j) { + mask[j] = true; + } + auto value = where(mask, arg); + auto expected = reduce_op.on_host_serial(value); + auto computed = reduce_op.on_host(value); + + gtest_checker().equality(expected, computed); + } +} + +template +inline void host_check_reduction_all_loaders(ReductionOp reduce_op, + std::size_t n, T const* args) { + host_check_reduction_one_loader(reduce_op, n, + args); + host_check_reduction_one_loader(reduce_op, n, args); + host_check_reduction_one_loader(reduce_op, n, args); +} + +template +inline void host_check_all_reductions(const DataType (&args)[n]) { + host_check_reduction_all_loaders(hmin(), n, args); + host_check_reduction_all_loaders(hmax(), n, args); + host_check_reduction_all_loaders(reduce(), n, args); +} + +template +inline void host_check_reductions() { + constexpr size_t n = 11; + + if constexpr (std::is_signed_v) { + DataType const args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + host_check_all_reductions(args); + } else { + DataType const args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + host_check_all_reductions(args); + } +} + +template +inline void host_check_reductions_all_types( + Kokkos::Experimental::Impl::data_types) { + (host_check_reductions(), ...); +} + +template +inline void host_check_reductions_all_abis( + Kokkos::Experimental::Impl::abi_set) { + using DataTypes = Kokkos::Experimental::Impl::data_type_set; + (host_check_reductions_all_types(DataTypes()), ...); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reduction_one_loader( + ReductionOp reduce_op, std::size_t n, T const* args) { + Loader loader; + using simd_type = Kokkos::Experimental::simd; + using mask_type = typename Kokkos::Experimental::simd::mask_type; + constexpr std::size_t width = simd_type::size(); + + for (std::size_t i = 0; i < n; i += width) { + std::size_t const nremaining = n - i; + std::size_t const nlanes = Kokkos::min(nremaining, width); + simd_type arg; + bool const loaded_arg = loader.device_load(args + i, nlanes, arg); + if (!loaded_arg) continue; + + mask_type mask(false); + for (std::size_t j = 0; j < n; ++j) { + mask[j] = true; + } + auto value = where(mask, arg); + auto expected = reduce_op.on_device_serial(value); + auto computed = reduce_op.on_device(value); + + kokkos_checker().equality(expected, computed); + } +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reduction_all_loaders( + ReductionOp reduce_op, std::size_t n, T const* args) { + device_check_reduction_one_loader(reduce_op, n, + args); + device_check_reduction_one_loader(reduce_op, n, args); + device_check_reduction_one_loader(reduce_op, n, args); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_all_reductions( + const DataType (&args)[n]) { + device_check_reduction_all_loaders(hmin(), n, args); + device_check_reduction_all_loaders(hmax(), n, args); + device_check_reduction_all_loaders(reduce(), n, args); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions() { + constexpr size_t n = 11; + + if constexpr (std::is_signed_v) { + DataType const args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + device_check_all_reductions(args); + } else { + DataType const args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + device_check_all_reductions(args); + } +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions_all_types( + Kokkos::Experimental::Impl::data_types) { + (device_check_reductions(), ...); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions_all_abis( + Kokkos::Experimental::Impl::abi_set) { + using DataTypes = Kokkos::Experimental::Impl::data_type_set; + (device_check_reductions_all_types(DataTypes()), ...); +} + +class simd_device_reduction_functor { + public: + KOKKOS_INLINE_FUNCTION void operator()(int) const { + device_check_reductions_all_abis( + Kokkos::Experimental::Impl::device_abi_set()); + } +}; + +TEST(simd, host_reductions) { + host_check_reductions_all_abis(Kokkos::Experimental::Impl::host_abi_set()); +} + +TEST(simd, device_reductions) { +#ifdef KOKKOS_ENABLE_OPENMPTARGET // FIXME_OPENMPTARGET + GTEST_SKIP() + << "skipping because of a non-deterministic failure reporting: " + "Failure to synchronize stream (nil): Error in " + "cuStreamSynchronize: an illegal memory access was encountered"; +#endif + Kokkos::parallel_for(1, simd_device_reduction_functor()); +} + +#endif diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp index f6fdcb920e..ffdd2cba4a 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp @@ -85,10 +85,11 @@ inline void host_check_shift_op_all_loaders(ShiftOp shift_op, shift_by, n); host_check_shift_on_one_loader(shift_op, test_vals, shift_by, n); + host_check_shift_on_one_loader(shift_op, test_vals, + shift_by, n); Kokkos::Experimental::simd shift_by_lanes; - shift_by_lanes.copy_from(shift_by, - Kokkos::Experimental::element_aligned_tag()); + shift_by_lanes.copy_from(shift_by, Kokkos::Experimental::simd_flag_default); host_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); @@ -96,6 +97,8 @@ inline void host_check_shift_op_all_loaders(ShiftOp shift_op, shift_by_lanes); host_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); + host_check_shift_by_lanes_on_one_loader( + shift_op, test_vals, shift_by_lanes); } template @@ -104,12 +107,14 @@ inline void host_check_shift_ops() { using simd_type = Kokkos::Experimental::simd; constexpr std::size_t width = simd_type::size(); constexpr std::size_t num_cases = 8; + constexpr size_t alignment = + Kokkos::Experimental::simd::size() * sizeof(DataType); DataType max = std::numeric_limits::max(); - DataType shift_by[num_cases] = { + alignas(alignment) DataType shift_by[num_cases] = { 0, 1, 3, width / 2, width / 2 + 1, width - 1, width, width + 1}; - DataType test_vals[width]; + alignas(alignment) DataType test_vals[width]; for (std::size_t i = 0; i < width; ++i) { DataType inc = max / width; test_vals[i] = i * inc + 1; @@ -201,10 +206,11 @@ KOKKOS_INLINE_FUNCTION void device_check_shift_op_all_loaders( shift_by, n); device_check_shift_on_one_loader(shift_op, test_vals, shift_by, n); + device_check_shift_on_one_loader( + shift_op, test_vals, shift_by, n); Kokkos::Experimental::simd shift_by_lanes; - shift_by_lanes.copy_from(shift_by, - Kokkos::Experimental::element_aligned_tag()); + shift_by_lanes.copy_from(shift_by, Kokkos::Experimental::simd_flag_default); device_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); @@ -212,6 +218,8 @@ KOKKOS_INLINE_FUNCTION void device_check_shift_op_all_loaders( shift_op, test_vals, shift_by_lanes); device_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); + device_check_shift_by_lanes_on_one_loader( + shift_op, test_vals, shift_by_lanes); } template diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp index 129f2b0d5c..152fd9e984 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp @@ -29,7 +29,7 @@ inline void host_check_where_expr_scatter_to() { std::size_t nlanes = simd_type::size(); DataType init[] = {11, 13, 17, 19, 23, 29, 31, 37}; simd_type src; - src.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + src.copy_from(init, Kokkos::Experimental::simd_flag_default); for (std::size_t idx = 0; idx < nlanes; ++idx) { mask_type mask(true); @@ -46,7 +46,7 @@ inline void host_check_where_expr_scatter_to() { where(mask, src).scatter_to(dst, index); simd_type dst_simd; - dst_simd.copy_from(dst, Kokkos::Experimental::element_aligned_tag()); + dst_simd.copy_from(dst, Kokkos::Experimental::simd_flag_default); host_check_equality(expected_result, dst_simd, nlanes); } @@ -107,7 +107,7 @@ KOKKOS_INLINE_FUNCTION void device_check_where_expr_scatter_to() { std::size_t nlanes = simd_type::size(); DataType init[] = {11, 13, 17, 19, 23, 29, 31, 37}; simd_type src; - src.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + src.copy_from(init, Kokkos::Experimental::simd_flag_default); for (std::size_t idx = 0; idx < nlanes; ++idx) { mask_type mask(true); @@ -124,7 +124,7 @@ KOKKOS_INLINE_FUNCTION void device_check_where_expr_scatter_to() { where(mask, src).scatter_to(dst, index); simd_type dst_simd; - dst_simd.copy_from(dst, Kokkos::Experimental::element_aligned_tag()); + dst_simd.copy_from(dst, Kokkos::Experimental::simd_flag_default); device_check_equality(expected_result, dst_simd, nlanes); } diff --git a/lib/kokkos/tpls/desul/Config.hpp.cmake.in b/lib/kokkos/tpls/desul/Config.hpp.cmake.in index a7bc738191..aed7ecfabc 100644 --- a/lib/kokkos/tpls/desul/Config.hpp.cmake.in +++ b/lib/kokkos/tpls/desul/Config.hpp.cmake.in @@ -14,6 +14,8 @@ SPDX-License-Identifier: (BSD-3-Clause) #cmakedefine DESUL_ATOMICS_ENABLE_HIP #cmakedefine DESUL_ATOMICS_ENABLE_HIP_SEPARABLE_COMPILATION #cmakedefine DESUL_ATOMICS_ENABLE_SYCL +#cmakedefine DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION #cmakedefine DESUL_ATOMICS_ENABLE_OPENMP +#cmakedefine DESUL_ATOMICS_ENABLE_OPENACC #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp index 082fc132de..15c6d78d94 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp @@ -88,15 +88,18 @@ using sycl_atomic_ref = sycl::atomic_ref; #endif -// FIXME_SYCL Use SYCL_EXT_ONEAPI_DEVICE_GLOBAL when available instead #ifdef DESUL_SYCL_DEVICE_GLOBAL_SUPPORTED -// FIXME_SYCL The compiler forces us to use device_image_scope. Drop this when possible. +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL +template +using sycl_device_global = sycl::ext::oneapi::experimental::device_global; +#else template using sycl_device_global = sycl::ext::oneapi::experimental::device_global< T, decltype(sycl::ext::oneapi::experimental::properties( sycl::ext::oneapi::experimental::device_image_scope))>; #endif +#endif } // namespace Impl } // namespace desul diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp index e91569e1de..72639fc493 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp @@ -26,6 +26,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp new file mode 100644 index 0000000000..77149bd474 --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp @@ -0,0 +1,153 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_COMPARE_EXCHANGE_OPENACC_HPP_ +#define DESUL_ATOMICS_COMPARE_EXCHANGE_OPENACC_HPP_ + +#include + +#include +#include +#include + +namespace desul { +namespace Impl { + +#ifdef __NVCOMPILER + +#pragma acc routine seq +template +T device_atomic_exchange(T* dest, T value, MemoryOrder, MemoryScope /*scope*/) { + if constexpr (std::is_arithmetic_v && ((sizeof(T) == 4) || (sizeof(T) == 8))) { + T return_val; +#pragma acc atomic capture + { + return_val = *dest; + *dest = value; + } + return return_val; + } else { + // FIXME_OPENACC + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_exchange(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + // } + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + // unlock_address_openacc((void*)dest, scope); + return return_val; + } +} + +#pragma acc routine seq +template +T device_atomic_compare_exchange( + T* dest, T compare, T value, MemoryOrder, MemoryScope scope) { + // Floating point types treated separetely to work around compiler errors + // "parse invalid cast opcode for cast from 'i32' to 'float'". + // Also not just "forwarding" arguments to atomicCAS because it does not have an + // overload that takes int64_t + if constexpr (std::is_integral_v && ((sizeof(T) == 4) || (sizeof(T) == 8))) { + static_assert(sizeof(unsigned int) == 4); + static_assert(sizeof(unsigned long long int) == 8); + using cas_t = + std::conditional_t<(sizeof(T) == 4), unsigned int, unsigned long long int>; + cas_t return_val = atomicCAS(reinterpret_cast(dest), + reinterpret_cast(compare), + reinterpret_cast(value)); + return reinterpret_cast(return_val); +#ifdef DESUL_CUDA_ARCH_IS_PRE_PASCAL + } else if constexpr (std::is_same_v) { +#else + } else if constexpr (std::is_same_v || std::is_same_v) { +#endif + return atomicCAS(dest, compare, value); + } else { + // FIXME_OPENACC + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_compare_exchange(): Not supported atomic " + "operation in the OpenACC backend\n"); + } + T current_val = *dest; + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + //} + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + if (current_val == compare) { + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + } + // unlock_address_openacc((void*)dest, scope); + return current_val; + } +} + +#else // not NVHPC + +#pragma acc routine seq +template +T device_atomic_exchange(T* dest, T value, MemoryOrder, MemoryScope) { + if constexpr (std::is_arithmetic_v) { + T return_val; +#pragma acc atomic capture + { + return_val = *dest; + *dest = value; + } + return return_val; + } else { + // FIXME_OPENACC + printf( + "DESUL error in device_atomic_exchange(): Not supported atomic operation in " + "the OpenACC backend\n"); + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + // } + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + // unlock_address_openacc((void*)dest, scope); + return return_val; + } +} + +#pragma acc routine seq +template +T device_atomic_compare_exchange( + T* dest, T compare, T value, MemoryOrder, MemoryScope scope) { + // FIXME_OPENACC + printf( + "DESUL error in device_atomic_compare_exchange(): Not supported atomic operation " + "in the OpenACC backend\n"); + T current_val = *dest; + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + //} + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + if (current_val == compare) { + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + } + // unlock_address_openacc((void*)dest, scope); + return current_val; +} + +#endif + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp index adf75c5743..1b161397c7 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp @@ -23,6 +23,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp new file mode 100644 index 0000000000..ab570ac578 --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp @@ -0,0 +1,431 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ +#ifndef DESUL_ATOMICS_FETCH_OP_OPENACC_HPP_ +#define DESUL_ATOMICS_FETCH_OP_OPENACC_HPP_ + +#include // min, max +#include +#include + +namespace desul { +namespace Impl { + +#ifdef __NVCOMPILER + +template +inline constexpr bool is_openacc_integral_type_v = + std::is_same_v || std::is_same_v || + std::is_same_v; + +template +inline constexpr bool is_openacc_arithmetic_type_v = std::is_same_v || +#ifndef DESUL_CUDA_ARCH_IS_PRE_PASCAL + std::is_same_v || +#endif + is_openacc_integral_type_v; + +#else + +template +inline constexpr bool is_openacc_integral_type_v = std::is_integral_v; + +template +inline constexpr bool is_openacc_arithmetic_type_v = std::is_arithmetic_v; + +#endif + +// +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_add( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr += val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_inc( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr += T(1); + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_sub( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr -= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_dec( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr -= T(1); + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_mul( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr *= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_div( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr /= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_lshift( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr = *ptr << val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_rshift( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr = *ptr >> val; + } + return old; +} + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_max( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; + old = atomicMax(ptr, val); + return old; +} +#endif + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_min( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + int old; + old = atomicMin(ptr, val); + return old; +} +#endif + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_and( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr &= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_or( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr |= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_xor( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr ^= val; + } + return old; +} +// + +// +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_add_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr += val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_inc_fetch( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr += T(1); + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_sub_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr -= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_dec_fetch( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr -= T(1); + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_mul_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr *= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_div_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr /= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_lshift_fetch( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr = *ptr << val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_rshift_fetch( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr = *ptr >> val; + tmp = *ptr; + } + return tmp; +} + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_max_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; + tmp = atomicMax(ptr, val); + tmp = std::max(tmp, val); + return tmp; +} +#endif + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_min_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; + tmp = atomicMin(ptr, val); + tmp = std::min(tmp, val); + return tmp; +} +#endif + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_and_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr &= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_or_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr |= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_xor_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr ^= val; + tmp = *ptr; + } + return tmp; +} +// + +// +#pragma acc routine seq +template +std::enable_if_t, void> device_atomic_store( + T* const ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { +#pragma acc atomic write + *ptr = val; +} + +#pragma acc routine seq +template +std::enable_if_t, void> device_atomic_store( + T* const ptr, const T val, MemoryOrderRelease, MemoryScopeDevice) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_store(MemoryOrderRelease): Not supported atomic " + "operation in the OpenACC backend\n"); + } +#pragma acc atomic write + *ptr = val; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_load( + const T* const ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T retval; +#pragma acc atomic read + retval = *ptr; + return retval; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_load( + const T* const ptr, MemoryOrderAcquire, MemoryScopeDevice) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_load(MemoryOrderAcquire): Not supported atomic " + "operation in the OpenACC backend\n"); + } + T retval; +#pragma acc atomic read + retval = *ptr; + return retval; +} +// + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp index fef10222e3..fa71477c29 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp @@ -18,11 +18,14 @@ SPDX-License-Identifier: (BSD-3-Clause) namespace desul { +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_thread_fence(MemoryOrder order, MemoryScope scope) { DESUL_IF_ON_DEVICE(return Impl::device_atomic_thread_fence(order, scope);) DESUL_IF_ON_HOST(return Impl::host_atomic_thread_fence(order, scope);) } + +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_exchange(T* dest, T val, MemoryOrder order, MemoryScope scope) { @@ -30,6 +33,7 @@ atomic_exchange(T* dest, T val, MemoryOrder order, MemoryScope scope) { DESUL_IF_ON_HOST(return Impl::host_atomic_exchange(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_compare_exchange(T* dest, T cmp, T val, MemoryOrder order, MemoryScope scope) { @@ -40,6 +44,7 @@ atomic_compare_exchange(T* dest, T cmp, T val, MemoryOrder order, MemoryScope sc } // Fetch_Oper atomics: return value before operation +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_add(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -47,6 +52,7 @@ atomic_fetch_add(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_add(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_sub(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -54,6 +60,7 @@ atomic_fetch_sub(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_sub(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_max(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -61,6 +68,7 @@ atomic_fetch_max(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_max(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_min(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -68,6 +76,7 @@ atomic_fetch_min(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_min(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_mul(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -75,6 +84,7 @@ atomic_fetch_mul(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_mul(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_div(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -82,6 +92,7 @@ atomic_fetch_div(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_div(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_mod(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -89,6 +100,7 @@ atomic_fetch_mod(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_and(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -96,6 +108,7 @@ atomic_fetch_and(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_and(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_or(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -103,6 +116,7 @@ atomic_fetch_or(T* const dest, const T val, MemoryOrder order, MemoryScope scope DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_or(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_xor(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -110,6 +124,7 @@ atomic_fetch_xor(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_xor(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_nand(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -117,6 +132,7 @@ atomic_fetch_nand(T* const dest, const T val, MemoryOrder order, MemoryScope sco DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_nand(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_lshift(T* const dest, const unsigned int val, @@ -126,6 +142,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_lshift(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_lshift(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_rshift(T* const dest, const unsigned int val, @@ -136,6 +153,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_rshift(T* const dest, } // Oper Fetch atomics: return value after operation +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_add_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -143,6 +161,7 @@ atomic_add_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_add_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_sub_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -150,6 +169,7 @@ atomic_sub_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_sub_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_max_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -157,6 +177,7 @@ atomic_max_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_max_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_min_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -164,6 +185,7 @@ atomic_min_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_min_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_mul_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -171,6 +193,7 @@ atomic_mul_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_mul_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_div_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -178,6 +201,7 @@ atomic_div_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_div_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_mod_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -185,6 +209,7 @@ atomic_mod_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_mod_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_and_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -192,6 +217,7 @@ atomic_and_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_and_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_or_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -199,6 +225,7 @@ atomic_or_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope DESUL_IF_ON_HOST(return Impl::host_atomic_or_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_xor_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -206,6 +233,7 @@ atomic_xor_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_xor_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_nand_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -213,6 +241,7 @@ atomic_nand_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope sco DESUL_IF_ON_HOST(return Impl::host_atomic_nand_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_lshift_fetch(T* const dest, const unsigned int val, @@ -222,6 +251,7 @@ DESUL_INLINE_FUNCTION T atomic_lshift_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_lshift_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_rshift_fetch(T* const dest, const unsigned int val, @@ -233,6 +263,7 @@ DESUL_INLINE_FUNCTION T atomic_rshift_fetch(T* const dest, // Other atomics +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_load(const T* const dest, MemoryOrder order, @@ -241,6 +272,7 @@ DESUL_INLINE_FUNCTION T atomic_load(const T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_load(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_store(T* const dest, const T val, @@ -250,6 +282,7 @@ DESUL_INLINE_FUNCTION void atomic_store(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_store(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_add(T* const dest, const T val, @@ -259,6 +292,7 @@ DESUL_INLINE_FUNCTION void atomic_add(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_add(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_sub(T* const dest, const T val, @@ -268,6 +302,7 @@ DESUL_INLINE_FUNCTION void atomic_sub(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_sub(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_mul(T* const dest, const T val, @@ -277,6 +312,7 @@ DESUL_INLINE_FUNCTION void atomic_mul(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_mul(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_div(T* const dest, const T val, @@ -286,6 +322,7 @@ DESUL_INLINE_FUNCTION void atomic_div(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_div(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_min(T* const dest, const T val, @@ -295,6 +332,7 @@ DESUL_INLINE_FUNCTION void atomic_min(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_min(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_max(T* const dest, const T val, @@ -304,6 +342,7 @@ DESUL_INLINE_FUNCTION void atomic_max(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_max(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_inc_fetch(T* const dest, MemoryOrder order, @@ -312,6 +351,7 @@ DESUL_INLINE_FUNCTION T atomic_inc_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_inc_fetch(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_dec_fetch(T* const dest, MemoryOrder order, @@ -320,6 +360,7 @@ DESUL_INLINE_FUNCTION T atomic_dec_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_dec_fetch(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_inc(T* const dest, MemoryOrder order, @@ -328,6 +369,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_inc(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_inc(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_inc_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) { @@ -335,6 +377,7 @@ atomic_fetch_inc_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_inc_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_dec(T* const dest, MemoryOrder order, @@ -343,6 +386,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_dec(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_dec(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_dec_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) { @@ -350,6 +394,7 @@ atomic_fetch_dec_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_dec_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_inc(T* const dest, MemoryOrder order, @@ -358,6 +403,7 @@ DESUL_INLINE_FUNCTION void atomic_inc(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_inc(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_dec(T* const dest, MemoryOrder order, @@ -367,6 +413,7 @@ DESUL_INLINE_FUNCTION void atomic_dec(T* const dest, } // FIXME +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template SYCL_SPACE_ATOMIC_LOCKS_DEVICE; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +SYCL_EXTERNAL extern +#else +static +#endif + sycl_device_global + SYCL_SPACE_ATOMIC_LOCKS_DEVICE; -SYCL_EXTERNAL extern sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_NODE; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +SYCL_EXTERNAL extern +#else +static +#endif + sycl_device_global + SYCL_SPACE_ATOMIC_LOCKS_NODE; #define SYCL_SPACE_ATOMIC_MASK 0x1FFFF @@ -128,6 +149,34 @@ inline void unlock_address_sycl(void* ptr, MemoryScopeNode) { lock_node_ref.exchange(0); } +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline +#else +inline static +#endif + void + copy_sycl_lock_arrays_to_device(sycl::queue q) { + static bool once = [&q]() { +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL + q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_DEVICE, + &SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, + sizeof(int32_t*)); + q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_NODE, + &SYCL_SPACE_ATOMIC_LOCKS_NODE_h, + sizeof(int32_t*)); +#else + auto device_ptr = SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h; + auto node_ptr = SYCL_SPACE_ATOMIC_LOCKS_NODE_h; + q.single_task([=] { + SYCL_SPACE_ATOMIC_LOCKS_DEVICE.get() = device_ptr; + SYCL_SPACE_ATOMIC_LOCKS_NODE.get() = node_ptr; + }); +#endif + return true; + }(); + (void)once; +} + #else // not supported template @@ -155,7 +204,26 @@ inline bool lock_address_sycl(void*, MemoryScopeNode) { inline void unlock_address_sycl(void*, MemoryScopeDevice) { assert(false); } inline void unlock_address_sycl(void*, MemoryScopeNode) { assert(false); } + +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline +#else +inline static +#endif + void + copy_sycl_lock_arrays_to_device(sycl::queue) { +} + #endif } // namespace Impl + +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline void ensure_sycl_lock_arrays_on_device(sycl::queue) {} +#else +static inline void ensure_sycl_lock_arrays_on_device(sycl::queue q) { + Impl::copy_sycl_lock_arrays_to_device(q); +} +#endif + } // namespace desul #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp index cb97f4a906..b6a399100b 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp @@ -17,6 +17,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_HIP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp new file mode 100644 index 0000000000..d4dd74588b --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp @@ -0,0 +1,81 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_LOCK_BASED_FETCH_OP_OPENACC_HPP_ +#define DESUL_ATOMICS_LOCK_BASED_FETCH_OP_OPENACC_HPP_ + +#include +#include +#include +#include + +namespace desul { +namespace Impl { + +template = 0> +inline T device_atomic_fetch_oper(const Oper& op, + T* const dest, + dont_deduce_this_parameter_t val, + MemoryOrder /*order*/, + MemoryScope scope) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_fetch_oper(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + while (!lock_address((void*)dest, scope)) { + } + + device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = op.apply(return_val, val); + device_atomic_thread_fence(MemoryOrderRelease(), scope); + unlock_address((void*)dest, scope); + return return_val; +} + +template = 0> +inline T device_atomic_oper_fetch(const Oper& op, + T* const dest, + dont_deduce_this_parameter_t val, + MemoryOrder /*order*/, + MemoryScope scope) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_oper_fetch(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + while (!lock_address((void*)dest, scope)) { + } + + device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = op.apply(*dest, val); + *dest = return_val; + device_atomic_thread_fence(MemoryOrderRelease(), scope); + unlock_address((void*)dest, scope); + return return_val; +} + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp index 3a14b93d32..d11beb0c80 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp @@ -57,6 +57,10 @@ SPDX-License-Identifier: (BSD-3-Clause) #define DESUL_HAVE_OPENMP_ATOMICS #endif +#if defined(DESUL_ATOMICS_ENABLE_OPENACC) +#define DESUL_HAVE_OPENACC_ATOMICS +#endif + // ONLY use GNUC atomics if not explicitly say to use OpenMP atomics #if !defined(DESUL_HAVE_OPENMP_ATOMICS) && defined(__GNUC__) #define DESUL_HAVE_GCC_ATOMICS @@ -123,6 +127,30 @@ static constexpr bool desul_impl_omp_on_host() { return false; } #endif #endif +#if defined(DESUL_HAVE_OPENACC_ATOMICS) +#include +#ifdef __NVCOMPILER +// FIXME_OPENACC We cannot determine in a constant expresion whether we are on host or +// on device with NVHPC. We use the device implementation on both sides. +#define DESUL_IF_ON_DEVICE(CODE) \ + { DESUL_IMPL_STRIP_PARENS(CODE) } +#define DESUL_IF_ON_HOST(CODE) \ + {} +#else +#define DESUL_IF_ON_DEVICE(CODE) \ + if constexpr (acc_on_device(acc_device_not_host)) { \ + DESUL_IMPL_STRIP_PARENS(CODE) \ + } +#define DESUL_IF_ON_HOST(CODE) \ + if constexpr (acc_on_device(acc_device_host)) { \ + DESUL_IMPL_STRIP_PARENS(CODE) \ + } +#endif +#define DESUL_IMPL_ACC_ROUTINE_DIRECTIVE _Pragma("acc routine seq") +#else +#define DESUL_IMPL_ACC_ROUTINE_DIRECTIVE +#endif + #if !defined(DESUL_IF_ON_HOST) && !defined(DESUL_IF_ON_DEVICE) #if (defined(DESUL_ATOMICS_ENABLE_CUDA) && defined(__CUDA_ARCH__)) || \ (defined(DESUL_ATOMICS_ENABLE_HIP) && defined(__HIP_DEVICE_COMPILE__)) || \ diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp index 24078aae07..6a741f6d47 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp @@ -26,6 +26,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp new file mode 100644 index 0000000000..a5c8aa1c8a --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp @@ -0,0 +1,25 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_THREAD_FENCE_OPENACC_HPP_ +#define DESUL_ATOMICS_THREAD_FENCE_OPENACC_HPP_ + +namespace desul { +namespace Impl { + +#pragma acc routine seq +template +void device_atomic_thread_fence(MemoryOrder, MemoryScope) { + // FIXME_OPENACC: The current OpenACC standard does not support explicit thread fence + // operations. +} + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp b/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp index 9e84c60e41..6660c76e11 100644 --- a/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp +++ b/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp @@ -14,10 +14,12 @@ SPDX-License-Identifier: (BSD-3-Clause) namespace desul::Impl { +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION SYCL_EXTERNAL sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_DEVICE; SYCL_EXTERNAL sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_NODE; +#endif int32_t* SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h = nullptr; int32_t* SYCL_SPACE_ATOMIC_LOCKS_NODE_h = nullptr; @@ -31,19 +33,7 @@ void init_lock_arrays_sycl(sycl::queue q) { SYCL_SPACE_ATOMIC_LOCKS_NODE_h = sycl::malloc_host(SYCL_SPACE_ATOMIC_MASK + 1, q); - // FIXME_SYCL Once supported, the following should be replaced by - // q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_DEVICE, - // &SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, - // sizeof(int32_t*)); - // q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_NODE, - // &SYCL_SPACE_ATOMIC_LOCKS_NODE_h, - // sizeof(int32_t*)); - auto device_ptr = SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h; - auto node_ptr = SYCL_SPACE_ATOMIC_LOCKS_NODE_h; - q.single_task([=] { - SYCL_SPACE_ATOMIC_LOCKS_DEVICE.get() = device_ptr; - SYCL_SPACE_ATOMIC_LOCKS_NODE.get() = node_ptr; - }); + copy_sycl_lock_arrays_to_device(q); q.memset(SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, 0, @@ -63,7 +53,10 @@ void finalize_lock_arrays_sycl(sycl::queue q) { sycl::free(SYCL_SPACE_ATOMIC_LOCKS_NODE_h, q); SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h = nullptr; SYCL_SPACE_ATOMIC_LOCKS_NODE_h = nullptr; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION + copy_sycl_lock_arrays_to_device(q); +#endif } -} // namespace desul::Impl +} // namespace desul::Impl #endif diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp index ab1561bd47..25389a2fa5 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp @@ -27,165 +27,165 @@ namespace detail { // For no unique address emulation, this is the case taken when neither are empty. // For real `[[no_unique_address]]`, this case is always taken. -template struct __compressed_pair { - _MDSPAN_NO_UNIQUE_ADDRESS _T __t_val; - _MDSPAN_NO_UNIQUE_ADDRESS _U __u_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { return __t_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return __t_val; +template struct __compressed_pair { + _MDSPAN_NO_UNIQUE_ADDRESS _T1 __t1_val{}; + _MDSPAN_NO_UNIQUE_ADDRESS _T2 __t2_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return __t1_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return __t1_val; } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { return __u_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return __u_val; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return __t2_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return __t2_val; } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : __t_val((_TLike &&) __t), __u_val((_ULike &&) __u) {} + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : __t1_val((_T1Like &&) __t1), __t2_val((_T2Like &&) __t2) {} }; #if !defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) // First empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T) && !_MDSPAN_TRAIT(std::is_empty, _U)>> - : private _T { - _U __u_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { - return *static_cast<_T *>(this); + _T1, _T2, + std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T1) && !_MDSPAN_TRAIT(std::is_empty, _T2)>> + : private _T1 { + _T2 __t2_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { + return *static_cast<_T1 *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return *static_cast<_T const *>(this); + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return *static_cast<_T1 const *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { return __u_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return __u_val; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return __t2_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return __t2_val; } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : _T((_TLike &&) __t), __u_val((_ULike &&) __u) {} + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : _T1((_T1Like &&) __t1), __t2_val((_T2Like &&) __t2) {} }; // Second empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t> - : private _U { - _T __t_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { return __t_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return __t_val; + _T1, _T2, + std::enable_if_t> + : private _T2 { + _T1 __t1_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return __t1_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return __t1_val; } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { - return *static_cast<_U *>(this); + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { + return *static_cast<_T2 *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return *static_cast<_U const *>(this); + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return *static_cast<_T2 const *>(this); } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; + ~__compressed_pair() = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : _U((_ULike &&) __u), __t_val((_TLike &&) __t) {} + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : _T2((_T2Like &&) __t2), __t1_val((_T1Like &&) __t1) {} }; // Both empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T) && _MDSPAN_TRAIT(std::is_empty, _U)>> + _T1, _T2, + std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T1) && _MDSPAN_TRAIT(std::is_empty, _T2)>> // We need to use the __no_unique_address_emulation wrapper here to avoid // base class ambiguities. #ifdef _MDSPAN_COMPILER_MSVC // MSVC doesn't allow you to access public static member functions of a type // when you *happen* to privately inherit from that type. - : protected __no_unique_address_emulation<_T, 0>, - protected __no_unique_address_emulation<_U, 1> + : protected __no_unique_address_emulation<_T1, 0>, + protected __no_unique_address_emulation<_T2, 1> #else - : private __no_unique_address_emulation<_T, 0>, - private __no_unique_address_emulation<_U, 1> + : private __no_unique_address_emulation<_T1, 0>, + private __no_unique_address_emulation<_T2, 1> #endif { - using __first_base_t = __no_unique_address_emulation<_T, 0>; - using __second_base_t = __no_unique_address_emulation<_U, 1>; + using __first_base_t = __no_unique_address_emulation<_T1, 0>; + using __second_base_t = __no_unique_address_emulation<_T2, 1>; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return this->__first_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { return this->__first_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return this->__second_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { return this->__second_base_t::__ref(); } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) noexcept - : __first_base_t(_T((_TLike &&) __t)), - __second_base_t(_U((_ULike &&) __u)) + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) noexcept + : __first_base_t(_T1((_T1Like &&) __t1)), + __second_base_t(_T2((_T2Like &&) __t2)) { } }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp index d35e201ceb..8e42a37ba7 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp @@ -35,10 +35,17 @@ #define MDSPAN_CXX_STD_14 201402L #define MDSPAN_CXX_STD_17 201703L #define MDSPAN_CXX_STD_20 202002L +// Note GCC has not updated this in version 13 +#ifdef __clang__ +#define MDSPAN_CXX_STD_23 202302L +#else +#define MDSPAN_CXX_STD_23 202100L +#endif #define MDSPAN_HAS_CXX_14 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14) #define MDSPAN_HAS_CXX_17 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_17) #define MDSPAN_HAS_CXX_20 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_20) +#define MDSPAN_HAS_CXX_23 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_23) static_assert(_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 or later."); @@ -224,7 +231,7 @@ static_assert(_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 or #endif #ifndef MDSPAN_CONDITIONAL_EXPLICIT -# if MDSPAN_HAS_CXX_20 && !defined(_MDSPAN_COMPILER_MSVC) +# if MDSPAN_HAS_CXX_20 # define MDSPAN_CONDITIONAL_EXPLICIT(COND) explicit(COND) # else # define MDSPAN_CONDITIONAL_EXPLICIT(COND) diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp index 0dd31c4cd0..9a28c3ed5c 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp @@ -55,6 +55,14 @@ __check_compatible_extents( return {}; } +template +MDSPAN_INLINE_FUNCTION +static constexpr bool are_valid_indices() { + return + (std::is_convertible::value && ... && true) && + (std::is_nothrow_constructible::value && ... && true); +} + // ------------------------------------------------------------------ // ------------ static_array ---------------------------------------- // ------------------------------------------------------------------ @@ -140,7 +148,8 @@ struct index_sequence_scan_impl { template struct index_sequence_scan_impl { -#if defined(__NVCC__) || defined(__NVCOMPILER) +#if defined(__NVCC__) || defined(__NVCOMPILER) || \ + defined(_MDSPAN_COMPILER_INTEL) // NVCC warns about pointless comparison with 0 for R==0 and r being const // evaluatable and also 0. MDSPAN_INLINE_FUNCTION @@ -167,7 +176,7 @@ template <> struct index_sequence_scan_impl<0> { // all static values. template struct possibly_empty_array { - T vals[N]; + T vals[N]{}; MDSPAN_INLINE_FUNCTION constexpr T &operator[](size_t r) { return vals[r]; } MDSPAN_INLINE_FUNCTION @@ -251,12 +260,17 @@ public: #ifdef __cpp_lib_span MDSPAN_TEMPLATE_REQUIRES(class T, size_t N, - /* requires */ (N == m_size_dynamic)) + /* requires */ (N == m_size_dynamic && N > 0)) MDSPAN_INLINE_FUNCTION constexpr maybe_static_array(const std::span &vals) { for (size_t r = 0; r < N; r++) m_dyn_vals[r] = static_cast(vals[r]); } + + MDSPAN_TEMPLATE_REQUIRES(class T, size_t N, + /* requires */ (N == m_size_dynamic && N == 0)) + MDSPAN_INLINE_FUNCTION + constexpr maybe_static_array(const std::span &) : m_dyn_vals{} {} #endif // constructors from all values @@ -423,9 +437,9 @@ public: class OtherIndexType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, OtherIndexType, index_type) && + _MDSPAN_TRAIT(std::is_convertible, const OtherIndexType&, index_type) && _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, - OtherIndexType) && + const OtherIndexType&) && (N == m_rank || N == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT(N != m_rank_dynamic) @@ -436,8 +450,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class OtherIndexType, size_t N, /* requires */ - (_MDSPAN_TRAIT(std::is_convertible, OtherIndexType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, OtherIndexType) && + (_MDSPAN_TRAIT(std::is_convertible, const OtherIndexType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const OtherIndexType&) && (N == m_rank || N == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT(N != m_rank_dynamic) @@ -454,6 +468,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R < m_rank) && (static_extent(R) == dynamic_extent))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &exts, @@ -468,6 +483,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R < m_rank) && (static_extent(R) != dynamic_extent))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &exts, @@ -481,6 +497,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R == m_rank) && (DynCount == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &, @@ -491,17 +508,20 @@ private: public: // Converting constructor from other extents specializations - MDSPAN_TEMPLATE_REQUIRES( - class OtherIndexType, size_t... OtherExtents, - /* requires */ - ( - /* multi-stage check to protect from invalid pack expansion when sizes - don't match? */ - decltype(detail::__check_compatible_extents( - std::integral_constant{}, + MDSPAN_TEMPLATE_REQUIRES( + class OtherIndexType, size_t... OtherExtents, + /* requires */ + ( + /* multi-stage check to protect from invalid pack expansion when sizes + don't match? */ + decltype(detail::__check_compatible_extents( + // using: sizeof...(Extents) == sizeof...(OtherExtents) as the second argument fails with MSVC+NVCC with some obscure expansion error + // MSVC: 19.38.33133 NVCC: 12.0 + std::integral_constant::rank() == extents::rank()>{}, std::integer_sequence{}, - std::integer_sequence{}))::value)) + std::integer_sequence{}))::value + ) + ) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT((((Extents != dynamic_extent) && (OtherExtents == dynamic_extent)) || @@ -518,10 +538,14 @@ public: MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(const extents &lhs, const extents &rhs) noexcept { - bool value = true; - for (size_type r = 0; r < m_rank; r++) - value &= rhs.extent(r) == lhs.extent(r); - return value; + if constexpr (rank() != extents::rank()) { + return false; + } else { + using common_t = std::common_type_t; + for (size_type r = 0; r < m_rank; r++) + if(static_cast(rhs.extent(r)) != static_cast(lhs.extent(r))) return false; + } + return true; } #if !(MDSPAN_HAS_CXX_20) @@ -570,7 +594,7 @@ using dextents = typename detail::__make_dextents::type; template extents(IndexTypes...) -> extents; + ((void) sizeof(IndexTypes), ::MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent)...>; #endif // Helper type traits for identifying a class as extents. diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp index af44494a98..83ed9ef7fe 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp @@ -18,6 +18,9 @@ #include "macros.hpp" #include "trait_backports.hpp" #include "extents.hpp" +#include "../__p2642_bits/layout_padded_fwd.hpp" +#include +#include namespace MDSPAN_IMPL_STANDARD_NAMESPACE { @@ -108,6 +111,36 @@ class layout_left::mapping { */ } +#if MDSPAN_HAS_CXX_17 + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if _Mapping is a layout_left_padded mapping and + * extents_type is constructible from _Mapping::extents_type. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_left_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::is_layout_left_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + mapping(const _Mapping& __other) noexcept + : __extents(__other.extents()) + { + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_mandates(); + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_preconditions< + extents_type>(__other); + } +#endif + MDSPAN_TEMPLATE_REQUIRES( class OtherExtents, /* requires */ ( @@ -124,13 +157,14 @@ class layout_left::mapping { * other.required_span_size() is a representable value of type index_type */ #if !defined(_MDSPAN_HAS_CUDA) && !defined(_MDSPAN_HAS_HIP) && !defined(NDEBUG) - index_type stride = 1; - for(rank_type r=0; r<__extents.rank(); r++) { - if(stride != static_cast(other.stride(r))) { - // Note this throw will lead to a terminate if triggered since this function is marked noexcept - throw std::runtime_error("Assigning layout_stride to layout_left with invalid strides."); + if constexpr (extents_type::rank() > 0) { + index_type stride = 1; + using common_t = std::common_type_t; + for(rank_type r=0; r<__extents.rank(); r++) { + if(static_cast(stride) != static_cast(other.stride(r))) + std::abort(); // ("Assigning layout_stride to layout_left with invalid strides."); + stride *= __extents.extent(r); } - stride *= __extents.extent(r); } #endif } @@ -155,10 +189,7 @@ class layout_left::mapping { class... Indices, /* requires */ ( (sizeof...(Indices) == extents_type::rank()) && - _MDSPAN_FOLD_AND( - (_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices)) - ) + (detail::are_valid_indices()) ) ) _MDSPAN_HOST_DEVICE @@ -172,9 +203,9 @@ class layout_left::mapping { MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_exhaustive() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION constexpr index_type stride(rank_type i) const noexcept @@ -187,7 +218,10 @@ class layout_left::mapping { return value; } - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() == rhs.extents(); @@ -195,7 +229,10 @@ class layout_left::mapping { // In C++ 20 the not equal exists if equal is found #if !(MDSPAN_HAS_CXX_20) - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator!=(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() != rhs.extents(); @@ -215,6 +252,17 @@ class layout_left::mapping { private: _MDSPAN_NO_UNIQUE_ADDRESS extents_type __extents{}; + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp index a058648420..3d3927df7b 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp @@ -20,6 +20,7 @@ #include "extents.hpp" #include #include "layout_stride.hpp" +#include "../__p2642_bits/layout_padded_fwd.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { @@ -113,6 +114,34 @@ class layout_right::mapping { */ } + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if _Mapping is a layout_right_padded mapping and + * extents_type is constructible from _Mapping::extents_type. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_right_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ +#if MDSPAN_HAS_CXX_17 + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::is_layout_right_padded_mapping<_Mapping>::value + && std::is_constructible_v)) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + mapping(const _Mapping &__other) noexcept + : __extents(__other.extents()) + { + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_mandates(); + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_preconditions< + extents_type>(__other); + } +#endif + MDSPAN_TEMPLATE_REQUIRES( class OtherExtents, /* requires */ ( @@ -129,13 +158,14 @@ class layout_right::mapping { * other.required_span_size() is a representable value of type index_type */ #if !defined(_MDSPAN_HAS_CUDA) && !defined(_MDSPAN_HAS_HIP) && !defined(NDEBUG) - index_type stride = 1; - for(rank_type r=__extents.rank(); r>0; r--) { - if(stride != static_cast(other.stride(r-1))) { - // Note this throw will lead to a terminate if triggered since this function is marked noexcept - throw std::runtime_error("Assigning layout_stride to layout_right with invalid strides."); + if constexpr (extents_type::rank() > 0) { + index_type stride = 1; + using common_t = std::common_type_t; + for(rank_type r=__extents.rank(); r>0; r--) { + if(static_cast(stride) != static_cast(other.stride(r-1))) + std::abort(); // ("Assigning layout_stride to layout_right with invalid strides."); + stride *= __extents.extent(r-1); } - stride *= __extents.extent(r-1); } #endif } @@ -157,13 +187,10 @@ class layout_right::mapping { //-------------------------------------------------------------------------------- MDSPAN_TEMPLATE_REQUIRES( - class... Indices, + class ... Indices, /* requires */ ( - (sizeof...(Indices) == extents_type::rank()) && - _MDSPAN_FOLD_AND( - (_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices)) - ) + (sizeof...(Indices) == extents_type::rank()) && + (detail::are_valid_indices()) ) ) _MDSPAN_HOST_DEVICE @@ -174,9 +201,9 @@ class layout_right::mapping { MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_exhaustive() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION constexpr index_type stride(rank_type i) const noexcept @@ -189,7 +216,10 @@ class layout_right::mapping { return value; } - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() == rhs.extents(); @@ -197,7 +227,10 @@ class layout_right::mapping { // In C++ 20 the not equal exists if equal is found #if !(MDSPAN_HAS_CXX_20) - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ (Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator!=(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() != rhs.extents(); @@ -217,6 +250,17 @@ class layout_right::mapping { private: _MDSPAN_NO_UNIQUE_ADDRESS extents_type __extents{}; + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; } // end namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp index 030a494529..15ad577d14 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp @@ -88,7 +88,7 @@ struct layout_stride { : private detail::__no_unique_address_emulation< detail::__compressed_pair< Extents, - std::array + detail::possibly_empty_array > > #endif @@ -109,7 +109,7 @@ struct layout_stride { //---------------------------------------------------------------------------- - using __strides_storage_t = std::array; + using __strides_storage_t = detail::possibly_empty_array; using __member_pair_t = detail::__compressed_pair; #if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) @@ -158,14 +158,16 @@ struct layout_stride { template MDSPAN_INLINE_FUNCTION static constexpr bool _eq_impl(mapping const& self, mapping const& other) noexcept { - return _MDSPAN_FOLD_AND((self.stride(Idxs) == other.stride(Idxs)) /* && ... */) - && _MDSPAN_FOLD_AND((self.extents().extent(Idxs) == other.extents().extent(Idxs)) /* || ... */); + using common_t = std::common_type_t; + return _MDSPAN_FOLD_AND((static_cast(self.stride(Idxs)) == static_cast(other.stride(Idxs))) /* && ... */) + && _MDSPAN_FOLD_AND((static_cast(self.extents().extent(Idxs)) == static_cast(other.extents().extent(Idxs))) /* || ... */); } template MDSPAN_INLINE_FUNCTION static constexpr bool _not_eq_impl(mapping const& self, mapping const& other) noexcept { - return _MDSPAN_FOLD_OR((self.stride(Idxs) != other.stride(Idxs)) /* || ... */) - || _MDSPAN_FOLD_OR((self.extents().extent(Idxs) != other.extents().extent(Idxs)) /* || ... */); + using common_t = std::common_type_t; + return _MDSPAN_FOLD_OR((static_cast(self.stride(Idxs)) != static_cast(other.stride(Idxs))) /* || ... */) + || _MDSPAN_FOLD_OR((static_cast(self.extents().extent(Idxs)) != static_cast(other.extents().extent(Idxs))) /* || ... */); } template @@ -205,6 +207,11 @@ struct layout_stride { } #endif + MDSPAN_INLINE_FUNCTION + static constexpr std::array return_strides(const __strides_storage_t& s) { + return std::array{s[Idxs]...}; + } + template MDSPAN_INLINE_FUNCTION static constexpr size_t __return_zero() { return 0; } @@ -218,6 +225,21 @@ struct layout_stride { // Can't use defaulted parameter in the __deduction_workaround template because of a bug in MSVC warning C4348. using __impl = __deduction_workaround>; + static constexpr __strides_storage_t strides_storage(std::true_type) { + __strides_storage_t s{}; + + extents_type e; + index_type stride = 1; + for(int r = static_cast(extents_type::rank() - 1); r >= 0; r--) { + s[r] = stride; + stride *= e.extent(r); + } + + return s; + } + static constexpr __strides_storage_t strides_storage(std::false_type) { + return {}; + } //---------------------------------------------------------------------------- @@ -233,7 +255,21 @@ struct layout_stride { //-------------------------------------------------------------------------------- - MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping() noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping() noexcept +#if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) + : __members{ +#else + : __base_t(__base_t{__member_pair_t( +#endif + extents_type(), + __strides_storage_t(strides_storage(std::integral_constant 0)>{})) +#if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) + } +#else + )}) +#endif + {} + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(mapping const&) noexcept = default; MDSPAN_TEMPLATE_REQUIRES( @@ -332,10 +368,10 @@ struct layout_stride { ) #endif MDSPAN_CONDITIONAL_EXPLICIT( - (!std::is_convertible::value) && - (detail::__is_mapping_of || - detail::__is_mapping_of || - detail::__is_mapping_of) + !(std::is_convertible::value && + (detail::__is_mapping_of || + detail::__is_mapping_of || + detail::__is_mapping_of)) ) // needs two () due to comma MDSPAN_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 mapping(StridedLayoutMapping const& other) noexcept // NOLINT(google-explicit-constructor) @@ -374,7 +410,7 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION constexpr std::array< index_type, extents_type::rank() > strides() const noexcept { - return __strides_storage(); + return __impl::return_strides(__strides_storage()); } MDSPAN_INLINE_FUNCTION @@ -393,8 +429,7 @@ struct layout_stride { class... Indices, /* requires */ ( sizeof...(Indices) == Extents::rank() && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) /*&& ...*/ ) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices) /*&& ...*/) + (detail::are_valid_indices()) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -410,17 +445,37 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } MDSPAN_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 bool is_exhaustive() const noexcept { - return required_span_size() == __get_size(extents(), std::make_index_sequence()); + if constexpr (extents_type::rank() == 0) + return true; + else { + index_type span_size = required_span_size(); + if (span_size == static_cast(0)) { + if constexpr (extents_type::rank() == 1) { + return stride(0) == 1; + } else { + rank_type r_largest = 0; + for (rank_type r = 1; r < extents_type::rank(); r++) { + if (stride(r) > stride(r_largest)) { + r_largest = r; + } + } + for (rank_type r = 0; r < extents_type::rank(); r++) { + if (extents().extent(r) == 0 && r != r_largest) { + return false; + } + } + return true; + } + } else { + return required_span_size() == __get_size(extents(), std::make_index_sequence()); + } + } } MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION - constexpr index_type stride(rank_type r) const noexcept -#if MDSPAN_HAS_CXX_20 - requires ( Extents::rank() > 0 ) -#endif - { + constexpr index_type stride(rank_type r) const noexcept { return __strides_storage()[r]; } @@ -444,10 +499,13 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(const mapping& x, const StridedLayoutMapping& y) noexcept { bool strides_match = true; - for(rank_type r = 0; r < extents_type::rank(); r++) - strides_match = strides_match && (x.stride(r) == y.stride(r)); + if constexpr (extents_type::rank() > 0) { + using common_t = std::common_type_t; + for(rank_type r = 0; r < extents_type::rank(); r++) + strides_match = strides_match && (static_cast(x.stride(r)) == static_cast(y.stride(r))); + } return (x.extents() == y.extents()) && - (__impl::__OFFSET(y)== static_cast(0)) && + (__impl::__OFFSET(y) == static_cast(0)) && strides_match; } @@ -489,6 +547,17 @@ struct layout_stride { } #endif + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp index 6febe30021..d6ec49e65b 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp @@ -55,6 +55,13 @@ private: ReferenceType __callop(mdspan const& __self, const std::array& indices) noexcept { return __self.__accessor_ref().access(__self.__ptr_ref(), __self.__mapping_ref()(indices[Idxs]...)); } +#ifdef __cpp_lib_span + template + MDSPAN_FORCE_INLINE_FUNCTION static constexpr + ReferenceType __callop(mdspan const& __self, const std::span& indices) noexcept { + return __self.__accessor_ref().access(__self.__ptr_ref(), __self.__mapping_ref()(indices[Idxs]...)); + } +#endif }; public: @@ -109,9 +116,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeTypes) /* && ... */) && ((sizeof...(SizeTypes) == rank()) || (sizeof...(SizeTypes) == rank_dynamic())) && + (detail::are_valid_indices()) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) ) @@ -125,8 +131,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) && + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) && ((N == rank()) || (N == rank_dynamic())) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) @@ -142,8 +148,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) && + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) && ((N == rank()) || (N == rank_dynamic())) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) @@ -160,7 +166,7 @@ public: (MDSPAN_INLINE_FUNCTION constexpr), mdspan, (data_handle_type p, const extents_type& exts), , /* requires */ (_MDSPAN_TRAIT(std::is_default_constructible, accessor_type) && - _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type)) + _MDSPAN_TRAIT(std::is_constructible, mapping_type, const extents_type&)) ) : __members(std::move(p), __map_acc_pair_t(mapping_type(exts), accessor_type())) { } @@ -179,10 +185,14 @@ public: MDSPAN_TEMPLATE_REQUIRES( class OtherElementType, class OtherExtents, class OtherLayoutPolicy, class OtherAccessor, /* requires */ ( - _MDSPAN_TRAIT(std::is_constructible, mapping_type, typename OtherLayoutPolicy::template mapping) && - _MDSPAN_TRAIT(std::is_constructible, accessor_type, OtherAccessor) + _MDSPAN_TRAIT(std::is_constructible, mapping_type, const typename OtherLayoutPolicy::template mapping&) && + _MDSPAN_TRAIT(std::is_constructible, accessor_type, const OtherAccessor&) ) ) + MDSPAN_CONDITIONAL_EXPLICIT( + !_MDSPAN_TRAIT(std::is_convertible, const typename OtherLayoutPolicy::template mapping&, mapping_type) || + !_MDSPAN_TRAIT(std::is_convertible, const OtherAccessor&, accessor_type) + ) MDSPAN_INLINE_FUNCTION constexpr mdspan(const mdspan& other) : __members(other.__ptr_ref(), __map_acc_pair_t(other.__mapping_ref(), other.__accessor_ref())) @@ -226,8 +236,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -240,8 +250,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -271,9 +281,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeTypes) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + extents_type::rank() == sizeof...(SizeTypes) && + (detail::are_valid_indices()) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -285,8 +294,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -299,8 +308,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -311,7 +320,7 @@ public: #endif // __cpp_lib_span #endif // MDSPAN_USE_PAREN_OPERATOR - MDSPAN_INLINE_FUNCTION constexpr size_t size() const noexcept { + MDSPAN_INLINE_FUNCTION constexpr size_type size() const noexcept { return __impl::__size(*this); }; @@ -346,13 +355,13 @@ public: //-------------------------------------------------------------------------------- // [mdspan.basic.obs], mdspan observers of the mapping - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() noexcept { return mapping_type::is_always_unique(); }; - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return mapping_type::is_always_exhaustive(); }; - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return mapping_type::is_always_strided(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() { return mapping_type::is_always_unique(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() { return mapping_type::is_always_exhaustive(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() { return mapping_type::is_always_strided(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return __mapping_ref().is_unique(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return __mapping_ref().is_exhaustive(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return __mapping_ref().is_strided(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const { return __mapping_ref().is_unique(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const { return __mapping_ref().is_exhaustive(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const { return __mapping_ref().is_strided(); }; MDSPAN_INLINE_FUNCTION constexpr index_type stride(size_t r) const { return __mapping_ref().stride(r); }; private: @@ -374,7 +383,7 @@ private: #if defined(_MDSPAN_USE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION) MDSPAN_TEMPLATE_REQUIRES( class ElementType, class... SizeTypes, - /* requires */ _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_integral, SizeTypes) /* && ... */) && + /* requires */ _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, size_t) /* && ... */) && (sizeof...(SizeTypes) > 0) ) MDSPAN_DEDUCTION_GUIDE explicit mdspan(ElementType*, SizeTypes...) diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp index 3950273a83..bdc5925f71 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp @@ -103,8 +103,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) && (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t) || container_is_array::value) && @@ -133,61 +133,29 @@ public: ) : map_(m), ctr_(container_is_array::construct(map_)) { } - // Constructors from container - MDSPAN_TEMPLATE_REQUIRES( - class... SizeTypes, - /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && - _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) - ) - ) - MDSPAN_INLINE_FUNCTION - explicit constexpr mdarray(const container_type& ctr, SizeTypes... dynamic_extents) - : map_(extents_type(dynamic_extents...)), ctr_(ctr) - { assert(ctr.size() >= static_cast(map_.required_span_size())); } - - MDSPAN_FUNCTION_REQUIRES( (MDSPAN_INLINE_FUNCTION constexpr), - mdarray, (const container_type& ctr, const extents_type& exts), , + mdarray, (const extents_type& exts, const container_type& ctr), , /* requires */ (_MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) : map_(exts), ctr_(ctr) { assert(ctr.size() >= static_cast(map_.required_span_size())); } - constexpr mdarray(const container_type& ctr, const mapping_type& m) + constexpr mdarray(const mapping_type& m, const container_type& ctr) : map_(m), ctr_(ctr) { assert(ctr.size() >= static_cast(map_.required_span_size())); } - - // Constructors from container - MDSPAN_TEMPLATE_REQUIRES( - class... SizeTypes, - /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && - _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) - ) - ) - MDSPAN_INLINE_FUNCTION - explicit constexpr mdarray(container_type&& ctr, SizeTypes... dynamic_extents) - : map_(extents_type(dynamic_extents...)), ctr_(std::move(ctr)) - { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - - MDSPAN_FUNCTION_REQUIRES( (MDSPAN_INLINE_FUNCTION constexpr), - mdarray, (container_type&& ctr, const extents_type& exts), , + mdarray, (const extents_type& exts, container_type&& ctr), , /* requires */ (_MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) : map_(exts), ctr_(std::move(ctr)) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - constexpr mdarray(container_type&& ctr, const mapping_type& m) + constexpr mdarray(const mapping_type& m, container_type&& ctr) : map_(m), ctr_(std::move(ctr)) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - MDSPAN_TEMPLATE_REQUIRES( class OtherElementType, class OtherExtents, class OtherLayoutPolicy, class OtherContainer, /* requires */ ( @@ -229,7 +197,7 @@ public: _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(const container_type& ctr, const extents_type& exts, const Alloc& a) + constexpr mdarray(const extents_type& exts, const container_type& ctr, const Alloc& a) : map_(exts), ctr_(ctr, a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -238,7 +206,7 @@ public: /* requires */ (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t, Alloc)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(const container_type& ctr, const mapping_type& map, const Alloc& a) + constexpr mdarray(const mapping_type& map, const container_type& ctr, const Alloc& a) : map_(map), ctr_(ctr, a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -248,7 +216,7 @@ public: _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(container_type&& ctr, const extents_type& exts, const Alloc& a) + constexpr mdarray(const extents_type& exts, container_type&& ctr, const Alloc& a) : map_(exts), ctr_(std::move(ctr), a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -257,7 +225,7 @@ public: /* requires */ (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t, Alloc)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(container_type&& ctr, const mapping_type& map, const Alloc& a) + constexpr mdarray(const mapping_type& map, container_type&& ctr, const Alloc& a) : map_(map), ctr_(std::move(ctr), a) { assert(ctr_.size() >= map_.required_span_size()); } @@ -344,8 +312,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + extents_type::rank() == sizeof...(SizeTypes) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -356,8 +324,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + extents_type::rank() == sizeof...(SizeTypes) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -433,8 +401,9 @@ public: class OtherElementType, class OtherExtents, class OtherLayoutType, class OtherAccessorType, /* requires */ ( - _MDSPAN_TRAIT(std::is_assignable, mdspan_type, - mdspan) + _MDSPAN_TRAIT(std::is_assignable, + mdspan, + mdspan_type) ) ) constexpr operator mdspan () { @@ -445,8 +414,9 @@ public: class OtherElementType, class OtherExtents, class OtherLayoutType, class OtherAccessorType, /* requires */ ( - _MDSPAN_TRAIT(std::is_assignable, const_mdspan_type, - mdspan) + _MDSPAN_TRAIT(std::is_assignable, + mdspan, + const_mdspan_type) ) ) constexpr operator mdspan () const { diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp index 58f38620ba..89ba8202fb 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp @@ -20,7 +20,6 @@ #include namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { namespace { template @@ -29,6 +28,7 @@ namespace { template struct __mdspan_is_integral_constant>: std::true_type {}; } + // Slice Specifier allowing for strides and compile time extent template struct strided_slice { @@ -36,14 +36,13 @@ struct strided_slice { using extent_type = ExtentType; using stride_type = StrideType; - OffsetType offset; - ExtentType extent; - StrideType stride; + _MDSPAN_NO_UNIQUE_ADDRESS OffsetType offset{}; + _MDSPAN_NO_UNIQUE_ADDRESS ExtentType extent{}; + _MDSPAN_NO_UNIQUE_ADDRESS StrideType stride{}; static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); }; -} // MDSPAN_IMPL_PROPOSED_NAMESPACE } // MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp index b9672b7f9a..abddd0b59d 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp @@ -20,23 +20,21 @@ #include "submdspan_mapping.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { template MDSPAN_INLINE_FUNCTION constexpr auto submdspan(const mdspan &src, SliceSpecifiers... slices) { - const auto sub_mapping_offset = submdspan_mapping(src.mapping(), slices...); + const auto sub_submdspan_mapping_result = submdspan_mapping(src.mapping(), slices...); // NVCC has a problem with the deduction so lets figure out the type - using sub_mapping_t = std::remove_cv_t; + using sub_mapping_t = std::remove_cv_t; using sub_extents_t = typename sub_mapping_t::extents_type; using sub_layout_t = typename sub_mapping_t::layout_type; using sub_accessor_t = typename AccessorPolicy::offset_policy; return mdspan( - src.accessor().offset(src.data_handle(), sub_mapping_offset.offset), - sub_mapping_offset.mapping, + src.accessor().offset(src.data_handle(), sub_submdspan_mapping_result.offset), + sub_submdspan_mapping_result.mapping, sub_accessor_t(src.accessor())); } -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp index f56ce023f1..c3b2f78fb9 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp @@ -20,7 +20,6 @@ #include "strided_slice.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { namespace detail { // Mapping from submapping ranks to srcmapping ranks @@ -319,5 +318,4 @@ constexpr auto submdspan_extents(const extents &src_exts, return detail::extents_constructor::next_extent( src_exts, slices...); } -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp index 48778d57e7..ca6948c9a9 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp @@ -22,21 +22,15 @@ #include // index_sequence namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { //****************************************** // Return type of submdspan_mapping overloads //****************************************** -template struct mapping_offset { - Mapping mapping; +template struct submdspan_mapping_result { + _MDSPAN_NO_UNIQUE_ADDRESS LayoutMapping mapping{}; size_t offset; }; -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE namespace detail { -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::first_of; -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::stride_of; -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::inv_map_rank; - // constructs sub strides template MDSPAN_INLINE_FUNCTION @@ -98,17 +92,15 @@ struct preserve_layout_left_mapping, SubRank, #pragma diag_suppress = implicit_return_from_non_void_function #endif // Actual submdspan mapping call -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_left::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; +layout_left::mapping::submdspan_mapping_impl(SliceSpecifiers... slices) const { // compute sub extents using src_ext_t = Extents; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); // figure out sub layout type @@ -121,18 +113,18 @@ submdspan_mapping(const layout_left::mapping &src_mapping, if constexpr (std::is_same_v) { // layout_left case - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext), - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } else { // layout_stride case auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -140,7 +132,7 @@ submdspan_mapping(const layout_left::mapping &src_mapping, #else std::tuple{detail::stride_of(slices)...})), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } #if defined(__NVCC__) && !defined(__CUDA_ARCH__) && defined(__GNUC__) __builtin_unreachable(); @@ -207,17 +199,15 @@ struct preserve_layout_right_mapping, SubRank, #pragma diagnostic push #pragma diag_suppress = implicit_return_from_non_void_function #endif -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_right::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; - +layout_right::mapping::submdspan_mapping_impl( + SliceSpecifiers... slices) const { // get sub extents using src_ext_t = Extents; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); // determine new layout type @@ -230,18 +220,18 @@ submdspan_mapping(const layout_right::mapping &src_mapping, if constexpr (std::is_same_v) { // layout_right case - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext), - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } else { // layout_stride case auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -249,7 +239,7 @@ submdspan_mapping(const layout_right::mapping &src_mapping, #else std::tuple{detail::stride_of(slices)...})), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } #if defined(__NVCC__) && !defined(__CUDA_ARCH__) && defined(__GNUC__) __builtin_unreachable(); @@ -270,23 +260,22 @@ submdspan_mapping(const layout_right::mapping &src_mapping, //********************************** // layout_stride submdspan_mapping //********************************* -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_stride::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); +layout_stride::mapping::submdspan_mapping_impl( + SliceSpecifiers... slices) const { + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); using dst_mapping_t = typename layout_stride::template mapping; - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -294,6 +283,7 @@ submdspan_mapping(const layout_stride::mapping &src_mapping, #else std::tuple(detail::stride_of(slices)...))), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } + } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp new file mode 100644 index 0000000000..a801486792 --- /dev/null +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp @@ -0,0 +1,793 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER +#pragma once + +#include +#include "layout_padded_fwd.hpp" +#include "../__p0009_bits/dynamic_extent.hpp" +#include "../__p0009_bits/extents.hpp" +#include "../__p0009_bits/mdspan.hpp" +#include "../__p0009_bits/layout_left.hpp" +#include "../__p0009_bits/layout_right.hpp" +#include "../__p0009_bits/layout_stride.hpp" + +namespace MDSPAN_IMPL_STANDARD_NAMESPACE { +namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { + +namespace detail { +template +MDSPAN_INLINE_FUNCTION +constexpr _T +find_next_multiple(_T alignment, _T offset) +{ + if ( alignment == 0 ) { + return _T(0); + } else { + return ( ( offset + alignment - 1 ) / alignment) * alignment; + } +} + +template +MDSPAN_INLINE_FUNCTION constexpr size_t get_actual_static_padding_value() { + constexpr auto rank = _ExtentsType::rank(); + + if constexpr (rank <= typename _ExtentsType::rank_type(1)) { + return 0; + } else if constexpr (_PaddingValue != dynamic_extent && + _ExtentsType::static_extent(_ExtentToPadIdx) != + dynamic_extent) { + static_assert( + (_PaddingValue != 0) || + (_ExtentsType::static_extent(_ExtentToPadIdx) == 0), + "padding stride can be 0 only if " + "extents_type::static_extent(extent-to-pad) is 0 or dynamic_extent"); + return find_next_multiple(_PaddingValue, + _ExtentsType::static_extent(_ExtentToPadIdx)); + } else { + return dynamic_extent; + } +} + +template +struct static_array_type_for_padded_extent +{ + static constexpr size_t padding_value = _PaddingValue; + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using type = ::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::maybe_static_array< + index_type, size_t, dynamic_extent, + detail::get_actual_static_padding_value()>; +}; + +template +struct static_array_type_for_padded_extent<_PaddingValue, _Extents, + _ExtentToPadIdx, Rank, std::enable_if_t> { + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using type = + ::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::maybe_static_array< + index_type, size_t, dynamic_extent, 0>; +}; + +template +struct padded_extent { + static constexpr size_t padding_value = _PaddingValue; + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using static_array_type = typename static_array_type_for_padded_extent< + padding_value, _Extents, _ExtentToPadIdx, _Extents::rank()>::type; + + static constexpr auto static_value() { return static_array_type::static_value(0); } + + MDSPAN_INLINE_FUNCTION + static constexpr static_array_type + init_padding(const _Extents &exts) { + if constexpr ((_Extents::rank() > 1) && (padding_value == dynamic_extent)) { + return {exts.extent(_ExtentToPadIdx)}; + } else { + return init_padding(exts, padding_value); + } + } + + MDSPAN_INLINE_FUNCTION static constexpr static_array_type + init_padding([[maybe_unused]] const _Extents &exts, + [[maybe_unused]] index_type pv) { + if constexpr (_Extents::rank() > 1) { + return {find_next_multiple(pv, + exts.extent(_ExtentToPadIdx))}; + } else { + return {}; + } + } + + template + MDSPAN_INLINE_FUNCTION static constexpr static_array_type + init_padding([[maybe_unused]] const _Mapping &other_mapping, + std::integral_constant) { + if constexpr (_Extents::rank() > 1) { + return {other_mapping.stride(_PaddingStrideIdx)}; + } else { + return {}; + } + } +}; +} // namespace detail + +template +template +class layout_left_padded::mapping { +public: + static constexpr size_t padding_value = PaddingValue; + + using extents_type = Extents; + using index_type = typename extents_type::index_type; + using size_type = typename extents_type::size_type; + using rank_type = typename extents_type::rank_type; + using layout_type = layout_left_padded; + +#ifndef MDSPAN_INTERNAL_TEST +private: +#endif // MDSPAN_INTERNAL_TEST + + static constexpr rank_type padded_stride_idx = detail::layout_padded_constants::padded_stride_idx; + static constexpr rank_type extent_to_pad_idx = detail::layout_padded_constants::extent_to_pad_idx; + + static_assert((padding_value != 0) + || (extents_type::static_extent(extent_to_pad_idx) == 0) + || (extents_type::static_extent(extent_to_pad_idx) == dynamic_extent), + "out of bounds access for rank 0"); + + using padded_stride_type = detail::padded_extent< padding_value, extents_type, extent_to_pad_idx >; + + static constexpr size_t static_padding_stride = padded_stride_type::static_value(); + + typename padded_stride_type::static_array_type padded_stride = {}; + extents_type exts = {}; + + constexpr index_type compute_offset(std::index_sequence<>) const { + return 0; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffset index_offset) const { + return index_offset; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffsets... index_offsets) const { + index_type indices[] = {static_cast(index_offsets)...}; + // self-recursive fold trick from + // https://github.com/llvm/llvm-project/blob/96e1914aa2e6d8966acbfbe2f4d184201f1aa318/libcxx/include/mdspan/layout_left.h#L144 + index_type res = 0; + ((res = indices[extents_type::rank() - 1 - Ranks] + + ((extents_type::rank() - 1 - Ranks) == extent_to_pad_idx + ? padded_stride.value(0) + : exts.extent(extents_type::rank() - 1 - Ranks)) * + res), + ...); + return res; + } + +public: +#if !MDSPAN_HAS_CXX_20 + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + : mapping(extents_type{}) + {} +#else + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + requires(static_padding_stride != dynamic_extent) = default; + + MDSPAN_INLINE_FUNCTION + constexpr mapping() + requires(static_padding_stride == dynamic_extent) + : mapping(extents_type{}) + {} +#endif + + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(const mapping&) noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED mapping& operator=(const mapping&) noexcept = default; + + /** + * Initializes the mapping with the given extents. + * + * \param ext the given extents + */ + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type& ext) + : padded_stride(padded_stride_type::init_padding(ext)), exts(ext) + {} + + /** + * Initializes the mapping with the given extents and the specified padding value. + * + * This overload participates in overload resolution only if `is_convertible_v` + * is `true` and `is_nothrow_constructible_v` is `true` + * + * \param ext the given extents + * \param padding_value the padding value + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Size, + /* requires */ ( + std::is_convertible_v<_Size, index_type> + && std::is_nothrow_constructible_v + ) + ) + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext, _Size dynamic_padding_value) + : padded_stride(padded_stride_type::init_padding(ext, dynamic_padding_value)), exts(ext) + { + assert((padding_value == dynamic_extent) || (static_cast(padding_value) == static_cast(dynamic_padding_value))); + } + + /** + * Converting constructor from `layout_left::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * If `OtherExtents::rank() > 1` then one of `padding_value`, `static_extent(0)`, or `OtherExtents::static_extent(0)` must be `dynamic_extent`; + * otherwise, `OtherExtents::static_extent(0)` must be equal to the least multiple of `padding_value` greater than or equal to `extents_type::static_extent(0)` + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v<_OtherExtents, extents_type>)) + constexpr mapping(const layout_left::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert((_OtherExtents::rank() > 1) || (static_padding_stride != dynamic_extent) || (_OtherExtents::static_extent(extent_to_pad_idx) != dynamic_extent) + || (static_padding_stride == _OtherExtents::static_extent(extent_to_pad_idx))); + } + + /** + * Converting constructor from `layout_stride::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 0)) + constexpr mapping(const layout_stride::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + } + + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * Either `padding_value` or `OtherPaddingStride` must be `std::dynamic_extent`, or `padding_value == OtherPaddingStride`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 1 && (padding_value == dynamic_extent || _Mapping::padding_value == dynamic_extent))) + constexpr + mapping(const _Mapping &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert(padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent || + padding_value == _Mapping::padding_value); + } + + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if `extents_type::rank()` is 0 or 1 and `is_constructible_v` is `true`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && extents_type::rank() <= 1 + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + constexpr + mapping(const _Mapping &other_mapping) noexcept + : padded_stride(padded_stride_type::init_padding(other_mapping.extents(), other_mapping.extents().extent(extent_to_pad_idx))), + exts(other_mapping.extents()) + {} + + constexpr const extents_type &extents() const noexcept + { + return exts; + } + + constexpr std::array + strides() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return {}; + } else if constexpr ( extents_type::rank() == 1 ) { + return {1}; + } else { + index_type value = 1; + std::array s{}; + s[extent_to_pad_idx] = value; + value *= padded_stride.value(0); + for (rank_type r = extent_to_pad_idx + 1; r < extents_type::rank() - 1; ++r) + { + s[r] = value; + value *= exts.extent(r); + } + s[extents_type::rank() - 1] = value; + return s; + } + } + + constexpr index_type + required_span_size() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return 1; + } else if constexpr ( extents_type::rank() == 1 ) { + return exts.extent(0); + } else { + index_type value = padded_stride.value(0); + for (rank_type r = 1; r < extents_type::rank(); ++r) { + value *= exts.extent(r); + } + return value; + } + } + + /** + * Return the mapping given the provided indices per rank. + * + * This overload participates in overload resolution only if: + * - `sizeof...(Indices) == extents_type::rank()`, + * - `(is_convertible_v && ...) is true`, and + * - (is_nothrow_constructible_v && ...) is true. + */ + MDSPAN_TEMPLATE_REQUIRES( + class... _Indices, + /* requires */ ( + sizeof...(_Indices) == extents_type::rank() && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) + ) + ) + constexpr size_t operator()(_Indices... idxs) const noexcept + { + return compute_offset(std::index_sequence_for<_Indices...>{}, idxs...); + } + + static constexpr bool is_always_unique() noexcept { return true; } + static constexpr bool is_always_exhaustive() noexcept + { + return (extents_type::rank() <= rank_type(1)) + || (extents_type::static_extent(extent_to_pad_idx) != dynamic_extent + && extents_type::static_extent(extent_to_pad_idx) == padded_stride_type::static_value()); + } + static constexpr bool is_always_strided() noexcept { return true; } + + static constexpr bool is_unique() noexcept { return true; } + constexpr bool is_exhaustive() const noexcept + { + return (extents_type::rank() < 2) + || (exts.extent(extent_to_pad_idx) == padded_stride.value(0)); + } + static constexpr bool is_strided() noexcept { return true; } + + constexpr index_type stride(rank_type r) const noexcept + { + assert(r < extents_type::rank()); + if(r == 0) return index_type(1); + + index_type value = padded_stride.value(0); + for (rank_type k = 1; k < r; k++) value *= exts.extent(k); + + return value; + } + + /** + * Equality operator between `layout_left_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_left_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator==(const mapping &left, const _Mapping &right) noexcept + { + // Workaround for some compilers not short-circuiting properly with compile-time checks + // i.e. we can't access stride(_padding_stride_idx) of a rank 0 mapping + bool strides_equal = true; + if constexpr (extents_type::rank() > rank_type(1)) + { + strides_equal = left.stride(padded_stride_idx) == right.stride(padded_stride_idx); + } + return (left.extents() == right.extents()) && strides_equal; + } + +#if !MDSPAN_HAS_CXX_20 + /** + * Inequality operator between `layout_left_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator!=(const mapping &left, const _Mapping &right) noexcept + { + return !(left == right); + } +#endif +}; + +template +template +class layout_right_padded::mapping { +public: + static constexpr size_t padding_value = PaddingValue; + + using extents_type = Extents; + using index_type = typename extents_type::index_type; + using size_type = typename extents_type::size_type; + using rank_type = typename extents_type::rank_type; + using layout_type = layout_right_padded; + +#ifndef MDSPAN_INTERNAL_TEST + private: +#endif // MDSPAN_INTERNAL_TEST + + static constexpr rank_type padded_stride_idx = detail::layout_padded_constants::padded_stride_idx; + static constexpr rank_type extent_to_pad_idx = detail::layout_padded_constants::extent_to_pad_idx; + + static_assert((padding_value != 0) + || (extents_type::static_extent(extent_to_pad_idx) == 0) + || (extents_type::static_extent(extent_to_pad_idx) == dynamic_extent), + "if padding stride is 0, static_extent(extent-to-pad-rank) must also be 0 or dynamic_extent"); + + using padded_stride_type = detail::padded_extent< padding_value, extents_type, extent_to_pad_idx >; + static constexpr size_t static_padding_stride = padded_stride_type::static_value(); + + typename padded_stride_type::static_array_type padded_stride = {}; + extents_type exts = {}; + + constexpr index_type compute_offset(std::index_sequence<>) const { + return 0; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffset index_offset) const { + return index_offset; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffsets... index_offsets) const { + // self-recursive fold trick from + // https://github.com/llvm/llvm-project/blob/4d9771741d40cc9cfcccb6b033f43689d36b705a/libcxx/include/mdspan/layout_right.h#L141 + index_type res = 0; + ((res = static_cast(index_offsets) + + (Ranks == extent_to_pad_idx ? padded_stride.value(0) + : exts.extent(Ranks)) * + res), + ...); + return res; + } + +public: +#if !MDSPAN_HAS_CXX_20 + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + : mapping(extents_type{}) + {} +#else + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + requires(static_padding_stride != dynamic_extent) = default; + + MDSPAN_INLINE_FUNCTION + constexpr mapping() + requires(static_padding_stride == dynamic_extent) + : mapping(extents_type{}) + {} +#endif + + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(const mapping&) noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED mapping& operator=(const mapping&) noexcept = default; + + /** + * Initializes the mapping with the given extents. + * + * \param ext the given extents + */ + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext) + : padded_stride(padded_stride_type::init_padding(ext)), exts(ext) {} + + /** + * Initializes the mapping with the given extents and the specified padding value. + * + * This overload participates in overload resolution only if `is_convertible_v` + * is `true` and `is_nothrow_constructible_v` is `true` + * + * \param ext the given extents + * \param padding_value the padding value + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Size, + /* requires */ ( + std::is_convertible_v<_Size, index_type> + && std::is_nothrow_constructible_v + ) + ) + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext, _Size dynamic_padding_value) + : padded_stride(padded_stride_type::init_padding(ext, static_cast(dynamic_padding_value))), + exts(ext) { + assert((padding_value == dynamic_extent) || + (static_cast(padding_value) == static_cast(dynamic_padding_value))); + } + + /** + * Converting constructor from `layout_right::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * If `OtherExtents::rank() > 1` then one of `padding_value`, `static_extent(0)`, or `OtherExtents::static_extent(0)` must be `dynamic_extent`; + * otherwise, `OtherExtents::static_extent(0)` must be equal to the least multiple of `padding_value` greater than or equal to `extents_type::static_extent(0)` + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v<_OtherExtents, extents_type>)) + constexpr mapping(const layout_right::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert((_OtherExtents::rank() > 1) || (padded_stride_type::static_value() != dynamic_extent) || (_OtherExtents::static_extent(extent_to_pad_idx) != dynamic_extent) + || (padded_stride_type::static_value() == _OtherExtents::static_extent(extent_to_pad_idx))); + } + + /** + * Converting constructor from `layout_stride::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 0)) + constexpr mapping(const layout_stride::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + {} + + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * Either `padding_value` or `OtherPaddingStride` must be `std::dynamic_extent`, or `padding_value == OtherPaddingStride`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 1 && + (padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent))) + constexpr mapping(const _Mapping &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert(padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent || + padding_value == _Mapping::padding_value); + } + + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if `extents_type::rank()` is 0 or 1 and `is_constructible_v` is `true`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && extents_type::rank() <= 1 + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + constexpr mapping(const _Mapping &other_mapping) noexcept + : padded_stride(padded_stride_type::init_padding(other_mapping.extents(), other_mapping.extents().extent(extent_to_pad_idx))), + exts(other_mapping.extents()) + {} + + constexpr const extents_type &extents() const noexcept + { + return exts; + } + + constexpr std::array + strides() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return {}; + } else if constexpr ( extents_type::rank() == 1 ) { + return {1}; + } else { + index_type value = 1; + std::array s{}; + s[extent_to_pad_idx] = value; + value *= padded_stride.value(0); + for (rank_type r = extent_to_pad_idx - 1; r > 0; --r) + { + s[r] = value; + value *= exts.extent(r); + } + s[0] = value; + return s; + } + } + + constexpr index_type + required_span_size() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return 1; + } else if constexpr ( extents_type::rank() == 1 ) { + return exts.extent(0); + } else { + index_type value = 1; + for (rank_type r = 0; r < extent_to_pad_idx; ++r) + { + value *= exts.extent(r); + } + return value * padded_stride.value(0); + } + } + + /** + * Return the mapping given the provided indices per rank. + * + * This overload participates in overload resolution only if: + * - `sizeof...(Indices) == extents_type::rank()`, + * - `(is_convertible_v && ...) is true`, and + * - (is_nothrow_constructible_v && ...) is true. + */ + MDSPAN_TEMPLATE_REQUIRES( + class... _Indices, + /* requires */ ( + sizeof...(_Indices) == extents_type::rank() && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) + ) + ) + constexpr size_t operator()(_Indices... idxs) const noexcept + { + return compute_offset(std::index_sequence_for<_Indices...>{}, idxs...); + } + + static constexpr bool is_always_unique() noexcept { return true; } + static constexpr bool is_always_exhaustive() noexcept + { + return (extents_type::rank() <= rank_type(1)) + || (extents_type::static_extent(extent_to_pad_idx) != dynamic_extent + && extents_type::static_extent(extent_to_pad_idx) == padded_stride_type::static_value()); + } + static constexpr bool is_always_strided() noexcept { return true; } + + static constexpr bool is_unique() noexcept { return true; } + constexpr bool is_exhaustive() const noexcept + { + return (extents_type::rank() < 2) + || (exts.extent(extent_to_pad_idx) == padded_stride.value(0)); + } + static constexpr bool is_strided() noexcept { return true; } + + constexpr index_type stride(rank_type r) const noexcept + { + assert(r < extents_type::rank()); + if(r == extents_type::rank() - 1) return index_type(1); + + index_type value = padded_stride.value(0); + for (rank_type k = extents_type::rank() - 2; k > r; k--) value *= exts.extent(k); + + return value; + } + + /** + * Equality operator between `layout_right_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_right_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator==(const mapping &left, const _Mapping &right) noexcept + { + // Workaround for some compilers not short-circuiting properly with compile-time checks + // i.e. we can't access stride(_padding_stride_idx) of a rank 0 mapping + bool strides_equal = true; + if constexpr (extents_type::rank() > rank_type(1)) + { + strides_equal = left.stride(padded_stride_idx) == right.stride(padded_stride_idx); + } + return (left.extents() == right.extents()) && strides_equal; + } + +#if !MDSPAN_HAS_CXX_20 + /** + * Inequality operator between `layout_right_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator!=(const mapping &left, const _Mapping &right) noexcept + { + return !(left == right); + } +#endif +}; +} +} diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp new file mode 100644 index 0000000000..945f091a2d --- /dev/null +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp @@ -0,0 +1,117 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER +#pragma once + +#include +#include "../__p0009_bits/dynamic_extent.hpp" + +namespace MDSPAN_IMPL_STANDARD_NAMESPACE { +namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { + +template +struct layout_left_padded { + template + class mapping; +}; + +template +struct layout_right_padded { + template + class mapping; +}; + +namespace detail { +// The layout_padded_constants structs are only useful if rank > 1, otherwise they may wrap +template +struct layout_padded_constants; + +template +struct layout_padded_constants, _ExtentsType> +{ + using rank_type = typename _ExtentsType::rank_type; + static constexpr rank_type padded_stride_idx = 1; + static constexpr rank_type extent_to_pad_idx = 0; +}; + +template +struct layout_padded_constants, _ExtentsType> +{ + using rank_type = typename _ExtentsType::rank_type; + static constexpr rank_type padded_stride_idx = _ExtentsType::rank() - 2; + static constexpr rank_type extent_to_pad_idx = _ExtentsType::rank() - 1; +}; + +template +struct is_layout_left_padded : std::false_type {}; + +template +struct is_layout_left_padded> : std::true_type {}; + +template +struct is_layout_left_padded_mapping : std::false_type {}; + +template +struct is_layout_left_padded_mapping<_Mapping, + std::enable_if_t::template mapping>::value>> + : std::true_type {}; + +template +struct is_layout_right_padded : std::false_type {}; + +template +struct is_layout_right_padded> : std::true_type {}; + +template +struct is_layout_right_padded_mapping : std::false_type {}; + +template +struct is_layout_right_padded_mapping<_Mapping, + std::enable_if_t::template mapping>::value>> + : std::true_type {}; + +template +constexpr void check_padded_layout_converting_constructor_mandates() +{ + if constexpr (_LayoutExtentsType::rank() > 1) { + using extents_type = typename _PaddedLayoutMappingType::extents_type; + constexpr auto padding_value = _PaddedLayoutMappingType::padding_value; + constexpr auto idx = layout_padded_constants::extent_to_pad_idx; + if constexpr ((_LayoutExtentsType::static_extent(idx) != dynamic_extent) && + (extents_type::static_extent(idx) != dynamic_extent) && + (padding_value != dynamic_extent)) { + if constexpr (padding_value == 0) { + static_assert(_LayoutExtentsType::static_extent(idx) == 0); + } else { + static_assert( + _LayoutExtentsType::static_extent(idx) % padding_value == 0); + } + } + } +} + +template +constexpr void check_padded_layout_converting_constructor_preconditions([[maybe_unused]] const _OtherMapping &other_mapping) { + if constexpr (_ExtentsType::rank() > 1) { + constexpr auto padded_stride_idx = + layout_padded_constants::padded_stride_idx; + constexpr auto extent_to_pad_idx = layout_padded_constants::extent_to_pad_idx; + assert(other_mapping.stride(padded_stride_idx) == other_mapping.extents().extent(extent_to_pad_idx)); + } +} +} +} +} diff --git a/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp b/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp index b440873526..ac72a1a4e6 100644 --- a/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp @@ -35,6 +35,7 @@ #include "../experimental/__p0009_bits/layout_right.hpp" #include "../experimental/__p0009_bits/macros.hpp" #if MDSPAN_HAS_CXX_17 +#include "../experimental/__p2642_bits/layout_padded.hpp" #include "../experimental/__p2630_bits/submdspan.hpp" #endif From 1b71576b6fc41f5f46a78ee0e0e1f3cf642579cf Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 5 Apr 2024 09:09:44 -0600 Subject: [PATCH 44/62] Update CMake and docs --- cmake/Modules/Packages/KOKKOS.cmake | 6 +++--- doc/src/Build_extras.rst | 14 ++++---------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index e74893d0d0..a2f462905a 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -45,8 +45,8 @@ if(DOWNLOAD_KOKKOS) list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}") list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") include(ExternalProject) - set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.2.01.tar.gz" CACHE STRING "URL for KOKKOS tarball") - set(KOKKOS_MD5 "16b9b09ae947d434dfb58fc5c87c2b76" CACHE STRING "MD5 checksum of KOKKOS tarball") + set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.3.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") + set(KOKKOS_MD5 "889dcea2b5ced3debdc5b0820044bdc4" CACHE STRING "MD5 checksum of KOKKOS tarball") mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_MD5) GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK) @@ -71,7 +71,7 @@ if(DOWNLOAD_KOKKOS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 4.2.01 REQUIRED CONFIG) + find_package(Kokkos 4.3.00 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 1f643a9d14..f66238c3c9 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -533,9 +533,6 @@ They must be specified in uppercase. * - A64FX - HOST - ARMv8.2 with SVE Support - * - WSM - - HOST - - Intel Westmere CPU (SSE 4.2) * - SNB - HOST - Intel Sandy/Ivy Bridge CPU (AVX 1) @@ -566,18 +563,15 @@ They must be specified in uppercase. * - KNL - HOST - Intel Knights Landing Xeon Phi - * - BGQ - - HOST - - IBM Blue Gene/Q CPU - * - POWER7 - - HOST - - IBM POWER7 CPU * - POWER8 - HOST - IBM POWER8 CPU * - POWER9 - HOST - IBM POWER9 CPU + * - RISCV_SG2042 + - HOST + - SG2042 (RISC-V) CPU * - KEPLER30 - GPU - NVIDIA Kepler generation CC 3.0 GPU @@ -666,7 +660,7 @@ They must be specified in uppercase. - GPU - Intel GPU Ponte Vecchio -This list was last updated for version 4.2 of the Kokkos library. +This list was last updated for version 4.3.0 of the Kokkos library. .. tabs:: From 6a8354f80c2c2d4e97ebfe91fca3e1213b7bc833 Mon Sep 17 00:00:00 2001 From: Taylor Barnes Date: Fri, 5 Apr 2024 17:36:46 +0000 Subject: [PATCH 45/62] Fix bug in MDI time integration logic --- src/MDI/mdi_engine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 6d7c604fa6..4f69e814f5 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -695,7 +695,7 @@ void MDIEngine::mdi_md() if (strcmp(mdicmd, "EXIT") == 0) return; // run one step at a time forever - // driver triggers exit with @ command other than @COORDS,@FORCES,@ENDSTEP + // driver triggers exit with @ command other than @COORDS,@FORCES,@ENDSTEP,@ update->integrate->setup(1); @@ -711,7 +711,7 @@ void MDIEngine::mdi_md() update->integrate->run(1); if (strcmp(mdicmd, "@COORDS") != 0 && strcmp(mdicmd, "@FORCES") != 0 && - strcmp(mdicmd, "@ENDSTEP") != 0) + strcmp(mdicmd, "@ENDSTEP") != 0 && strcmp(mdicmd, "@") != 0) break; } From 0f5221a485d840713205b309e26c5e7a98364028 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 5 Apr 2024 15:55:13 -0600 Subject: [PATCH 46/62] Improve Kokkos sorting --- src/KOKKOS/atom_kokkos.cpp | 4 +-- src/KOKKOS/atom_kokkos.h | 5 ---- src/KOKKOS/atom_map_kokkos.cpp | 48 +++++----------------------------- src/KOKKOS/comm_kokkos.cpp | 11 ++------ 4 files changed, 10 insertions(+), 58 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index b1a066f165..6707deddd5 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -31,9 +31,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp), -mapBinner(1, 0.0, 1.0), // no default constructor, these values are not used -mapSorter(d_tag_sorted, 0, 1, mapBinner, true) +AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) { avecKK = nullptr; diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index 652e6c2191..d6c32624f3 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -101,11 +101,6 @@ class AtomKokkos : public Atom { DAT::t_tagint_scalar d_tag_min,d_tag_max; HAT::t_tagint_scalar h_tag_min,h_tag_max; - using MapKeyViewType = decltype(d_tag_sorted); - using BinOpMap = Kokkos::BinOp1D; - BinOpMap mapBinner; - Kokkos::BinSort mapSorter; - class AtomVecKokkos* avecKK; // map lookup function inlined for efficiency diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 8203e1e6a2..ca493ea04d 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -197,59 +197,25 @@ void AtomKokkos::map_set_device() int nmax = atom->nmax; - int realloc_flag = 0; if (!d_tag_sorted.data() || (int)d_tag_sorted.extent(0) < nmax) { MemKK::realloc_kokkos(d_tag_sorted,"atom:tag_sorted",nmax); MemKK::realloc_kokkos(d_i_sorted,"atom:i_sorted",nmax); - realloc_flag = 1; } - h_tag_min() = MAXTAGINT; - h_tag_max() = 0; + // sort by tag - Kokkos::deep_copy(d_tag_min_max,h_tag_min_max); - - auto l_tag_sorted = d_tag_sorted; - auto l_i_sorted = d_i_sorted; - auto l_tag_min = d_tag_min; - auto l_tag_max = d_tag_max; + auto l_tag_sorted = Kokkos::subview(d_tag_sorted,std::make_pair(0,nall)); + auto l_i_sorted = Kokkos::subview(d_i_sorted,std::make_pair(0,nall)); + auto l_tag_small = Kokkos::subview(d_tag,std::make_pair(0,nall)); int map_style_array = (map_style == MAP_ARRAY); Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int i) { l_i_sorted(i) = i; - tagint tag_i = d_tag(i); - l_tag_sorted(i) = tag_i; - Kokkos::atomic_min(&l_tag_min(),tag_i); - Kokkos::atomic_max(&l_tag_max(),tag_i); + l_tag_sorted(i) = d_tag(i); }); - Kokkos::deep_copy(h_tag_min_max,d_tag_min_max); - - tagint min = h_tag_min(); - tagint max = h_tag_max(); - - using MapKeyViewType = decltype(d_tag_sorted); - using BinOpMap = Kokkos::BinOp1D; - - mapBinner = BinOpMap(nall, min, max); - - if (realloc_flag) { - mapSorter = Kokkos::BinSort(d_tag_sorted, 0, nall, mapBinner, true); - MemKK::realloc_kokkos(mapSorter.bin_count_atomic,"Kokkos::SortImpl::BinSortFunctor::bin_count",nmax+1); - Kokkos::deep_copy(mapSorter.bin_count_atomic,0); - mapSorter.bin_count_const = mapSorter.bin_count_atomic; - MemKK::realloc_kokkos(mapSorter.bin_offsets,"Kokkos::SortImpl::BinSortFunctor::bin_offsets",nmax+1); - MemKK::realloc_kokkos(mapSorter.sort_order,"Kokkos::SortImpl::BinSortFunctor::sort_order",nmax); - } else { - Kokkos::deep_copy(mapSorter.bin_count_atomic,0); - mapSorter.bin_op = mapBinner; - mapSorter.range_begin = 0; - mapSorter.range_end = nall; - } - - mapSorter.create_permute_vector(LMPDeviceType()); - mapSorter.sort(LMPDeviceType(), d_tag_sorted, 0, nall); - mapSorter.sort(LMPDeviceType(), d_i_sorted, 0, nall); + Kokkos::Experimental::sort_by_key(LMPDeviceType(), l_tag_small, l_i_sorted); + Kokkos::sort(LMPDeviceType(),l_tag_sorted); auto d_map_array = k_map_array.d_view; auto d_map_hash = k_map_hash.d_view; diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 2425857d61..8f821c3036 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -880,15 +880,8 @@ void CommKokkos::exchange_device() // sort exchange_sendlist - auto d_exchange_sendlist = k_exchange_sendlist.view(); - using KeyViewType = decltype(d_exchange_sendlist); - using BinOp = Kokkos::BinOp1D; - - BinOp binner(count, 0, nlocal); - Kokkos::BinSort Sorter(d_exchange_sendlist, 0, count, binner, true); - Sorter.create_permute_vector(DeviceType()); - Sorter.sort(DeviceType(), d_exchange_sendlist, 0, count); - + auto d_exchange_sendlist = Kokkos::subview(k_exchange_sendlist.view(),std::make_pair(0,count)); + Kokkos::sort(DeviceType(), d_exchange_sendlist); k_exchange_sendlist.sync(); // when atom is deleted, fill it in with last atom From 74a0d22ec22fccc1df84d42a3dde34294e6e7aa0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Apr 2024 17:48:50 -0400 Subject: [PATCH 47/62] first stab at non-coulomb pedone potential --- src/EXTRA-PAIR/pair_pedone.cpp | 383 +++++++++++++++++++++++++++++++++ src/EXTRA-PAIR/pair_pedone.h | 58 +++++ 2 files changed, 441 insertions(+) create mode 100644 src/EXTRA-PAIR/pair_pedone.cpp create mode 100644 src/EXTRA-PAIR/pair_pedone.h diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp new file mode 100644 index 0000000000..4e634b3dfc --- /dev/null +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -0,0 +1,383 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_pedone.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" + +#include +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairPedone::PairPedone(LAMMPS *lmp) : + Pair(lmp), d0(nullptr), alpha(nullptr), r0(nullptr), c0(nullptr), pedone1(nullptr), + pedone2(nullptr) +{ + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairPedone::~PairPedone() +{ + if (copymode) return; + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(cut); + memory->destroy(c0); + memory->destroy(d0); + memory->destroy(alpha); + memory->destroy(r0); + memory->destroy(pedone1); + memory->destroy(pedone2); + memory->destroy(offset); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairPedone::compute(int eflag, int vflag) +{ + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, r2inv, r6inv, dr, dexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx * delx + dely * dely + delz * delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fpair *= factor_lj; + + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; + if (newton_pair || j < nlocal) { + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; + } + + if (eflag) { + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairPedone::allocate() +{ + allocated = 1; + int np1 = atom->ntypes + 1; + + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; + + memory->create(cutsq, np1, np1, "pair:cutsq"); + + memory->create(cut, np1, np1, "pair:cut"); + memory->create(c0, np1, np1, "pair:c0"); + memory->create(d0, np1, np1, "pair:d0"); + memory->create(alpha, np1, np1, "pair:alpha"); + memory->create(r0, np1, np1, "pair:r0"); + memory->create(pedone1, np1, np1, "pair:pedone1"); + memory->create(pedone2, np1, np1, "pair:pedone2"); + memory->create(offset, np1, np1, "pair:offset"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairPedone::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); + + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i, j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairPedone::coeff(int narg, char **arg) +{ + if (narg < 6 || narg > 7) error->all(FLERR, "Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); + + double d0_one = utils::numeric(FLERR, arg[2], false, lmp); + double alpha_one = utils::numeric(FLERR, arg[3], false, lmp); + double r0_one = utils::numeric(FLERR, arg[4], false, lmp); + double c0_one = utils::numeric(FLERR, arg[5], false, lmp); + + double cut_one = cut_global; + if (narg == 7) cut_one = utils::numeric(FLERR, arg[6], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { + c0[i][j] = c0_one; + d0[i][j] = d0_one; + alpha[i][j] = alpha_one; + r0[i][j] = r0_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairPedone::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + + pedone1[i][j] = 2.0 * d0[i][j] * alpha[i][j]; + pedone2[i][j] = 6.0 * c0[i][j]; + + if (offset_flag) { + double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); + offset[i][j] = + d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 6.0); + } else + offset[i][j] = 0.0; + + c0[j][i] = c0[i][j]; + d0[j][i] = d0[i][j]; + alpha[j][i] = alpha[i][j]; + r0[j][i] = r0[i][j]; + pedone1[j][i] = pedone1[i][j]; + pedone2[j][i] = pedone2[i][j]; + offset[j][i] = offset[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairPedone::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i, j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j], sizeof(int), 1, fp); + if (setflag[i][j]) { + fwrite(&c0[i][j], sizeof(double), 1, fp); + fwrite(&d0[i][j], sizeof(double), 1, fp); + fwrite(&alpha[i][j], sizeof(double), 1, fp); + fwrite(&r0[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairPedone::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i, j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR, &c0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &d0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &alpha[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &r0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); + } + MPI_Bcast(&c0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&d0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&alpha[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&r0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairPedone::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairPedone::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); + } + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairPedone::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp, "%d %g %g %g %g\n", i, d0[i][i], alpha[i][i], r0[i][i], c0[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairPedone::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp, "%d %d %g %g %g %g %g\n", i, j, d0[i][j], alpha[i][j], r0[i][j], c0[i][j], + cut[i][j]); +} + +/* ---------------------------------------------------------------------- */ + +double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) +{ + double r, dr, dexp, phi, r2inv, r6inv; + + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fforce *= factor_lj; + + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + offset[itype][jtype]; + return factor_lj * phi; +} + +/* ---------------------------------------------------------------------- */ + +void *PairPedone::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str, "c0") == 0) return (void *) c0; + if (strcmp(str, "d0") == 0) return (void *) d0; + if (strcmp(str, "r0") == 0) return (void *) r0; + if (strcmp(str, "alpha") == 0) return (void *) alpha; + return nullptr; +} diff --git a/src/EXTRA-PAIR/pair_pedone.h b/src/EXTRA-PAIR/pair_pedone.h new file mode 100644 index 0000000000..a54f50a6b3 --- /dev/null +++ b/src/EXTRA-PAIR/pair_pedone.h @@ -0,0 +1,58 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(pedone,PairPedone); +// clang-format on +#else + +#ifndef LMP_PAIR_PEDONE_H +#define LMP_PAIR_PEDONE_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairPedone : public Pair { + public: + PairPedone(class LAMMPS *); + ~PairPedone() override; + void compute(int, int) override; + + void settings(int, char **) override; + void coeff(int, char **) override; + double init_one(int, int) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_restart_settings(FILE *) override; + void read_restart_settings(FILE *) override; + void write_data(FILE *) override; + void write_data_all(FILE *) override; + double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; + + protected: + double cut_global; + double **cut; + double **d0, **alpha, **r0, **c0; + double **pedone1, **pedone2; + double **offset; + + virtual void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 41f518ede7be331f766895e91fee6c09ca9d98e5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 00:57:15 -0400 Subject: [PATCH 48/62] repulsive is r^12 not r^6 --- src/EXTRA-PAIR/pair_pedone.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index 4e634b3dfc..59b883b2c5 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -107,7 +107,7 @@ void PairPedone::compute(int eflag, int vflag) r = sqrt(rsq); dr = r - r0[itype][jtype]; dexp = exp(-alpha[itype][jtype] * dr); - fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; fpair *= factor_lj; f[i][0] += delx * fpair; @@ -120,7 +120,7 @@ void PairPedone::compute(int eflag, int vflag) } if (eflag) { - evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; evdwl *= factor_lj; } @@ -224,12 +224,12 @@ double PairPedone::init_one(int i, int j) if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); pedone1[i][j] = 2.0 * d0[i][j] * alpha[i][j]; - pedone2[i][j] = 6.0 * c0[i][j]; + pedone2[i][j] = 12.0 * c0[i][j]; if (offset_flag) { double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); offset[i][j] = - d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 6.0); + d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 12.0); } else offset[i][j] = 0.0; @@ -362,10 +362,10 @@ double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq dexp = exp(-alpha[itype][jtype] * dr); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; - fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; fforce *= factor_lj; - phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; return factor_lj * phi; } From 0021042dab6626b855701fc22a7f08fc267986df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 00:57:26 -0400 Subject: [PATCH 49/62] add test --- .../tests/atomic-pair-pedone.yaml | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 unittest/force-styles/tests/atomic-pair-pedone.yaml diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml new file mode 100644 index 0000000000..bde9c0657d --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -0,0 +1,108 @@ +--- +lammps_version: 7 Feb 2024 +tags: generated +date_generated: Tue Apr 9 00:55:35 2024 +epsilon: 7.5e-13 +skip_tests: +prerequisites: ! | + pair pedone + pair coul/dsf +pre_commands: ! | + echo screen + atom_modify map array + units metal + atom_style charge + lattice fcc 4.01 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 40.0 + mass 2 16.0 + set type 1 type/fraction 2 0.5 998877 + set type 1 charge 1.2 + set type 2 charge -1.2 + velocity all create 100 4534624 loop geom +post_commands: ! "" +input_file: in.empty +pair_style: hybrid/overlay pedone 8.0 coul/dsf 0.05 8.0 +pair_coeff: ! | + * * coul/dsf + 1 2 pedone 0.030211 2.241334 2.923245 5.0 +extract: ! "" +natoms: 32 +init_vdwl: -0.0665310358219357 +init_coul: -127.6163776098739 +init_stress: ! |- + -2.3798091859476976e+01 -4.4301374997327507e+01 -2.5216703497806876e+01 5.0033445416457871e+00 1.9280305667155409e-01 -5.7276232523726684e+01 +init_forces: ! |2 + 1 1.3073632326534870e+00 -3.2429738681742792e+00 -1.7099417191488684e+00 + 2 -8.3705036138414046e-01 8.0353584266171616e+00 3.3913682687834732e+00 + 3 1.0818560581145067e+00 6.9099132514034567e-01 6.1167556058935659e+00 + 4 -6.2710844064358016e+00 -8.8172863711956779e+00 -6.6684534850188211e+00 + 5 2.8009275201722472e-01 -1.4786965014380788e+00 2.1321277444024961e-01 + 6 -9.9288989703360309e-02 3.0598447946183049e+00 2.6318103453792299e+00 + 7 -3.0354727856072219e+00 1.3185608958051598e+00 3.6234871371363413e+00 + 8 5.0107973369153367e+00 -4.9678283026883481e+00 -6.1723724169003669e+00 + 9 -6.1984644705075898e+00 -2.9799814227893018e+00 -1.3748441482899776e+00 + 10 6.8107536285568315e-02 -8.8739069067339749e+00 -3.7681638042376306e+00 + 11 1.8234653652797568e+00 1.2131153395750858e+00 -4.4370356369254527e+00 + 12 -3.9291120685394301e+00 8.8691853439950759e+00 -1.5692168730612222e+00 + 13 4.6702794079865138e+00 -4.6169163979594021e+00 -1.3122734601037633e+00 + 14 4.1773041925805263e-02 -2.3547324460288279e+00 -1.6447279353216786e+00 + 15 2.0722365833660721e+00 -1.0019422555023627e+00 2.6104073487219348e+00 + 16 4.2916783350614631e+00 5.5096169144968741e+00 2.3006724289969618e-01 + 17 2.4082498440860594e+00 2.6696787176560446e+00 3.5128993885525173e+00 + 18 3.4517652966369141e+00 -4.1426989575687410e+00 4.2176442979879578e+00 + 19 -1.1176046147684231e+00 5.0328940398931588e+00 6.1257519380014980e+00 + 20 4.7468509231464573e+00 4.2199469597557107e+00 -8.2329699129842933e+00 + 21 5.0020061977281172e-01 -3.3647150847104186e+00 -3.4598887524741211e+00 + 22 1.9520506419122936e+00 2.3651979923945348e+00 1.9720181797014360e+00 + 23 3.2442966569252922e+00 9.2843216833145159e-01 4.6188329227490641e+00 + 24 -4.6575946049950279e+00 1.0967687663839022e-01 -3.9976316192604568e+00 + 25 -8.9413785020343148e+00 2.4727210607473626e+00 3.7067442709566585e+00 + 26 1.1716874061013414e+00 -6.0736216396264444e+00 3.9845117464175828e-01 + 27 2.1387870187759774e+00 -9.1435206138264991e-01 3.4581293398123467e+00 + 28 -5.4478782535808978e+00 3.4790432145054266e+00 2.2429010192272485e+00 + 29 -7.5671696619957425e+00 -1.4582005613587536e+00 -3.9567849389679175e+00 + 30 3.1224812422083759e-01 1.3076893069851072e+00 1.5385761581288075e+00 + 31 3.8386055680087514e+00 2.2553686132183399e+00 -1.3274695466879629e+00 + 32 3.6897069703594849e+00 7.5053078678371288e-01 -9.7728316363125556e-01 +run_vdwl: -0.06742277561782369 +run_coul: -127.68271751195428 +run_stress: ! |- + -2.3806297178025492e+01 -4.4316895193195840e+01 -2.5254836072780368e+01 5.0209948497223582e+00 1.7055834472093545e-01 -5.7287494663992717e+01 +run_forces: ! |2 + 1 1.2997020641933310e+00 -3.2350239663736526e+00 -1.7050688745433809e+00 + 2 -8.3572424066532003e-01 8.0402293765737038e+00 3.3956062545914456e+00 + 3 1.0836471258632296e+00 6.9297747321803072e-01 6.1153135661464022e+00 + 4 -6.2598313349821311e+00 -8.8203556192829566e+00 -6.6665767701465706e+00 + 5 2.8322280654802090e-01 -1.4771118673264927e+00 2.1396008266630523e-01 + 6 -1.0141638512639295e-01 3.0591784597279652e+00 2.6305945323204964e+00 + 7 -3.0327048868034510e+00 1.3253988401192618e+00 3.6148521107105029e+00 + 8 5.0057890914166592e+00 -4.9739784269295777e+00 -6.1692202056525005e+00 + 9 -6.1952678012617710e+00 -2.9845508818852737e+00 -1.3859506135017998e+00 + 10 7.2013973735063797e-02 -8.8713720462743293e+00 -3.7634558911332556e+00 + 11 1.8266102164821385e+00 1.2110553137559839e+00 -4.4375333397769383e+00 + 12 -3.9283678636529071e+00 8.8766836484577585e+00 -1.5675220249481900e+00 + 13 4.6671019757569061e+00 -4.6201133188920203e+00 -1.3187332792825426e+00 + 14 4.1324530662546217e-02 -2.3574074558279050e+00 -1.6491327637571114e+00 + 15 2.0724652949927189e+00 -1.0072438369203511e+00 2.6085158617913011e+00 + 16 4.2913453088923355e+00 5.5135935278125805e+00 2.3755962717306273e-01 + 17 2.4090363829763493e+00 2.6711900471236665e+00 3.5092518478983830e+00 + 18 3.4519384641582418e+00 -4.1370490877871635e+00 4.2170627035346584e+00 + 19 -1.1267691964120170e+00 5.0181960916494441e+00 6.1207484114782122e+00 + 20 4.7395717088127745e+00 4.2218111236699922e+00 -8.2319492899736098e+00 + 21 5.0413228805427845e-01 -3.3662581690603286e+00 -3.4574827782114883e+00 + 22 1.9368660298654901e+00 2.3535304623628788e+00 1.9730945530970232e+00 + 23 3.2407032811058474e+00 9.3194240849096033e-01 4.6146963207580685e+00 + 24 -4.6585790572421297e+00 1.1264779359215171e-01 -3.9896650383731758e+00 + 25 -8.9353959619243408e+00 2.4769382206126074e+00 3.7113283637479162e+00 + 26 1.1651058966335510e+00 -6.0789379918512596e+00 3.9471356227450671e-01 + 27 2.1418176560595272e+00 -9.0723166884109441e-01 3.4625358129121455e+00 + 28 -5.4304579326347566e+00 3.4796974840787547e+00 2.2387217391439576e+00 + 29 -7.5603224440934609e+00 -1.4579783287307631e+00 -3.9593966192449592e+00 + 30 3.1089926399240131e-01 1.2987447699936268e+00 1.5458045789601447e+00 + 31 3.8408561944824031e+00 2.2573619234607474e+00 -1.3282018241396365e+00 + 32 3.6806875501148628e+00 7.5343570128305359e-01 -9.7447061651936995e-01 +... From 67faeb0130cfb18cb55fa7bbe9ea7e6f4c4cae69 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 07:42:25 -0400 Subject: [PATCH 50/62] correct sign for repulsive term --- src/EXTRA-PAIR/pair_pedone.cpp | 8 +- .../tests/atomic-pair-pedone.yaml | 142 +++++++++--------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index 59b883b2c5..b6e0f8b03c 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -107,7 +107,7 @@ void PairPedone::compute(int eflag, int vflag) r = sqrt(rsq); dr = r - r0[itype][jtype]; dexp = exp(-alpha[itype][jtype] * dr); - fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fpair *= factor_lj; f[i][0] += delx * fpair; @@ -120,7 +120,7 @@ void PairPedone::compute(int eflag, int vflag) } if (eflag) { - evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; evdwl *= factor_lj; } @@ -362,10 +362,10 @@ double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq dexp = exp(-alpha[itype][jtype] * dr); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; - fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fforce *= factor_lj; - phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; return factor_lj * phi; } diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml index bde9c0657d..28ff3aabd4 100644 --- a/unittest/force-styles/tests/atomic-pair-pedone.yaml +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -1,7 +1,7 @@ --- lammps_version: 7 Feb 2024 -tags: generated -date_generated: Tue Apr 9 00:55:35 2024 +tags: +date_generated: Tue Apr 9 07:44:34 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -31,78 +31,78 @@ pair_coeff: ! | 1 2 pedone 0.030211 2.241334 2.923245 5.0 extract: ! "" natoms: 32 -init_vdwl: -0.0665310358219357 +init_vdwl: -0.05846735245123568 init_coul: -127.6163776098739 init_stress: ! |- - -2.3798091859476976e+01 -4.4301374997327507e+01 -2.5216703497806876e+01 5.0033445416457871e+00 1.9280305667155409e-01 -5.7276232523726684e+01 + -2.3766889264059056e+01 -4.4271670366067475e+01 -2.5180846524036202e+01 5.0038886969182466e+00 1.8669335074554186e-01 -5.7263597257471289e+01 init_forces: ! |2 - 1 1.3073632326534870e+00 -3.2429738681742792e+00 -1.7099417191488684e+00 - 2 -8.3705036138414046e-01 8.0353584266171616e+00 3.3913682687834732e+00 - 3 1.0818560581145067e+00 6.9099132514034567e-01 6.1167556058935659e+00 - 4 -6.2710844064358016e+00 -8.8172863711956779e+00 -6.6684534850188211e+00 - 5 2.8009275201722472e-01 -1.4786965014380788e+00 2.1321277444024961e-01 - 6 -9.9288989703360309e-02 3.0598447946183049e+00 2.6318103453792299e+00 - 7 -3.0354727856072219e+00 1.3185608958051598e+00 3.6234871371363413e+00 - 8 5.0107973369153367e+00 -4.9678283026883481e+00 -6.1723724169003669e+00 - 9 -6.1984644705075898e+00 -2.9799814227893018e+00 -1.3748441482899776e+00 - 10 6.8107536285568315e-02 -8.8739069067339749e+00 -3.7681638042376306e+00 - 11 1.8234653652797568e+00 1.2131153395750858e+00 -4.4370356369254527e+00 - 12 -3.9291120685394301e+00 8.8691853439950759e+00 -1.5692168730612222e+00 - 13 4.6702794079865138e+00 -4.6169163979594021e+00 -1.3122734601037633e+00 - 14 4.1773041925805263e-02 -2.3547324460288279e+00 -1.6447279353216786e+00 - 15 2.0722365833660721e+00 -1.0019422555023627e+00 2.6104073487219348e+00 - 16 4.2916783350614631e+00 5.5096169144968741e+00 2.3006724289969618e-01 - 17 2.4082498440860594e+00 2.6696787176560446e+00 3.5128993885525173e+00 - 18 3.4517652966369141e+00 -4.1426989575687410e+00 4.2176442979879578e+00 - 19 -1.1176046147684231e+00 5.0328940398931588e+00 6.1257519380014980e+00 - 20 4.7468509231464573e+00 4.2199469597557107e+00 -8.2329699129842933e+00 - 21 5.0020061977281172e-01 -3.3647150847104186e+00 -3.4598887524741211e+00 - 22 1.9520506419122936e+00 2.3651979923945348e+00 1.9720181797014360e+00 - 23 3.2442966569252922e+00 9.2843216833145159e-01 4.6188329227490641e+00 - 24 -4.6575946049950279e+00 1.0967687663839022e-01 -3.9976316192604568e+00 - 25 -8.9413785020343148e+00 2.4727210607473626e+00 3.7067442709566585e+00 - 26 1.1716874061013414e+00 -6.0736216396264444e+00 3.9845117464175828e-01 - 27 2.1387870187759774e+00 -9.1435206138264991e-01 3.4581293398123467e+00 - 28 -5.4478782535808978e+00 3.4790432145054266e+00 2.2429010192272485e+00 - 29 -7.5671696619957425e+00 -1.4582005613587536e+00 -3.9567849389679175e+00 - 30 3.1224812422083759e-01 1.3076893069851072e+00 1.5385761581288075e+00 - 31 3.8386055680087514e+00 2.2553686132183399e+00 -1.3274695466879629e+00 - 32 3.6897069703594849e+00 7.5053078678371288e-01 -9.7728316363125556e-01 -run_vdwl: -0.06742277561782369 -run_coul: -127.68271751195428 + 1 1.3068329866550368e+00 -3.2426393314368136e+00 -1.7090059822217059e+00 + 2 -8.3708962469663994e-01 8.0332716327131255e+00 3.3880696306892157e+00 + 3 1.0817171269316166e+00 6.9121377930223904e-01 6.1164739509900095e+00 + 4 -6.2705188270402727e+00 -8.8174699380428727e+00 -6.6683743935745587e+00 + 5 2.8006317273000447e-01 -1.4785785338160322e+00 2.1291363801130675e-01 + 6 -9.9407772093842439e-02 3.0597043453576771e+00 2.6317878547215199e+00 + 7 -3.0340486322792599e+00 1.3184658303824097e+00 3.6223571622028894e+00 + 8 5.0115915641263573e+00 -4.9677051620674799e+00 -6.1712277135681015e+00 + 9 -6.1985573132343514e+00 -2.9794836727762029e+00 -1.3747449204783135e+00 + 10 6.8202263133821162e-02 -8.8740995444094821e+00 -3.7669178307548044e+00 + 11 1.8229752044042762e+00 1.2148573816886858e+00 -4.4347407582895784e+00 + 12 -3.9294213238803009e+00 8.8686068238310583e+00 -1.5696200877040254e+00 + 13 4.6671449089488757e+00 -4.6189653076982848e+00 -1.3124536997564062e+00 + 14 4.5651421484368113e-02 -2.3521973378049634e+00 -1.6447916834323362e+00 + 15 2.0718235766251047e+00 -1.0016787355222116e+00 2.6102514913196893e+00 + 16 4.2906354719273310e+00 5.5091935314875675e+00 2.3081189742020186e-01 + 17 2.4088963659786491e+00 2.6695675589930521e+00 3.5122235738936918e+00 + 18 3.4512362576614999e+00 -4.1430347952161721e+00 4.2175118122911428e+00 + 19 -1.1172781222643726e+00 5.0374260939675146e+00 6.1287692774066489e+00 + 20 4.7466340882928550e+00 4.2198180415705018e+00 -8.2329099903756351e+00 + 21 4.9922952432844170e-01 -3.3643476589192347e+00 -3.4586600244054257e+00 + 22 1.9519912199733915e+00 2.3651493661604901e+00 1.9718930394593539e+00 + 23 3.2436581993388014e+00 9.2909318945485386e-01 4.6199095913337018e+00 + 24 -4.6577163797485408e+00 1.0944440231458034e-01 -3.9975755528276791e+00 + 25 -8.9409463869190198e+00 2.4726478248668329e+00 3.7066236847004816e+00 + 26 1.1745295461487557e+00 -6.0775548138182502e+00 3.9173262687577626e-01 + 27 2.1387234883139223e+00 -9.1458060453528878e-01 3.4582641764483730e+00 + 28 -5.4502482566484289e+00 3.4786802718788201e+00 2.2450528597292503e+00 + 29 -7.5667651846088226e+00 -1.4577149705984696e+00 -3.9568568740165220e+00 + 30 3.1230549128026425e-01 1.3068114717904746e+00 1.5378868153458369e+00 + 31 3.8386185003687259e+00 2.2553073046534435e+00 -1.3273631790345837e+00 + 32 3.6895374447617666e+00 7.5079155624842708e-01 -9.7729039239942395e-01 +run_vdwl: -0.05936305172833948 +run_coul: -127.68271387147016 run_stress: ! |- - -2.3806297178025492e+01 -4.4316895193195840e+01 -2.5254836072780368e+01 5.0209948497223582e+00 1.7055834472093545e-01 -5.7287494663992717e+01 + -2.3775085785175861e+01 -4.4287200358424037e+01 -2.5219014434426338e+01 5.0215354612619398e+00 1.6449805968891407e-01 -5.7274887432938485e+01 run_forces: ! |2 - 1 1.2997020641933310e+00 -3.2350239663736526e+00 -1.7050688745433809e+00 - 2 -8.3572424066532003e-01 8.0402293765737038e+00 3.3956062545914456e+00 - 3 1.0836471258632296e+00 6.9297747321803072e-01 6.1153135661464022e+00 - 4 -6.2598313349821311e+00 -8.8203556192829566e+00 -6.6665767701465706e+00 - 5 2.8322280654802090e-01 -1.4771118673264927e+00 2.1396008266630523e-01 - 6 -1.0141638512639295e-01 3.0591784597279652e+00 2.6305945323204964e+00 - 7 -3.0327048868034510e+00 1.3253988401192618e+00 3.6148521107105029e+00 - 8 5.0057890914166592e+00 -4.9739784269295777e+00 -6.1692202056525005e+00 - 9 -6.1952678012617710e+00 -2.9845508818852737e+00 -1.3859506135017998e+00 - 10 7.2013973735063797e-02 -8.8713720462743293e+00 -3.7634558911332556e+00 - 11 1.8266102164821385e+00 1.2110553137559839e+00 -4.4375333397769383e+00 - 12 -3.9283678636529071e+00 8.8766836484577585e+00 -1.5675220249481900e+00 - 13 4.6671019757569061e+00 -4.6201133188920203e+00 -1.3187332792825426e+00 - 14 4.1324530662546217e-02 -2.3574074558279050e+00 -1.6491327637571114e+00 - 15 2.0724652949927189e+00 -1.0072438369203511e+00 2.6085158617913011e+00 - 16 4.2913453088923355e+00 5.5135935278125805e+00 2.3755962717306273e-01 - 17 2.4090363829763493e+00 2.6711900471236665e+00 3.5092518478983830e+00 - 18 3.4519384641582418e+00 -4.1370490877871635e+00 4.2170627035346584e+00 - 19 -1.1267691964120170e+00 5.0181960916494441e+00 6.1207484114782122e+00 - 20 4.7395717088127745e+00 4.2218111236699922e+00 -8.2319492899736098e+00 - 21 5.0413228805427845e-01 -3.3662581690603286e+00 -3.4574827782114883e+00 - 22 1.9368660298654901e+00 2.3535304623628788e+00 1.9730945530970232e+00 - 23 3.2407032811058474e+00 9.3194240849096033e-01 4.6146963207580685e+00 - 24 -4.6585790572421297e+00 1.1264779359215171e-01 -3.9896650383731758e+00 - 25 -8.9353959619243408e+00 2.4769382206126074e+00 3.7113283637479162e+00 - 26 1.1651058966335510e+00 -6.0789379918512596e+00 3.9471356227450671e-01 - 27 2.1418176560595272e+00 -9.0723166884109441e-01 3.4625358129121455e+00 - 28 -5.4304579326347566e+00 3.4796974840787547e+00 2.2387217391439576e+00 - 29 -7.5603224440934609e+00 -1.4579783287307631e+00 -3.9593966192449592e+00 - 30 3.1089926399240131e-01 1.2987447699936268e+00 1.5458045789601447e+00 - 31 3.8408561944824031e+00 2.2573619234607474e+00 -1.3282018241396365e+00 - 32 3.6806875501148628e+00 7.5343570128305359e-01 -9.7447061651936995e-01 + 1 1.2991722692082786e+00 -3.2346896741423627e+00 -1.7041329770094276e+00 + 2 -8.3577389730915552e-01 8.0381530163215924e+00 3.3923109270711151e+00 + 3 1.0835047785054042e+00 6.9319911007073187e-01 6.1150295417259430e+00 + 4 -6.2592674457409263e+00 -8.8205393549813724e+00 -6.6664974877688721e+00 + 5 2.8319324224275277e-01 -1.4769949542028844e+00 2.1366042708413130e-01 + 6 -1.0153594962155643e-01 3.0590371871661279e+00 2.6305719846785136e+00 + 7 -3.0312781169981404e+00 1.3253014477860192e+00 3.6137212324460495e+00 + 8 5.0065920194766118e+00 -4.9738538898220481e+00 -6.1680653045217282e+00 + 9 -6.1953589072633033e+00 -2.9840507476418630e+00 -1.3858506137213893e+00 + 10 7.2110931001166223e-02 -8.8715664120515498e+00 -3.7622114666042830e+00 + 11 1.8261227725248501e+00 1.2127884088947380e+00 -4.4352512345078896e+00 + 12 -3.9286782746032927e+00 8.8761060543305845e+00 -1.5679267227812392e+00 + 13 4.6639719242626425e+00 -4.6221575223138132e+00 -1.3189131763776332e+00 + 14 4.5202926162814835e-02 -2.3548742883712031e+00 -1.6491976796732051e+00 + 15 2.0720535642022995e+00 -1.0069819281480463e+00 2.6083600468918844e+00 + 16 4.2902983639126537e+00 5.5131718679546795e+00 2.3830711385553280e-01 + 17 2.4096838033622459e+00 2.6710791048618789e+00 3.5085731540934209e+00 + 18 3.4514062725618015e+00 -4.1373868590762886e+00 4.2169294048595312e+00 + 19 -1.1264411792212099e+00 5.0227271243385347e+00 6.1237583999889607e+00 + 20 4.7393545880453329e+00 4.2216825100295452e+00 -8.2318896574215081e+00 + 21 5.0316022185802045e-01 -3.3658905024666987e+00 -3.4562503451177298e+00 + 22 1.9368078287723918e+00 2.3534799016713426e+00 1.9729696376413666e+00 + 23 3.2400632484576661e+00 9.3259676426325444e-01 4.6157700185053541e+00 + 24 -4.6586992607556210e+00 1.1241261874328348e-01 -3.9896118917888690e+00 + 25 -8.9349626587186393e+00 2.4768648221903695e+00 3.7112080381606569e+00 + 26 1.1679346190142463e+00 -6.0828712249034158e+00 3.8801942263557465e-01 + 27 2.1417538088342263e+00 -9.0746081465677486e-01 3.4626716637488029e+00 + 28 -5.4328133673274284e+00 3.4793352823397115e+00 2.2408588660642268e+00 + 29 -7.5599171237192415e+00 -1.4574882072609379e+00 -3.9594670101361755e+00 + 30 3.1095531392911402e-01 1.2978745340983431e+00 1.5451191860370526e+00 + 31 3.8408681082369638e+00 2.2573010571848813e+00 -1.3280944539185844e+00 + 32 3.6805155767070339e+00 7.5369556779361924e-01 -9.7447904413958231e-01 ... From a2ee2d57be08bedbed977dcba1239587f33a4ca6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 07:55:26 -0400 Subject: [PATCH 51/62] add OPENMP version and apply clang-format --- src/EXTRA-PAIR/pair_pedone.cpp | 10 +- src/OPENMP/pair_pedone_omp.cpp | 169 ++++++++++++++++++ src/OPENMP/pair_pedone_omp.h | 48 +++++ .../tests/atomic-pair-pedone.yaml | 6 +- 4 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 src/OPENMP/pair_pedone_omp.cpp create mode 100644 src/OPENMP/pair_pedone_omp.h diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index b6e0f8b03c..c5f7f49117 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -11,6 +11,10 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + #include "pair_pedone.h" #include "atom.h" @@ -107,7 +111,8 @@ void PairPedone::compute(int eflag, int vflag) r = sqrt(rsq); dr = r - r0[itype][jtype]; dexp = exp(-alpha[itype][jtype] * dr); - fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fpair *= factor_lj; f[i][0] += delx * fpair; @@ -362,7 +367,8 @@ double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq dexp = exp(-alpha[itype][jtype] * dr); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; - fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fforce *= factor_lj; phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - diff --git a/src/OPENMP/pair_pedone_omp.cpp b/src/OPENMP/pair_pedone_omp.cpp new file mode 100644 index 0000000000..140816bfe4 --- /dev/null +++ b/src/OPENMP/pair_pedone_omp.cpp @@ -0,0 +1,169 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + This software is distributed under the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#include "pair_pedone_omp.h" + +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neigh_list.h" +#include "suffix.h" + +#include + +#include "omp_compat.h" +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairPedoneOMP::PairPedoneOMP(LAMMPS *lmp) : PairPedone(lmp), ThrOMP(lmp, THR_PAIR) +{ + suffix_flag |= Suffix::OMP; + respa_enable = 0; +} + +/* ---------------------------------------------------------------------- */ + +void PairPedoneOMP::compute(int eflag, int vflag) +{ + ev_init(eflag, vflag); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); + + if (evflag) { + if (eflag) { + if (force->newton_pair) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); + } else { + if (force->newton_pair) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); + } + } else { + if (force->newton_pair) + eval<0, 0, 1>(ifrom, ito, thr); + else + eval<0, 0, 0>(ifrom, ito, thr); + } + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +template +void PairPedoneOMP::eval(int iifrom, int iito, ThrData *const thr) +{ + int i, j, ii, jj, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, r2inv, r6inv, dr, dexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + + const auto *_noalias const x = (dbl3_t *) atom->x[0]; + auto *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const int *_noalias const type = atom->type; + const int nlocal = atom->nlocal; + const double *_noalias const special_lj = force->special_lj; + double fxtmp, fytmp, fztmp; + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = iifrom; ii < iito; ++ii) { + + i = ilist[ii]; + xtmp = x[i].x; + ytmp = x[i].y; + ztmp = x[i].z; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + fxtmp = fytmp = fztmp = 0.0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j].x; + dely = ytmp - x[j].y; + delz = ztmp - x[j].z; + rsq = delx * delx + dely * dely + delz * delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair *= factor_lj; + + fxtmp += delx * fpair; + fytmp += dely * fpair; + fztmp += delz * fpair; + if (NEWTON_PAIR || j < nlocal) { + f[j].x -= delx * fpair; + f[j].y -= dely * fpair; + f[j].z -= delz * fpair; + } + + if (EFLAG) { + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, 0.0, fpair, delx, dely, delz, thr); + } + } + f[i].x += fxtmp; + f[i].y += fytmp; + f[i].z += fztmp; + } +} + +/* ---------------------------------------------------------------------- */ + +double PairPedoneOMP::memory_usage() +{ + double bytes = memory_usage_thr(); + bytes += PairPedone::memory_usage(); + + return bytes; +} diff --git a/src/OPENMP/pair_pedone_omp.h b/src/OPENMP/pair_pedone_omp.h new file mode 100644 index 0000000000..8c23e86fcd --- /dev/null +++ b/src/OPENMP/pair_pedone_omp.h @@ -0,0 +1,48 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(pedone/omp,PairPedoneOMP); +// clang-format on +#else + +#ifndef LMP_PAIR_PEDONE_OMP_H +#define LMP_PAIR_PEDONE_OMP_H + +#include "pair_pedone.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairPedoneOMP : public PairPedone, public ThrOMP { + + public: + PairPedoneOMP(class LAMMPS *); + + void compute(int, int) override; + double memory_usage() override; + + private: + template + void eval(int ifrom, int ito, ThrData *const thr); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml index 28ff3aabd4..ea97d9ee8c 100644 --- a/unittest/force-styles/tests/atomic-pair-pedone.yaml +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -29,7 +29,11 @@ pair_style: hybrid/overlay pedone 8.0 coul/dsf 0.05 8.0 pair_coeff: ! | * * coul/dsf 1 2 pedone 0.030211 2.241334 2.923245 5.0 -extract: ! "" +extract: ! | + c0 2 + d0 2 + r0 2 + alpha 2 natoms: 32 init_vdwl: -0.05846735245123568 init_coul: -127.6163776098739 From aeec608be68ffd44794005840ef6fa15ef32c979 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 09:06:24 -0400 Subject: [PATCH 52/62] partial docs also for future pedone/coul/long implementation --- doc/src/Commands_pair.rst | 1 + doc/src/pair_pedone.rst | 142 ++++++++++++++++++++++++++++++++++++++ doc/src/pair_style.rst | 49 ++++++------- 3 files changed, 168 insertions(+), 24 deletions(-) create mode 100644 doc/src/pair_pedone.rst diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 9bbe216dec..514785c15c 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -245,6 +245,7 @@ OPT. * :doc:`oxrna2/coaxstk ` * :doc:`pace (k) ` * :doc:`pace/extrapolation (k) ` + * :doc:`pedone (o) ` * :doc:`pod ` * :doc:`peri/eps ` * :doc:`peri/lps (o) ` diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst new file mode 100644 index 0000000000..cb29167364 --- /dev/null +++ b/doc/src/pair_pedone.rst @@ -0,0 +1,142 @@ +.. index:: pair_style pedone +.. index:: pair_style pedone/omp +.. index:: pair_style pedone/coul/long +.. index:: pair_style pedone/coul/long/omp + +pair_style pedone command +========================= + +Accelerator Variants: *pedone/omp* + +pair_style pedone/coul/long command +=================================== + +Accelerator Variants: *pedone/coul/long* + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style style args + +* style = pedone* or *pedone/coul/long* +* args = list of arguments for a particular style + +.. parsed-literal:: + + *pedone* args = cutoff + cutoff = global cutoff for Pedone interactions (distance units) + *pedone/coul/long* args = cutoff (cutoff2) + cutoff = global cutoff for Pedone (and Coulombic if only one arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style morse 2.5 + pair_style morse/smooth/linear 2.5 + pair_coeff * * 100.0 2.0 1.5 + pair_coeff 1 1 100.0 2.0 1.5 3.0 + +Description +""""""""""" + +Pair style *pedone* computes the non-Coulomb interactions of the Pedone +(or PMMCS) potential :ref:`Pedone ` which combines Coulomb +interactions, a Morse potential, and a repulsive :math:`r^{-12}` +Lennard-Jones term (see below). The plain *pedone* pair style is meant +to be used in addition to a :doc:`Coulomb pair style ` via +pair style :doc:`hybrid/overlay ` and thus allows to be +combined with different Coulomb variants available in LAMMPS. + +Pair style *pedone/coul/long* includes the Coulomb part with a damping +function applied so it can be used in conjunction with the +:doc:`kspace_style ` command and its *ewald* or *pppm* +option. The Coulombic cutoff specified for this style means that +pairwise interactions within this distance are computed directly; +interactions outside that distance are computed in reciprocal space. +This combination is the preferred way to compute the Pedone potential +and should be simpler to use and faster than adding :doc:`pair style +coul/long ` to pair style *pedone* via :doc:`pair style +hybrid/overlay `. + +.. math:: + + E = \frac{C q_i q_j}{\epsilon r} + + D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + + \frac{B_0}{r^{12}} \qquad r < r_c + +:math:`r_c` is the cutoff and :math:`C` is a conversion factor so that +the entire Coulomb term is in energy units. + +The following coefficients must be defined for each pair of atoms +types via the :doc:`pair_coeff ` command as in the examples +above, or in the data file or restart files read by the +:doc:`read_data ` or :doc:`read_restart ` +commands: + +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) +* :math:`C_0` (energy units) +* cutoff (distance units) + +The last coefficient is optional. If not specified, the global *pedone* +cutoff is used. + +---------- + +.. include:: accel_styles.rst + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +None of these pair styles support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. + +All of these pair styles support the :doc:`pair_modify ` +shift option for the energy of the pair interaction. + +The :doc:`pair_modify ` table options are only relevant for +pair style *pedone* + +None of these pair styles support the :doc:`pair_modify ` +tail option for adding long-range tail corrections to energy and +pressure. + +All of these pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +These pair styles can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. They do not support the +*inner*, *middle*, *outer* keywords. + +---------- + +Restrictions +"""""""""""" + +The *morse/smooth/linear* pair style is only enabled if LAMMPS was +built with the EXTRA-PAIR package. +See the :doc:`Build package ` page for more info. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair_style */soft ` + +Default +""""""" + +none + +------------- + +.. _Pedone: + +**(Pedone)** A. Pedone, G. Malavasi, M. C. Menziani, A. N. Cormack, and U. Segre, J. Phys. Chem. B, 110, 11780 (2006) diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 53bf269e1c..0b8e6d2abb 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -275,30 +275,30 @@ accelerated styles exist. * :doc:`lj/smooth/linear ` - linear smoothed LJ potential * :doc:`lj/switch3/coulgauss/long ` - smoothed LJ vdW potential with Gaussian electrostatics * :doc:`lj96/cut ` - Lennard-Jones 9/6 potential -* :doc:`local/density ` - generalized basic local density potential -* :doc:`lubricate ` - hydrodynamic lubrication forces -* :doc:`lubricate/poly ` - hydrodynamic lubrication forces with polydispersity -* :doc:`lubricateU ` - hydrodynamic lubrication forces for Fast Lubrication Dynamics -* :doc:`lubricateU/poly ` - hydrodynamic lubrication forces for Fast Lubrication with polydispersity +* :doc:`local/density ` - Generalized basic local density potential +* :doc:`lubricate ` - Hydrodynamic lubrication forces +* :doc:`lubricate/poly ` - Hydrodynamic lubrication forces with polydispersity +* :doc:`lubricateU ` - Hydrodynamic lubrication forces for Fast Lubrication Dynamics +* :doc:`lubricateU/poly ` - Hydrodynamic lubrication forces for Fast Lubrication with polydispersity * :doc:`mdpd ` - mDPD particle interactions * :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density -* :doc:`meam ` - modified embedded atom method (MEAM) -* :doc:`meam/ms ` - multi-state modified embedded atom method (MS-MEAM) -* :doc:`meam/spline ` - splined version of MEAM -* :doc:`meam/sw/spline ` - splined version of MEAM with a Stillinger-Weber term -* :doc:`mesocnt ` - mesoscopic vdW potential for (carbon) nanotubes -* :doc:`mesocnt/viscous ` - mesoscopic vdW potential for (carbon) nanotubes with friction -* :doc:`mgpt ` - simplified model generalized pseudopotential theory (MGPT) potential +* :doc:`meam ` - Modified embedded atom method (MEAM) +* :doc:`meam/ms ` - Multi-state modified embedded atom method (MS-MEAM) +* :doc:`meam/spline ` - Splined version of MEAM +* :doc:`meam/sw/spline ` - Splined version of MEAM with a Stillinger-Weber term +* :doc:`mesocnt ` - Mesoscopic vdW potential for (carbon) nanotubes +* :doc:`mesocnt/viscous ` - Mesoscopic vdW potential for (carbon) nanotubes with friction +* :doc:`mgpt ` - Simplified model generalized pseudopotential theory (MGPT) potential * :doc:`mie/cut ` - Mie potential -* :doc:`mm3/switch3/coulgauss/long ` - smoothed MM3 vdW potential with Gaussian electrostatics +* :doc:`mm3/switch3/coulgauss/long ` - Smoothed MM3 vdW potential with Gaussian electrostatics * :doc:`momb ` - Many-Body Metal-Organic (MOMB) force field * :doc:`morse ` - Morse potential -* :doc:`morse/smooth/linear ` - linear smoothed Morse potential +* :doc:`morse/smooth/linear ` - Linear smoothed Morse potential * :doc:`morse/soft ` - Morse potential with a soft core * :doc:`multi/lucy ` - DPD potential with density-dependent force * :doc:`multi/lucy/rx ` - reactive DPD potential with density-dependent force -* :doc:`nb3b/harmonic ` - non-bonded 3-body harmonic potential -* :doc:`nb3b/screened ` - non-bonded 3-body screened harmonic potential +* :doc:`nb3b/harmonic ` - Non-bonded 3-body harmonic potential +* :doc:`nb3b/screened ` - Non-bonded 3-body screened harmonic potential * :doc:`nm/cut ` - N-M potential * :doc:`nm/cut/coul/cut ` - N-M potential with cutoff Coulomb * :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulomb @@ -322,21 +322,22 @@ accelerated styles exist. * :doc:`oxrna2/xstk ` - * :doc:`pace ` - Atomic Cluster Expansion (ACE) machine-learning potential * :doc:`pace/extrapolation ` - Atomic Cluster Expansion (ACE) machine-learning potential with extrapolation grades +* :doc:`pedone ` - Pedone (PMMCS) potential * :doc:`pod ` - Proper orthogonal decomposition (POD) machine-learning potential -* :doc:`peri/eps ` - peridynamic EPS potential -* :doc:`peri/lps ` - peridynamic LPS potential -* :doc:`peri/pmb ` - peridynamic PMB potential -* :doc:`peri/ves ` - peridynamic VES potential -* :doc:`polymorphic ` - polymorphic 3-body potential +* :doc:`peri/eps ` - Peridynamic EPS potential +* :doc:`peri/lps ` - Peridynamic LPS potential +* :doc:`peri/pmb ` - Peridynamic PMB potential +* :doc:`peri/ves ` - Peridynamic VES potential +* :doc:`polymorphic ` - Polymorphic 3-body potential * :doc:`python ` - * :doc:`quip ` - * :doc:`rann ` - * :doc:`reaxff ` - ReaxFF potential -* :doc:`rebo ` - second generation REBO potential of Brenner +* :doc:`rebo ` - Second generation REBO potential of Brenner * :doc:`rebomos ` - REBOMoS potential for MoS2 * :doc:`resquared ` - Everaers RE-Squared ellipsoidal potential -* :doc:`saip/metal ` - interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces -* :doc:`sdpd/taitwater/isothermal ` - smoothed dissipative particle dynamics for water at isothermal conditions +* :doc:`saip/metal ` - Interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces +* :doc:`sdpd/taitwater/isothermal ` - Smoothed dissipative particle dynamics for water at isothermal conditions * :doc:`smatb ` - Second Moment Approximation to the Tight Binding * :doc:`smatb/single ` - Second Moment Approximation to the Tight Binding for single-element systems * :doc:`smd/hertz ` - From 7ac84e18dd43d310091f7cc622e8bc41047223ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 21:35:45 -0400 Subject: [PATCH 53/62] remove references to non-existing pedone/coul/long, complete description --- doc/src/pair_pedone.rst | 93 +++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 54 deletions(-) diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index cb29167364..52a45c32b1 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -1,17 +1,11 @@ .. index:: pair_style pedone .. index:: pair_style pedone/omp -.. index:: pair_style pedone/coul/long -.. index:: pair_style pedone/coul/long/omp pair_style pedone command ========================= Accelerator Variants: *pedone/omp* -pair_style pedone/coul/long command -=================================== - -Accelerator Variants: *pedone/coul/long* Syntax """""" @@ -20,48 +14,40 @@ Syntax pair_style style args -* style = pedone* or *pedone/coul/long* +* style = pedone* * args = list of arguments for a particular style .. parsed-literal:: *pedone* args = cutoff cutoff = global cutoff for Pedone interactions (distance units) - *pedone/coul/long* args = cutoff (cutoff2) - cutoff = global cutoff for Pedone (and Coulombic if only one arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) Examples """""""" .. code-block:: LAMMPS - pair_style morse 2.5 - pair_style morse/smooth/linear 2.5 - pair_coeff * * 100.0 2.0 1.5 - pair_coeff 1 1 100.0 2.0 1.5 3.0 +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-5 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + Description """"""""""" -Pair style *pedone* computes the non-Coulomb interactions of the Pedone -(or PMMCS) potential :ref:`Pedone ` which combines Coulomb -interactions, a Morse potential, and a repulsive :math:`r^{-12}` -Lennard-Jones term (see below). The plain *pedone* pair style is meant +Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone +(or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb +interactions, Morse potential, and repulsive :math:`r^{-12}` +Lennard-Jones terms (see below). The *pedone* pair style is meant to be used in addition to a :doc:`Coulomb pair style ` via -pair style :doc:`hybrid/overlay ` and thus allows to be -combined with different Coulomb variants available in LAMMPS. +pair style :doc:`hybrid/overlay ` (see example above). +Using *coul/long* or *could/dsf* (for solids) is recommended. -Pair style *pedone/coul/long* includes the Coulomb part with a damping -function applied so it can be used in conjunction with the -:doc:`kspace_style ` command and its *ewald* or *pppm* -option. The Coulombic cutoff specified for this style means that -pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. -This combination is the preferred way to compute the Pedone potential -and should be simpler to use and faster than adding :doc:`pair style -coul/long ` to pair style *pedone* via :doc:`pair style -hybrid/overlay `. +The full Pedone potential function from :ref:`(Pedone) ` for each +pair of atom is: .. math:: @@ -69,14 +55,14 @@ hybrid/overlay `. + D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \frac{B_0}{r^{12}} \qquad r < r_c -:math:`r_c` is the cutoff and :math:`C` is a conversion factor so that -the entire Coulomb term is in energy units. +:math:`r_c` is the cutoff and :math:`C` is a conversion factor that is +specific to the choice of :doc:`units ` so that the entire +Coulomb term is in energy units with :math:`q_i` and :math:`q_j` as the +assigned charges in multiples of the elementary charge. -The following coefficients must be defined for each pair of atoms -types via the :doc:`pair_coeff ` command as in the examples -above, or in the data file or restart files read by the -:doc:`read_data ` or :doc:`read_restart ` -commands: +The following coefficients must be defined for the selected pairs of +atom types via the :doc:`pair_coeff ` command as in the +example above: * :math:`D_0` (energy units) * :math:`\alpha` (1/distance units) @@ -96,39 +82,38 @@ cutoff is used. Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -None of these pair styles support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. +This pair style does not support mixing. -All of these pair styles support the :doc:`pair_modify ` -shift option for the energy of the pair interaction. +This pair style support the :doc:`pair_modify ` shift +option for the energy of the pair interaction. -The :doc:`pair_modify ` table options are only relevant for -pair style *pedone* - -None of these pair styles support the :doc:`pair_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -All of these pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. +This pair style writes its information to :doc:`binary restart files `, +so pair_style and pair_coeff commands does not need to be specified in an input +script that reads a restart file. -These pair styles can only be used via the *pair* keyword of the -:doc:`run_style respa ` command. They do not support the -*inner*, *middle*, *outer* keywords. +This pair style can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*, *middle*, or *outer* keywords. ---------- Restrictions """""""""""" -The *morse/smooth/linear* pair style is only enabled if LAMMPS was -built with the EXTRA-PAIR package. -See the :doc:`Build package ` page for more info. +The *pedone* pair style is only enabled if LAMMPS was built with the +EXTRA-PAIR package. See the :doc:`Build package ` page +for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`pair_style */soft ` +:doc:`pair_coeff `, :doc:`pair_style `, +:doc:`pair style coul/long and coul/dsf `, +:doc:`pair style morse ` Default """"""" From 01917cd117a1f5d5fdac2545642254a0be10278e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 22:06:12 -0400 Subject: [PATCH 54/62] add example for Ca-O with Pedone --- doc/src/pair_pedone.rst | 8 ++ doc/src/pair_style.rst | 2 +- examples/PACKAGES/pedone/in.pedone.melt | 38 +++++ examples/PACKAGES/pedone/in.pedone.relax | 38 +++++ .../pedone/log.9Apr24.pedone.melt.g++.1 | 122 ++++++++++++++++ .../pedone/log.9Apr24.pedone.melt.g++.4 | 122 ++++++++++++++++ .../pedone/log.9Apr24.pedone.relax.g++.1 | 134 ++++++++++++++++++ .../pedone/log.9Apr24.pedone.relax.g++.4 | 134 ++++++++++++++++++ src/.gitignore | 2 + 9 files changed, 599 insertions(+), 1 deletion(-) create mode 100644 examples/PACKAGES/pedone/in.pedone.melt create mode 100644 examples/PACKAGES/pedone/in.pedone.relax create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index 52a45c32b1..e8ad053dd5 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -33,6 +33,14 @@ kspace_style pppm 1.0e-5 pair_coeff * * coul/long pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +Used in input scripts: + + .. parsed-literal:: + + examples/PACKAGES/pedone/in.pedone.relax + examples/PACKAGES/pedone/in.pedone.melt + Description diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 0b8e6d2abb..74dfce6b01 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -322,7 +322,7 @@ accelerated styles exist. * :doc:`oxrna2/xstk ` - * :doc:`pace ` - Atomic Cluster Expansion (ACE) machine-learning potential * :doc:`pace/extrapolation ` - Atomic Cluster Expansion (ACE) machine-learning potential with extrapolation grades -* :doc:`pedone ` - Pedone (PMMCS) potential +* :doc:`pedone ` - Pedone (PMMCS) potential (non-Coulomb part) * :doc:`pod ` - Proper orthogonal decomposition (POD) machine-learning potential * :doc:`peri/eps ` - Peridynamic EPS potential * :doc:`peri/lps ` - Peridynamic LPS potential diff --git a/examples/PACKAGES/pedone/in.pedone.melt b/examples/PACKAGES/pedone/in.pedone.melt new file mode 100644 index 0000000000..a2b1c3a71e --- /dev/null +++ b/examples/PACKAGES/pedone/in.pedone.melt @@ -0,0 +1,38 @@ +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations + +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 1 box + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +create_atoms 2 box + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +set type 2 charge -1.2 + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 diff --git a/examples/PACKAGES/pedone/in.pedone.relax b/examples/PACKAGES/pedone/in.pedone.relax new file mode 100644 index 0000000000..38ccd651e7 --- /dev/null +++ b/examples/PACKAGES/pedone/in.pedone.relax @@ -0,0 +1,38 @@ +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations + +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 1 box + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +create_atoms 2 box + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +set type 1 charge 1.2 +set type 2 charge -1.2 + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 new file mode 100644 index 0000000000..dc33289391 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 @@ -0,0 +1,122 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 29791 13824 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.239 | 9.239 | 9.239 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 6000 -3771.5568 0 -3375.2452 34213.185 + 100 2894.1756 -3562.491 0 -3371.3251 114640.32 + 200 2980.3531 -3570.2657 0 -3373.4076 123673.56 + 300 2783.0437 -3574.5809 0 -3390.7554 119791.27 + 400 3021.6581 -3568.2149 0 -3368.6285 116032.29 + 500 3112.0438 -3580.0178 0 -3374.4613 114798.18 + 600 2973.4609 -3577.0582 0 -3380.6553 111843.46 + 700 3180.1687 -3568.4542 0 -3358.3979 121008.83 + 800 2923.7803 -3573.3023 0 -3380.181 111459.55 + 900 2940.3133 -3572.1322 0 -3377.9188 118177.36 + 1000 3070.2584 -3575.5655 0 -3372.769 114175.52 +Loop time of 13.683 on 1 procs for 1000 steps with 512 atoms + +Performance: 12.629 ns/day, 1.900 hours/ns, 73.084 timesteps/s, 37.419 katom-step/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.545 | 11.545 | 11.545 | 0.0 | 84.37 +Kspace | 1.4121 | 1.4121 | 1.4121 | 0.0 | 10.32 +Neigh | 0.65265 | 0.65265 | 0.65265 | 0.0 | 4.77 +Comm | 0.056036 | 0.056036 | 0.056036 | 0.0 | 0.41 +Output | 0.00022945 | 0.00022945 | 0.00022945 | 0.0 | 0.00 +Modify | 0.0090252 | 0.0090252 | 0.0090252 | 0.0 | 0.07 +Other | | 0.00801 | | | 0.06 + +Nlocal: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10901 ave 10901 max 10901 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 374419 ave 374419 max 374419 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 374419 +Ave neighs/atom = 731.28711 +Neighbor list builds = 71 +Dangerous builds = 0 +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 new file mode 100644 index 0000000000..693b8b3050 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 @@ -0,0 +1,122 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 11191 3456 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.315 | 5.315 | 5.315 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 6000 -3771.5568 0 -3375.2452 34213.185 + 100 3050.0106 -3571.4712 0 -3370.0121 118480.04 + 200 3100.0073 -3571.2534 0 -3366.492 120618.37 + 300 2959.7127 -3580.0883 0 -3384.5935 109184.72 + 400 2922.7083 -3563.9803 0 -3370.9298 120165.71 + 500 3145.0439 -3571.3828 0 -3363.6465 115057.51 + 600 2741.7439 -3563.5077 0 -3382.4102 115504.31 + 700 2906.3636 -3567.3604 0 -3375.3895 119518.5 + 800 2995.3864 -3567.3838 0 -3369.5327 117975.22 + 900 2965.24 -3565.7983 0 -3369.9385 123362.35 + 1000 2916.6485 -3578.7471 0 -3386.0968 115624.78 +Loop time of 4.50395 on 4 procs for 1000 steps with 512 atoms + +Performance: 38.366 ns/day, 0.626 hours/ns, 222.028 timesteps/s, 113.678 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.2703 | 3.2983 | 3.3259 | 1.3 | 73.23 +Kspace | 0.79815 | 0.82633 | 0.85342 | 2.6 | 18.35 +Neigh | 0.18328 | 0.18398 | 0.18472 | 0.1 | 4.08 +Comm | 0.17423 | 0.17508 | 0.17592 | 0.2 | 3.89 +Output | 0.00019336 | 0.0002167 | 0.00028554 | 0.0 | 0.00 +Modify | 0.0089842 | 0.0091093 | 0.0092205 | 0.1 | 0.20 +Other | | 0.01096 | | | 0.24 + +Nlocal: 128 ave 143 max 118 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Nghost: 7622.75 ave 7651 max 7598 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 93581.8 ave 106456 max 84898 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 374327 +Ave neighs/atom = 731.10742 +Neighbor list builds = 71 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 new file mode 100644 index 0000000000..bf58a8da9b --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 @@ -0,0 +1,134 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +Displacing atoms ... +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 +Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 29791 13824 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies + (src/min.cpp:219) +Per MPI rank memory allocation (min/avg/max) = 10.33 | 10.33 | 10.33 Mbytes + Step v_len Lx PotEng Press + 0 4.8105 19.242 -3765.9116 -21299.914 + 100 4.7797128 19.118851 -3767.814 -164.13101 + 200 4.7787507 19.115003 -3769.1366 -373.58797 + 300 4.7768265 19.107306 -3770.5634 48.944709 + 400 4.7768265 19.107306 -3770.9879 -258.56116 + 500 4.7758644 19.103458 -3771.3898 173.91894 + 600 4.7758644 19.103458 -3771.7586 -91.813678 + 700 4.7758644 19.103458 -3771.9842 -252.52883 + 800 4.7749023 19.099609 -3772.3526 216.83318 + 857 4.7747927 19.099171 -3772.8223 32.586251 +Loop time of 18.0592 on 1 procs for 857 steps with 512 atoms + +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -3765.91161156884 -3772.82226663623 -3772.82226663623 + Force two-norm initial, final = 284.3967 0.46963871 + Force max component initial, final = 284.14458 0.42827677 + Final line search alpha, max atom move = 2.8580337e-08 1.2240294e-08 + Iterations, force evaluations = 857 894 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 13.907 | 13.907 | 13.907 | 0.0 | 77.01 +Kspace | 1.3809 | 1.3809 | 1.3809 | 0.0 | 7.65 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.045871 | 0.045871 | 0.045871 | 0.0 | 0.25 +Output | 0.0002809 | 0.0002809 | 0.0002809 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.726 | | | 15.09 + +Nlocal: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11655 ave 11655 max 11655 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 372155 ave 372155 max 372155 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 372155 +Ave neighs/atom = 726.86523 +Neighbor list builds = 0 +Dangerous builds = 0 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" +Expected lattice parameter: 4.7748, computed: 4.7748 +Total wall time: 0:00:18 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 new file mode 100644 index 0000000000..95a84f81e0 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 @@ -0,0 +1,134 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +Displacing atoms ... +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 +Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 11191 3456 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies + (src/min.cpp:219) +Per MPI rank memory allocation (min/avg/max) = 6.44 | 6.44 | 6.44 Mbytes + Step v_len Lx PotEng Press + 0 4.8105 19.242 -3765.9116 -21299.914 + 100 4.7797128 19.118851 -3767.814 -164.13101 + 200 4.7787507 19.115003 -3769.1367 -373.59489 + 300 4.7768265 19.107306 -3770.5868 32.046893 + 400 4.7768265 19.107306 -3771.0322 -290.69703 + 500 4.7758644 19.103458 -3771.4223 150.34606 + 600 4.7758644 19.103458 -3771.7941 -117.26938 + 700 4.7758644 19.103458 -3772.0193 -277.34372 + 800 4.7749023 19.099609 -3772.42 171.95177 + 860 4.7748339 19.099336 -3772.8237 1.0976356 +Loop time of 5.65601 on 4 procs for 860 steps with 512 atoms + +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -3765.91161156888 -3772.82365446552 -3772.82365446552 + Force two-norm initial, final = 284.3967 0.067746634 + Force max component initial, final = 284.14458 0.014426328 + Final line search alpha, max atom move = 1.9073486e-06 2.7516038e-08 + Iterations, force evaluations = 860 922 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.7408 | 3.8442 | 4.0543 | 6.5 | 67.97 +Kspace | 0.60187 | 0.81211 | 0.91543 | 14.1 | 14.36 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.14969 | 0.15017 | 0.15071 | 0.1 | 2.66 +Output | 0.00019203 | 0.00020711 | 0.0002511 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.8494 | | | 15.02 + +Nlocal: 128 ave 135 max 123 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Nghost: 8175 ave 8180 max 8168 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Neighs: 93038.8 ave 98164 max 89373 min +Histogram: 1 0 1 0 1 0 0 0 0 1 + +Total # of neighbors = 372155 +Ave neighs/atom = 726.86523 +Neighbor list builds = 0 +Dangerous builds = 0 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" +Expected lattice parameter: 4.7748, computed: 4.7748 +Total wall time: 0:00:05 diff --git a/src/.gitignore b/src/.gitignore index 88bb80fdc5..02f2a6a6ea 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1357,6 +1357,8 @@ /pair_oxrna2_*.cpp /pair_oxrna2_*.h /mf_oxdna.h +/pair_pedone.cpp +/pair_pedone.h /pair_peri.cpp /pair_peri.h /pair_peri_eps.cpp From b4fa1b07e902725c45776a696715d16600a3efe5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 22:21:34 -0400 Subject: [PATCH 55/62] add version tag --- doc/src/pair_pedone.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index e8ad053dd5..5ef7320fa0 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -41,11 +41,13 @@ Used in input scripts: examples/PACKAGES/pedone/in.pedone.relax examples/PACKAGES/pedone/in.pedone.melt - + Description """"""""""" +.. versionadded:: TBD + Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone (or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb interactions, Morse potential, and repulsive :math:`r^{-12}` From e979e8dc01730b949802859af2f4dbfcff83b251 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 22:36:49 -0400 Subject: [PATCH 56/62] spelling add false positives --- doc/utils/sphinx-config/false_positives.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 04ea69575a..88ac0e3140 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2040,6 +2040,7 @@ Makefiles makelist makepkg Makse +Malavasi malloc Malolepsza Manby @@ -2149,6 +2150,7 @@ membered memcheck Mendelev Menon +Menziani mer Meremianin Mersenne @@ -2772,6 +2774,8 @@ Peachey peachpuff Pearlman Pedersen +pedone +Pedone peID PEigenDense Peng From 9f88867b373f9c4aad4c16c13c0ef30d429daeeb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 03:08:08 -0400 Subject: [PATCH 57/62] update parsing of file and atomfile variable files this allows to handle comments and empty lines everywhere for atomfile and file variables and in a consistent manner since it used utils functions. also error messages are improved and more specific. --- src/variable.cpp | 57 +++++++++++++--------------- unittest/commands/test_variables.cpp | 4 +- 2 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index c99e4a4761..89d15d38f5 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -369,7 +369,8 @@ void Variable::set(int narg, char **arg) data[nvar][0] = new char[MAXLINE]; reader[nvar] = new VarReader(lmp,arg[0],arg[2],SCALARFILE); int flag = reader[nvar]->read_scalar(data[nvar][0]); - if (flag) error->all(FLERR,"File variable could not read value"); + if (flag) + error->all(FLERR,"File variable {} could not read value from {}", arg[0], arg[2]); // ATOMFILE for numbers // which = 1st value @@ -387,7 +388,8 @@ void Variable::set(int narg, char **arg) data[nvar][0] = nullptr; reader[nvar] = new VarReader(lmp,arg[0],arg[2],ATOMFILE); int flag = reader[nvar]->read_peratom(); - if (flag) error->all(FLERR,"Atomfile variable could not read values"); + if (flag) + error->all(FLERR,"Atomfile variable {} could not read values from {}", arg[0], arg[2]); // FORMAT // num = 3, which = 1st value @@ -5405,7 +5407,8 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : if (me == 0) { fp = fopen(file,"r"); if (fp == nullptr) - error->one(FLERR,"Cannot open file variable file {}: {}", file, utils::getsyserror()); + error->one(FLERR,"Cannot open {} variable {} file {}: {}", (style == Variable::ATOMFILE) + ? "atomfile" : "file", name, file, utils::getsyserror()); } // if atomfile-style variable, must store per-atom values read from file @@ -5463,14 +5466,12 @@ int VarReader::read_scalar(char *str) while (true) { ptr = fgets(str,MAXLINE,fp); if (!ptr) { n=0; break; } // end of file - ptr[strcspn(ptr,"#")] = '\0'; // strip comment - ptr += strspn(ptr," \t\n\r\f"); // strip leading whitespace - ptr[strcspn(ptr," \t\n\r\f")] = '\0'; // strip trailing whitespace - n = strlen(ptr) + 1; + auto line = utils::trim(utils::trim_comment(str)); + n = line.size() + 1; if (n == 1) continue; // skip if blank line + memcpy(str, line.c_str(), n); break; } - if (n > 0) memmove(str,ptr,n); // move trimmed string back } MPI_Bcast(&n,1,MPI_INT,0,world); if (n == 0) return 1; @@ -5486,9 +5487,9 @@ int VarReader::read_scalar(char *str) int VarReader::read_peratom() { - int i,m,n,nchunk,eof; + int i,m,nchunk,eof; tagint tag; - char *ptr,*next; + char *ptr; double value; // set all per-atom values to 0.0 @@ -5502,24 +5503,22 @@ int VarReader::read_peratom() // read one string from file, convert to Nlines char str[MAXLINE]; + bigint nlines = 0; if (me == 0) { while (true) { ptr = fgets(str,MAXLINE,fp); - if (!ptr) { n=0; break; } // end of file - ptr[strcspn(ptr,"#")] = '\0'; // strip comment - ptr += strspn(ptr," \t\n\r\f"); // strip leading whitespace - ptr[strcspn(ptr," \t\n\r\f")] = '\0'; // strip trailing whitespace - n = strlen(ptr) + 1; - if (n == 1) continue; // skip if blank line + if (!ptr) { nlines = 0; break; } // end of file + Tokenizer words(utils::trim(utils::trim_comment(str))); + if (words.count() == 0) continue; // skip if blank or comment line + if (words.count() != 1) + error->one(FLERR, "Expected 1 token but found {} when parsing {}", words.count(), str); + nlines = utils::bnumeric(FLERR,words.next(),true,lmp); break; } - memmove(str,ptr,n); // move trimmed string back } + MPI_Bcast(&nlines,1,MPI_LMP_BIGINT,0,world); + if (nlines == 0) return 1; - MPI_Bcast(&n,1,MPI_INT,0,world); - if (n == 0) return 1; - MPI_Bcast(str,n,MPI_CHAR,0,world); - bigint nlines = utils::bnumeric(FLERR,str,false,lmp); tagint map_tag_max = atom->map_tag_max; bigint nread = 0; @@ -5528,24 +5527,22 @@ int VarReader::read_peratom() eof = utils::read_lines_from_file(fp,nchunk,MAXLINE,buffer,me,world); if (eof) return 1; - char *buf = buffer; - for (i = 0; i < nchunk; i++) { - next = strchr(buf,'\n'); - *next = '\0'; + for (const auto &line : utils::split_lines(buffer)) { try { - ValueTokenizer words(buf); + ValueTokenizer words(utils::trim_comment(utils::trim(line))); + if (words.count() == 0) continue; // skip comment or empty lines + if (words.count() != 2) + throw TokenizerException(fmt::format("expected 2 tokens but found {}", words.count()), ""); tag = words.next_bigint(); value = words.next_double(); + ++nread; } catch (TokenizerException &e) { - error->all(FLERR,"Invalid atomfile line '{}': {}",buf,e.what()); + error->all(FLERR,"Invalid atomfile line '{}': {}", line, e.what()); } if ((tag <= 0) || (tag > map_tag_max)) error->all(FLERR,"Invalid atom ID {} in variable file", tag); if ((m = atom->map(tag)) >= 0) vstore[m] = value; - buf = next + 1; } - - nread += nchunk; } return 0; diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index c631b69528..6748867b4e 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -216,7 +216,7 @@ TEST_F(VariableTest, CreateDelete) command("variable one internal 2");); TEST_FAILURE(".*ERROR: Cannot use atomfile-style variable unless an atom map exists.*", command("variable eleven atomfile test_variable.atomfile");); - TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable file test_variable.xxx.*", + TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable nine1 file test_variable.xxx.*", command("variable nine1 file test_variable.xxx");); TEST_FAILURE(".*ERROR: World variable count doesn't match # of partitions.*", command("variable ten10 world xxx xxx");); @@ -293,7 +293,7 @@ TEST_F(VariableTest, AtomicSystem) command("variable one atom x");); TEST_FAILURE(".*ERROR: Cannot redefine variable as a different style.*", command("variable id vector f_press");); - TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable file test_variable.xxx.*", + TEST_FAILURE(".*ERROR on proc 0: Cannot open atomfile variable ten1 file test_variable.xxx.*", command("variable ten1 atomfile test_variable.xxx");); TEST_FAILURE(".*ERROR: Variable loop: has a circular dependency.*", variable->compute_equal("v_loop");); From 06d579eb51072c478738077917f3409fc5f833bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 06:29:10 -0400 Subject: [PATCH 58/62] improve atomfile variable docs --- doc/src/variable.rst | 48 ++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 483e95045c..6b143ab5ae 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -279,9 +279,9 @@ This means the variable can then be evaluated as many times as desired and will return those values. There are two ways to cause the next set of per-atom values from the file to be read: use the :doc:`next ` command or the next() function in an atom-style -variable, as discussed below. Unlike most variable styles -atomfile-style variables are **deleted** during a :doc:`clear ` -command. +variable, as discussed below. Unlike most variable styles, which +remain defined, atomfile-style variables are **deleted** during a +:doc:`clear ` command. The rules for formatting the file are as follows. Each time a set of per-atom values is read, a non-blank line is searched for in the file. @@ -289,23 +289,37 @@ The file is read line by line but only up to 254 characters are used. The rest are ignored. A comment character "#" can be used anywhere on a line and all text following and the "#" character are ignored; text starting with the comment character is stripped. Blank lines -are skipped. The first "word" of a non-blank line, delimited by -white-space, is read as the count N of per-atom lines to immediately -follow. N can be the total number of atoms in the system, or only a -subset. The next N lines have the following format - -.. parsed-literal:: - - ID value - -where ID is an atom ID and value is the per-atom numeric value that -will be assigned to that atom. IDs can be listed in any order. +are skipped. The first non-blank line is expected to contain a single +integer number as the count *N* of per-atom lines to follow. *N* can +be the total number of atoms in the system or less, indicating that data +for a subset is read. The next N lines must consist of two numbers, +the atom-ID of the atom for which a value is set followed by a floating +point number with the value. The atom-IDs may be listed in any order. .. note:: - Every time a set of per-atom lines is read, the value for all - atoms is first set to 0.0. Thus values for atoms whose ID does not - appear in the set, will remain 0.0. + Every time a set of per-atom lines is read, the value of the atomfile + variable for **all** atoms is first initialized to 0.0. Thus values + for atoms whose ID do not appear in the set in the file will remain + at 0.0. + +Below is a small example for the atomfile variable file format: + + .. parsed-literal:: + + # first set + 4 + # atom-ID value + 3 1 + 4 -4 + 1 0.5 + 2 -0.5 + + # second set + 2 + + 2 1.0 + 4 -1.0 ---------- From e180527f087922635013a1f6f60a79fb2993ac02 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 12:35:09 -0400 Subject: [PATCH 59/62] fix typo --- doc/src/pair_pedone.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index 5ef7320fa0..32fcb17f00 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -57,7 +57,7 @@ pair style :doc:`hybrid/overlay ` (see example above). Using *coul/long* or *could/dsf* (for solids) is recommended. The full Pedone potential function from :ref:`(Pedone) ` for each -pair of atom is: +pair of atoms is: .. math:: From 9d3e9c6146f2d262ac3f3e56e9cb6347a9c452ec Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 18:03:01 -0400 Subject: [PATCH 60/62] whitespace --- doc/src/variable.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 6b143ab5ae..ba5e5efd39 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -304,7 +304,7 @@ point number with the value. The atom-IDs may be listed in any order. at 0.0. Below is a small example for the atomfile variable file format: - + .. parsed-literal:: # first set From b36f49c34c35cd05491f234baccc88c2a3a222dc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 18:05:21 -0400 Subject: [PATCH 61/62] adjust epsilon for arm64 platform --- unittest/force-styles/tests/mol-pair-tip4p_long.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml index 072642c471..9a67706c01 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml @@ -2,7 +2,7 @@ lammps_version: 17 Feb 2022 tags: unstable date_generated: Fri Mar 18 22:17:36 2022 -epsilon: 5e-13 +epsilon: 1e-10 skip_tests: prerequisites: ! | atom full From 9f2cc1e38b2f9f19f88444dffa3076a1ea6da08a Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 10 Apr 2024 17:24:08 -0600 Subject: [PATCH 62/62] Add two-level sort to simplify algorithm --- src/KOKKOS/atom_kokkos.h | 21 ++++++++- src/KOKKOS/atom_map_kokkos.cpp | 82 +++++++++++----------------------- 2 files changed, 45 insertions(+), 58 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index d6c32624f3..669c8b510a 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -88,8 +88,25 @@ class AtomKokkos : public Atom { DAT::tdual_int_1d k_map_array; dual_hash_type k_map_hash; - DAT::t_tagint_1d d_tag_sorted; - DAT::t_int_1d d_i_sorted; + struct KeyValue { + int i; + bigint tag; + }; + + typedef Kokkos::View t_keyvalue_1d; + t_keyvalue_1d d_sorted; + + struct MyComp { + KOKKOS_FUNCTION + bool operator()(const KeyValue& a, const KeyValue& b) const + { + if (a.tag < b.tag) + return true; + if (b.tag < a.tag) + return false; + return a.i < b.i; + } + }; typedef Kokkos::DualView tdual_tagint_2; typedef tdual_tagint_2::t_dev t_tagint_2; diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index ca493ea04d..2c4c58ee19 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -190,94 +190,64 @@ void AtomKokkos::map_set_device() atomKK->sync(Device, TAG_MASK); + int map_style_array = (map_style == MAP_ARRAY); + auto d_tag = atomKK->k_tag.d_view; auto d_sametag = k_sametag.d_view; - // sort by tag - int nmax = atom->nmax; - if (!d_tag_sorted.data() || (int)d_tag_sorted.extent(0) < nmax) { - MemKK::realloc_kokkos(d_tag_sorted,"atom:tag_sorted",nmax); - MemKK::realloc_kokkos(d_i_sorted,"atom:i_sorted",nmax); - } + // sort by tag then local id - // sort by tag + if (!d_sorted.data() || (int)d_sorted.extent(0) < nmax) + MemKK::realloc_kokkos(d_sorted,"atom:sorted",nmax); - auto l_tag_sorted = Kokkos::subview(d_tag_sorted,std::make_pair(0,nall)); - auto l_i_sorted = Kokkos::subview(d_i_sorted,std::make_pair(0,nall)); - auto l_tag_small = Kokkos::subview(d_tag,std::make_pair(0,nall)); - int map_style_array = (map_style == MAP_ARRAY); + auto l_sorted = Kokkos::subview(d_sorted,std::make_pair(0,nall)); Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int i) { - l_i_sorted(i) = i; - l_tag_sorted(i) = d_tag(i); + l_sorted(i).i = i; + l_sorted(i).tag = d_tag(i); }); - Kokkos::Experimental::sort_by_key(LMPDeviceType(), l_tag_small, l_i_sorted); - Kokkos::sort(LMPDeviceType(),l_tag_sorted); + Kokkos::sort(LMPDeviceType(),l_sorted,MyComp{}); auto d_map_array = k_map_array.d_view; auto d_map_hash = k_map_hash.d_view; - d_map_hash.clear(); + if (!map_style_array) + d_map_hash.clear(); auto d_error_flag = k_error_flag.d_view; Kokkos::deep_copy(d_error_flag,0); - // for each tag find: - // neighboring atoms with closest local id for sametag // atom with smallest local id for atom map Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int ii) { - const int i = l_i_sorted(ii); - const tagint tag_i = l_tag_sorted(ii); - int i_min = i; - int i_closest = MAXSMALLINT; + const int i = l_sorted(ii).i; + const tagint tag_i = l_sorted(ii).tag; - // search atoms with same tag in the forward direction + // sametag + tagint tag_j = -1; int jj = ii+1; - int closest_flag = 0; + if (jj < nall) tag_j = l_sorted(jj).tag; - while (jj < nall) { - const tagint tag_j = l_tag_sorted(jj); - if (tag_j != tag_i) break; - const int j = l_i_sorted(jj); - i_min = MIN(i_min,j); - if (j > i) { - i_closest = MIN(i_closest,j); - closest_flag = 1; - } - jj++; - } + if (tag_j == tag_i) + d_sametag(i) = l_sorted(jj).i; + else + d_sametag(i) = -1; - // search atoms with same tag in the reverse direction + // atom map + tag_j = -1; jj = ii-1; + if (jj >= 0) tag_j = l_sorted(jj).tag; - while (jj >= 0) { - const tagint tag_j = l_tag_sorted(jj); - if (tag_j != tag_i) break; - const int j = l_i_sorted(jj); - i_min = MIN(i_min,j); - if (j > i) { - i_closest = MIN(i_closest,j); - closest_flag = 1; - } - jj--; - } - - if (!closest_flag) - i_closest = -1; - - d_sametag(i) = i_closest; - - if (i == i_min) { + if (tag_j != tag_i) { if (map_style_array) - d_map_array(tag_i) = i_min; + d_map_array(tag_i) = i; else { - auto insert_result = d_map_hash.insert(tag_i, i_min); + auto insert_result = d_map_hash.insert(tag_i, i); if (insert_result.failed()) d_error_flag() = 1; } }