Merge branch 'develop' into general-triclinic
6
.github/workflows/codeql-analysis.yml
vendored
@ -30,12 +30,12 @@ jobs:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
config-file: ./.github/codeql/${{ matrix.language }}.yml
|
||||
@ -55,4 +55,4 @@ jobs:
|
||||
cmake --build . --parallel 2
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
uses: github/codeql-action/analyze@v3
|
||||
|
||||
2
.github/workflows/compile-msvc.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Select Python version
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
|
||||
@ -971,6 +971,20 @@ if(PKG_KOKKOS)
|
||||
endif()
|
||||
endif()
|
||||
if(PKG_KSPACE)
|
||||
if (LMP_HEFFTE)
|
||||
message(STATUS "<<< FFT settings >>>
|
||||
-- Primary FFT lib: heFFTe")
|
||||
if (HEFFTE_BACKEND)
|
||||
message(STATUS "heFFTe backend: ${HEFFTE_BACKEND}")
|
||||
else()
|
||||
message(STATUS "heFFTe backend: stock (builtin FFT implementation, tested for corrected but not optimized for production)")
|
||||
endif()
|
||||
if(FFT_SINGLE)
|
||||
message(STATUS "Using single precision FFTs")
|
||||
else()
|
||||
message(STATUS "Using double precision FFTs")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "<<< FFT settings >>>
|
||||
-- Primary FFT lib: ${FFT}")
|
||||
if(FFT_SINGLE)
|
||||
@ -983,6 +997,11 @@ if(PKG_KSPACE)
|
||||
else()
|
||||
message(STATUS "Using non-threaded FFTs")
|
||||
endif()
|
||||
if (FFT_HEFFTE)
|
||||
message(STATUS "Using distributed algorithms from heFTTe")
|
||||
else()
|
||||
message(STATUS "Using builtin distributed algorithms")
|
||||
endif()
|
||||
if(PKG_KOKKOS)
|
||||
if(Kokkos_ENABLE_CUDA)
|
||||
if(FFT STREQUAL "KISS")
|
||||
@ -1001,6 +1020,7 @@ if(PKG_KSPACE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(BUILD_DOC)
|
||||
message(STATUS "<<< Building HTML Manual >>>")
|
||||
endif()
|
||||
|
||||
@ -151,10 +151,10 @@ if(GPU_API STREQUAL "CUDA")
|
||||
endif()
|
||||
|
||||
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
|
||||
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
|
||||
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
|
||||
|
||||
cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC}
|
||||
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
|
||||
-DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -allow-unsupported-compiler -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES})
|
||||
|
||||
foreach(CU_OBJ ${GPU_GEN_OBJS})
|
||||
get_filename_component(CU_NAME ${CU_OBJ} NAME_WE)
|
||||
|
||||
@ -46,6 +46,42 @@ else()
|
||||
target_compile_definitions(lammps PRIVATE -DFFT_KISS)
|
||||
endif()
|
||||
|
||||
option(FFT_USE_HEFFTE "Use heFFTe as the distributed FFT engine, overrides the FFT option." OFF)
|
||||
if(FFT_USE_HEFFTE)
|
||||
# if FFT_HEFFTE is enabled, switch the builtin FFT engine with Heffte
|
||||
set(FFT_HEFFTE_BACKEND_VALUES FFTW MKL)
|
||||
set(FFT_HEFFTE_BACKEND "" CACHE STRING "Select heFFTe backend, e.g., FFTW or MKL")
|
||||
set_property(CACHE FFT_HEFFTE_BACKEND PROPERTY STRINGS ${FFT_HEFFTE_BACKEND_VALUES})
|
||||
|
||||
if(FFT_HEFFTE_BACKEND STREQUAL "FFTW") # respect the backend choice, FFTW or MKL
|
||||
set(HEFFTE_COMPONENTS "FFTW")
|
||||
set(Heffte_ENABLE_FFTW "ON" CACHE BOOL "Enables FFTW backend for heFFTe")
|
||||
elseif(FFT_HEFFTE_BACKEND STREQUAL "MKL")
|
||||
set(HEFFTE_COMPONENTS "MKL")
|
||||
set(Heffte_ENABLE_MKL "ON" CACHE BOOL "Enables MKL backend for heFFTe")
|
||||
else()
|
||||
message(WARNING "FFT_HEFFTE_BACKEND not selected, defaulting to the builtin 'stock' backend, which is intended for testing and is not optimized for production runs")
|
||||
endif()
|
||||
|
||||
find_package(Heffte 2.4.0 QUIET COMPONENTS ${HEFFTE_COMPONENTS})
|
||||
if (NOT Heffte_FOUND) # download and build
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(HEFFTE_PROJECT # using v2.4.0
|
||||
URL "https://github.com/icl-utk-edu/heffte/archive/refs/tags/v2.4.0.tar.gz"
|
||||
URL_HASH SHA256=02310fb4f9688df02f7181667e61c3adb7e38baf79611d80919d47452ff7881d
|
||||
)
|
||||
FetchContent_Populate(HEFFTE_PROJECT)
|
||||
add_subdirectory(${heffte_project_SOURCE_DIR} ${heffte_project_BINARY_DIR})
|
||||
set_target_properties(lmp PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
set_target_properties(lammps PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
add_library(Heffte::Heffte INTERFACE IMPORTED GLOBAL)
|
||||
target_link_libraries(Heffte::Heffte INTERFACE Heffte)
|
||||
endif()
|
||||
|
||||
target_compile_definitions(lammps PRIVATE -DFFT_HEFFTE "-DFFT_HEFFTE_${FFT_HEFFTE_BACKEND}")
|
||||
target_link_libraries(lammps PRIVATE Heffte::Heffte)
|
||||
endif()
|
||||
|
||||
set(FFT_PACK "array" CACHE STRING "Optimization for FFT")
|
||||
set(FFT_PACK_VALUES array pointer memcpy)
|
||||
set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES})
|
||||
|
||||
11
cmake/presets/gpu-cuda.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
# preset that enables GPU and selects CUDA API
|
||||
|
||||
set(PKG_GPU ON CACHE BOOL "Build GPU package" FORCE)
|
||||
set(GPU_API "cuda" CACHE STRING "APU used by GPU package" FORCE)
|
||||
set(GPU_PREC "mixed" CACHE STRING "" FORCE)
|
||||
|
||||
set(CUDA_NVCC_FLAGS "-allow-unsupported-compiler" CACHE STRING "" FORCE)
|
||||
set(CUDA_NVCC_FLAGS_DEBUG "-allow-unsupported-compiler" CACHE STRING "" FORCE)
|
||||
set(CUDA_NVCC_FLAGS_MINSIZEREL "-allow-unsupported-compiler" CACHE STRING "" FORCE)
|
||||
set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "-allow-unsupported-compiler" CACHE STRING "" FORCE)
|
||||
set(CUDA_NVCC_FLAGS_RELEASE "-allow-unsupported-compiler" CACHE STRING "" FORCE)
|
||||
@ -18,11 +18,11 @@ set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
|
||||
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
set(OpenMP_C "icx" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
|
||||
set(OpenMP_CXX "icpx" CACHE STRING "" FORCE)
|
||||
set(OpenMP_CXX_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
|
||||
set(OpenMP_CXX_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
|
||||
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
|
||||
set(OpenMP_Fortran_FLAGS "-qopenmp -qopenmp-simd" CACHE STRING "" FORCE)
|
||||
set(OpenMP_Fortran_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
|
||||
set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE)
|
||||
|
||||
|
||||
@ -36,10 +36,10 @@ requests.
|
||||
MUST be submitted as a pull request to GitHub. All changes to the
|
||||
"develop" branch must be made exclusively through merging pull requests.
|
||||
The "release" and "stable" branches, respectively, are only to be
|
||||
updated upon feature or stable releases based on the associated
|
||||
tags. Updates to the stable release in between stable releases
|
||||
updated upon "feature releases" or "stable releases" based on the
|
||||
associated tags. Updates to the stable release in between stable releases
|
||||
(for example, back-ported bug fixes) are first merged into the "maintenance"
|
||||
branch and then into the "stable" branch as update releases.
|
||||
branch and then into the "stable" branch as "stable update releases".
|
||||
|
||||
Pull requests may also be submitted to (long-running) feature branches
|
||||
created by LAMMPS developers inside the LAMMPS project, if needed. Those
|
||||
@ -131,7 +131,7 @@ testing -- that the code in the branch "develop" does not get easily
|
||||
broken. These tests are run after every update to a pull request. More
|
||||
extensive and time-consuming tests (including regression testing) are
|
||||
performed after code is merged to the "develop" branch. There are feature
|
||||
releases of LAMMPS made about every 4-6 weeks at a point, when the LAMMPS
|
||||
releases of LAMMPS made about every 4-8 weeks at a point, when the LAMMPS
|
||||
developers feel, that a sufficient number of changes have been included
|
||||
and all post-merge testing has been successful. These feature releases are
|
||||
marked with a `patch_<version date>` tag and the "release" branch
|
||||
|
||||
@ -16,8 +16,11 @@ clean:
|
||||
rm -f $(IMGSVG) $(IMGPDF) $(IMGPNG) *~
|
||||
|
||||
ifeq ($(HAS_DOT),YES)
|
||||
$(IMGDIR)/%.png: %.dot
|
||||
$(IMGDIR)/lammps-classes.png : lammps-classes.dot
|
||||
dot -Tpng -Kneato -o $@ $<
|
||||
|
||||
$(IMGDIR)/%.png: %.dot
|
||||
dot -Tpng -Kdot -o $@ $<
|
||||
endif
|
||||
|
||||
ifeq ($(HAS_DOT),NO)
|
||||
|
||||
34
doc/graphviz/lammps-releases.dot
Normal file
@ -0,0 +1,34 @@
|
||||
// LAMMPS branches and releases
|
||||
digraph releases {
|
||||
rankdir="LR";
|
||||
github [shape="box" label="Pull Requests\non GitHub" height=0.75];
|
||||
github -> develop [label="Merge commits"];
|
||||
{
|
||||
rank = "same";
|
||||
work [shape="none" label="Development branches:"]
|
||||
develop [label="'develop' branch" height=0.75];
|
||||
maintenance [label="'maintenance' branch" height=0.75];
|
||||
};
|
||||
{
|
||||
rank = "same";
|
||||
upload [shape="none" label="Release branches:"]
|
||||
release [label="'release' branch" height=0.75];
|
||||
stable [label="'stable' branch" height=0.75];
|
||||
};
|
||||
develop -> release [label="Feature release\n(every 4-8 weeks)"];
|
||||
release -> stable [label="Stable release\n(once per year)"];
|
||||
stable -> maintenance [label="Reset on stable release" style="setlinewidth(2)"];
|
||||
develop -> maintenance [label="Backports of bugfixes" style="dashed"];
|
||||
maintenance -> stable [label="Updates to stable release"];
|
||||
{
|
||||
rank = "same";
|
||||
tag [shape="none" label="Applied tags:"];
|
||||
patchtag [shape="box" label="patch_<date>"];
|
||||
stabletag [shape="box" label="stable_<date>"];
|
||||
updatetag [shape="box" label="stable_<date>_update<num>"];
|
||||
};
|
||||
release -> patchtag [label="feature release" style="dotted"];
|
||||
stable -> stabletag [label="stable release" style="dotted"];
|
||||
stable -> updatetag [label="update release" style="dotted"];
|
||||
}
|
||||
|
||||
@ -562,6 +562,9 @@ Bibliography
|
||||
**(Kumar)**
|
||||
Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008)
|
||||
|
||||
**(Lafourcade)**
|
||||
Lafourcade, Maillet, Denoual, Duval, Allera, Goryaeva, and Marinica, `Comp. Mat. Science, 230, 112534 (2023) <https://doi.org/10.1016/j.commatsci.2023.112534>`_
|
||||
|
||||
**(Lamoureux and Roux)**
|
||||
G.\ Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
|
||||
|
||||
|
||||
@ -255,16 +255,18 @@ A test run is then a a collection multiple individual test runs each
|
||||
with many comparisons to reference results based on template input
|
||||
files, individual command settings, relative error margins, and
|
||||
reference data stored in a YAML format file with ``.yaml``
|
||||
suffix. Currently the programs ``test_pair_style``, ``test_bond_style``, and
|
||||
``test_angle_style`` are implemented. They will compare forces, energies and
|
||||
(global) stress for all atoms after a ``run 0`` calculation and after a
|
||||
few steps of MD with :doc:`fix nve <fix_nve>`, each in multiple variants
|
||||
with different settings and also for multiple accelerated styles. If a
|
||||
prerequisite style or package is missing, the individual tests are
|
||||
skipped. All tests will be executed on a single MPI process, so using
|
||||
the CMake option ``-D BUILD_MPI=off`` can significantly speed up testing,
|
||||
since this will skip the MPI initialization for each test run.
|
||||
Below is an example command and output:
|
||||
suffix. Currently the programs ``test_pair_style``, ``test_bond_style``,
|
||||
``test_angle_style``, ``test_dihedral_style``, and
|
||||
``test_improper_style`` are implemented. They will compare forces,
|
||||
energies and (global) stress for all atoms after a ``run 0`` calculation
|
||||
and after a few steps of MD with :doc:`fix nve <fix_nve>`, each in
|
||||
multiple variants with different settings and also for multiple
|
||||
accelerated styles. If a prerequisite style or package is missing, the
|
||||
individual tests are skipped. All force style tests will be executed on
|
||||
a single MPI process, so using the CMake option ``-D BUILD_MPI=off`` can
|
||||
significantly speed up testing, since this will skip the MPI
|
||||
initialization for each test run. Below is an example command and
|
||||
output:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@ -416,15 +418,16 @@ When compiling LAMMPS with enabled tests, most test executables will
|
||||
need to be linked against the LAMMPS library. Since this can be a very
|
||||
large library with many C++ objects when many packages are enabled, link
|
||||
times can become very long on machines that use the GNU BFD linker (e.g.
|
||||
Linux systems). Alternatives like the ``lld`` linker of the LLVM project
|
||||
or the ``gold`` linker available with GNU binutils can speed up this step
|
||||
substantially. CMake will by default test if any of the two can be
|
||||
enabled and use it when ``ENABLE_TESTING`` is active. It can also be
|
||||
selected manually through the ``CMAKE_CUSTOM_LINKER`` CMake variable.
|
||||
Allowed values are ``lld``, ``gold``, ``bfd``, or ``default``. The
|
||||
``default`` option will use the system default linker otherwise, the
|
||||
linker is chosen explicitly. This option is only available for the
|
||||
GNU or Clang C++ compiler.
|
||||
Linux systems). Alternatives like the ``mold`` linker, the ``lld``
|
||||
linker of the LLVM project, or the ``gold`` linker available with GNU
|
||||
binutils can speed up this step substantially (in this order). CMake
|
||||
will by default test if any of the three can be enabled and use it when
|
||||
``ENABLE_TESTING`` is active. It can also be selected manually through
|
||||
the ``CMAKE_CUSTOM_LINKER`` CMake variable. Allowed values are
|
||||
``mold``, ``lld``, ``gold``, ``bfd``, or ``default``. The ``default``
|
||||
option will use the system default linker otherwise, the linker is
|
||||
chosen explicitly. This option is only available for the GNU or Clang
|
||||
C++ compilers.
|
||||
|
||||
Tests for other components and utility functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -518,6 +521,8 @@ The following options are available.
|
||||
make fix-errordocs # remove error docs in header files
|
||||
make check-permissions # search for files with permissions issues
|
||||
make fix-permissions # correct permissions issues in files
|
||||
make check-docs # search for several issues in the manual
|
||||
make check-version # list files with pending release version tags
|
||||
make check # run all check targets from above
|
||||
|
||||
These should help to make source and documentation files conforming
|
||||
|
||||
@ -44,6 +44,14 @@ require use of an FFT library to compute 1d FFTs. The KISS FFT
|
||||
library is included with LAMMPS, but other libraries can be faster.
|
||||
LAMMPS can use them if they are available on your system.
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
Alternatively, LAMMPS can use the `heFFTe
|
||||
<https://icl-utk-edu.github.io/heffte/>`_ library for the MPI
|
||||
communication algorithms, which comes with many optimizations for
|
||||
special cases, e.g. leveraging available 2D and 3D FFTs in the back end
|
||||
libraries and better pipelining for packing and communication.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: CMake build
|
||||
@ -53,6 +61,7 @@ LAMMPS can use them if they are available on your system.
|
||||
-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS
|
||||
-D FFT_SINGLE=value # yes or no (default), no = double precision
|
||||
-D FFT_PACK=value # array (default) or pointer or memcpy
|
||||
-D FFT_USE_HEFFTE=value # yes or no (default), yes links to heFFTe
|
||||
|
||||
.. note::
|
||||
|
||||
@ -76,6 +85,16 @@ LAMMPS can use them if they are available on your system.
|
||||
-D MKL_INCLUDE_DIR=path # ditto for Intel MKL library
|
||||
-D FFT_MKL_THREADS=on # enable using threaded FFTs with MKL libraries
|
||||
-D MKL_LIBRARY=path # path to MKL libraries
|
||||
-D FFT_HEFFTE_BACKEND=value # FFTW or MKL or empty/undefined for the stock heFFTe back end
|
||||
-D Heffte_ROOT=path # path to an existing heFFTe installation
|
||||
|
||||
.. note::
|
||||
|
||||
heFFTe comes with a builtin (= stock) back end for FFTs, i.e. a
|
||||
default internal FFT implementation; however, this stock back
|
||||
end is intended for testing purposes only and is not optimized
|
||||
for production runs.
|
||||
|
||||
|
||||
.. tab:: Traditional make
|
||||
|
||||
@ -111,6 +130,24 @@ LAMMPS can use them if they are available on your system.
|
||||
files in its default search path. You must specify ``FFT_LIB``
|
||||
with the appropriate FFT libraries to include in the link.
|
||||
|
||||
Traditional make can also link to heFFTe using an existing installation
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
include <path-to-heffte-installation>/share/heffte/HeffteMakefile.in
|
||||
FFT_INC = -DFFT_HEFFTE -DFFT_HEFFTE_FFTW $(heffte_include)
|
||||
FFT_PATH =
|
||||
FFT_LIB = $(heffte_link) $(heffte_libs)
|
||||
|
||||
The heFFTe install path will contain `HeffteMakefile.in`.
|
||||
which will define the `heffte_` include variables needed to link to heFFTe from
|
||||
an external project using traditional make.
|
||||
The `-DFFT_HEFFTE` is required to switch to using heFFTe, while the optional `-DFFT_HEFFTE_FFTW`
|
||||
selects the desired heFFTe back end, e.g., `-DFFT_HEFFTE_FFTW` or `-DFFT_HEFFTE_MKL`,
|
||||
omitting the variable will default to the `stock` back end.
|
||||
The heFFTe `stock` back end is intended to be used for testing and debugging,
|
||||
but is not performance optimized for large scale production runs.
|
||||
|
||||
The `KISS FFT library <https://github.com/mborgerding/kissfft>`_ is
|
||||
included in the LAMMPS distribution. It is portable across all
|
||||
platforms. Depending on the size of the FFTs and the number of
|
||||
@ -170,6 +207,16 @@ Depending on the machine, the size of the FFT grid, the number of
|
||||
processors used, one option may be slightly faster. The default is
|
||||
ARRAY mode.
|
||||
|
||||
When using ``-DFFT_HEFFTE`` CMake will first look for an existing
|
||||
install with hints provided by ``-DHeffte_ROOT``, as recommended by the
|
||||
CMake standard and note that the name is case sensitive. If CMake cannot
|
||||
find a heFFTe installation with the correct back end (e.g., FFTW or
|
||||
MKL), it will attempt to download and build the library automatically.
|
||||
In this case, LAMMPS CMake will also accept all heFFTe specific
|
||||
variables listed in the `heFFTe documentation
|
||||
<https://mkstoyanov.bitbucket.io/heffte/md_doxygen_installation.html>`_
|
||||
and those variables will be passed into the heFFTe build.
|
||||
|
||||
----------
|
||||
|
||||
.. _size:
|
||||
@ -463,8 +510,8 @@ Exception handling when using LAMMPS as a library
|
||||
|
||||
LAMMPS errors do not kill the calling code, but throw an exception. In
|
||||
the C-library interface, the call stack is unwound and control returns
|
||||
to the caller, e.g. to Python or a code that is coupled to LAMMPS and
|
||||
the error status can be queried. When using C++ directly, the calling
|
||||
to the caller, e.g. to Python or a code that is coupled to LAMMPS. The
|
||||
error status can then be queried. When using C++ directly, the calling
|
||||
code has to be set up to *catch* exceptions thrown from within LAMMPS.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -100,6 +100,7 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`nbond/atom <compute_nbond_atom>`
|
||||
* :doc:`omega/chunk <compute_omega_chunk>`
|
||||
* :doc:`orientorder/atom (k) <compute_orientorder_atom>`
|
||||
* :doc:`pace <compute_pace>`
|
||||
* :doc:`pair <compute_pair>`
|
||||
* :doc:`pair/local <compute_pair_local>`
|
||||
* :doc:`pe <compute_pe>`
|
||||
@ -117,11 +118,13 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`ptm/atom <compute_ptm_atom>`
|
||||
* :doc:`rattlers/atom <compute_rattlers_atom>`
|
||||
* :doc:`rdf <compute_rdf>`
|
||||
* :doc:`reaxff/atom (k) <compute_reaxff_atom>`
|
||||
* :doc:`reduce <compute_reduce>`
|
||||
* :doc:`reduce/chunk <compute_reduce_chunk>`
|
||||
* :doc:`reduce/region <compute_reduce>`
|
||||
* :doc:`rigid/local <compute_rigid_local>`
|
||||
* :doc:`saed <compute_saed>`
|
||||
* :doc:`slcsa/atom <compute_slcsa_atom>`
|
||||
* :doc:`slice <compute_slice>`
|
||||
* :doc:`smd/contact/radius <compute_smd_contact_radius>`
|
||||
* :doc:`smd/damage <compute_smd_damage>`
|
||||
|
||||
@ -239,10 +239,10 @@ OPT.
|
||||
* :doc:`store/force <fix_store_force>`
|
||||
* :doc:`store/state <fix_store_state>`
|
||||
* :doc:`tdpd/source <fix_dpd_source>`
|
||||
* :doc:`temp/berendsen <fix_temp_berendsen>`
|
||||
* :doc:`temp/berendsen (k) <fix_temp_berendsen>`
|
||||
* :doc:`temp/csld <fix_temp_csvr>`
|
||||
* :doc:`temp/csvr <fix_temp_csvr>`
|
||||
* :doc:`temp/rescale <fix_temp_rescale>`
|
||||
* :doc:`temp/rescale (k) <fix_temp_rescale>`
|
||||
* :doc:`temp/rescale/eff <fix_temp_rescale_eff>`
|
||||
* :doc:`tfmc <fix_tfmc>`
|
||||
* :doc:`tgnpt/drude <fix_tgnh_drude>`
|
||||
|
||||
@ -87,7 +87,7 @@ OPT.
|
||||
* :doc:`coul/long/soft (o) <pair_fep_soft>`
|
||||
* :doc:`coul/msm (o) <pair_coul>`
|
||||
* :doc:`coul/slater/cut <pair_coul_slater>`
|
||||
* :doc:`coul/slater/long <pair_coul_slater>`
|
||||
* :doc:`coul/slater/long (g) <pair_coul_slater>`
|
||||
* :doc:`coul/shield <pair_coul_shield>`
|
||||
* :doc:`coul/streitz <pair_coul>`
|
||||
* :doc:`coul/tt <pair_coul_tt>`
|
||||
@ -110,7 +110,7 @@ OPT.
|
||||
* :doc:`eam/he <pair_eam>`
|
||||
* :doc:`edip (o) <pair_edip>`
|
||||
* :doc:`edip/multi <pair_edip>`
|
||||
* :doc:`edpd <pair_mesodpd>`
|
||||
* :doc:`edpd (g) <pair_mesodpd>`
|
||||
* :doc:`eff/cut <pair_eff>`
|
||||
* :doc:`eim (o) <pair_eim>`
|
||||
* :doc:`exp6/rx (k) <pair_exp6_rx>`
|
||||
@ -158,14 +158,14 @@ OPT.
|
||||
* :doc:`lj/cut (gikot) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/cut (gko) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/cut/dielectric (o) <pair_dielectric>`
|
||||
* :doc:`lj/cut/coul/cut/soft (o) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/coul/cut/soft (go) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/coul/debye (gko) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/debye/dielectric (o) <pair_dielectric>`
|
||||
* :doc:`lj/cut/coul/dsf (gko) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/long (gikot) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/long/cs <pair_cs>`
|
||||
* :doc:`lj/cut/coul/long/dielectric (o) <pair_dielectric>`
|
||||
* :doc:`lj/cut/coul/long/soft (o) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/coul/long/soft (go) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/coul/msm (go) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/msm/dielectric <pair_dielectric>`
|
||||
* :doc:`lj/cut/coul/wolf (o) <pair_lj_cut_coul>`
|
||||
@ -202,7 +202,7 @@ OPT.
|
||||
* :doc:`lubricate/poly (o) <pair_lubricate>`
|
||||
* :doc:`lubricateU <pair_lubricateU>`
|
||||
* :doc:`lubricateU/poly <pair_lubricateU>`
|
||||
* :doc:`mdpd <pair_mesodpd>`
|
||||
* :doc:`mdpd (g) <pair_mesodpd>`
|
||||
* :doc:`mdpd/rhosum <pair_mesodpd>`
|
||||
* :doc:`meam (k) <pair_meam>`
|
||||
* :doc:`meam/ms (k) <pair_meam>`
|
||||
@ -268,11 +268,11 @@ OPT.
|
||||
* :doc:`smtbq <pair_smtbq>`
|
||||
* :doc:`snap (ik) <pair_snap>`
|
||||
* :doc:`soft (go) <pair_soft>`
|
||||
* :doc:`sph/heatconduction <pair_sph_heatconduction>`
|
||||
* :doc:`sph/heatconduction (g) <pair_sph_heatconduction>`
|
||||
* :doc:`sph/idealgas <pair_sph_idealgas>`
|
||||
* :doc:`sph/lj <pair_sph_lj>`
|
||||
* :doc:`sph/lj (g) <pair_sph_lj>`
|
||||
* :doc:`sph/rhosum <pair_sph_rhosum>`
|
||||
* :doc:`sph/taitwater <pair_sph_taitwater>`
|
||||
* :doc:`sph/taitwater (g) <pair_sph_taitwater>`
|
||||
* :doc:`sph/taitwater/morris <pair_sph_taitwater_morris>`
|
||||
* :doc:`spin/dipole/cut <pair_spin_dipole>`
|
||||
* :doc:`spin/dipole/long <pair_spin_dipole>`
|
||||
|
||||
@ -70,6 +70,9 @@ File and path functions and global constants
|
||||
.. doxygenfunction:: is_console
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: disk_free
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: path_is_directory
|
||||
:project: progguide
|
||||
|
||||
|
||||
@ -121,7 +121,7 @@ will be suppressed and only a summary printed, but adding
|
||||
the '-V' option will then produce output from the tests
|
||||
above like the following:
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: console
|
||||
|
||||
[...]
|
||||
1: [ RUN ] Tokenizer.empty_string
|
||||
@ -274,9 +274,7 @@ Tests for using the Fortran module are in the ``unittest/fortran``
|
||||
folder. Since they are also using the GoogleTest library, they require
|
||||
to also implement test wrappers in C++ that will call fortran functions
|
||||
which provide a C function interface through ISO_C_BINDINGS that will in
|
||||
turn call the functions in the LAMMPS Fortran module. This part of the
|
||||
unit tests is incomplete since the Fortran module it is based on is
|
||||
incomplete as well.
|
||||
turn call the functions in the LAMMPS Fortran module.
|
||||
|
||||
Tests for the C++-style library interface
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -397,10 +395,10 @@ compare with the reference and also start from the data file. A final
|
||||
check will use multi-cutoff r-RESPA (if supported by the pair style) at
|
||||
a 1:1 split and compare to the Verlet results. These sets of tests are
|
||||
run with multiple test fixtures for accelerated styles (OPT, OPENMP,
|
||||
INTEL) and for the latter two with 4 OpenMP threads enabled. For
|
||||
these tests the relative error (epsilon) is lowered by a common factor
|
||||
due to the additional numerical noise, but the tests are still comparing
|
||||
to the same reference data.
|
||||
INTEL, KOKKOS (OpenMP only)) and for the latter three with 4 OpenMP
|
||||
threads enabled. For these tests the relative error (epsilon) is lowered
|
||||
by a common factor due to the additional numerical noise, but the tests
|
||||
are still comparing to the same reference data.
|
||||
|
||||
Additional tests will check whether all listed extract keywords are
|
||||
supported and have the correct dimensionality and the final set of tests
|
||||
@ -434,17 +432,19 @@ The ``test_pair_style`` tester is used with 4 categories of test inputs:
|
||||
pair style is defined, but the computation of the pair style contributions
|
||||
is disabled.
|
||||
|
||||
The ``test_bond_style`` and ``test_angle_style`` are set up in a similar
|
||||
fashion and share support functions with the pair style tester. The final
|
||||
group of tests in this section is for fix styles that add/manipulate forces
|
||||
and velocities, e.g. for time integration, thermostats and more.
|
||||
The ``test_bond_style``, ``test_angle_style``, ``test_dihedral_style``, and
|
||||
``test_improper_style`` tester programs are set up in a similar fashion and
|
||||
share support functions with the pair style tester. The final group of
|
||||
tests in this section is for fix styles that add/manipulate forces and
|
||||
velocities, e.g. for time integration, thermostats and more.
|
||||
|
||||
Adding a new test is easiest done by copying and modifying an existing test
|
||||
for a style that is similar to one to be tested. The file name should follow
|
||||
the naming conventions described above and after copying the file, the first
|
||||
step is to replace the style names where needed. The coefficient values
|
||||
do not have to be meaningful, just in a reasonable range for the given system.
|
||||
It does not matter if some forces are large, for as long as they do not diverge.
|
||||
Adding a new test is easiest done by copying and modifying an existing YAML
|
||||
file for a style that is similar to one to be tested. The file name should
|
||||
follow the naming conventions described above and after copying the file,
|
||||
the first step is to replace the style names where needed. The coefficient
|
||||
values do not have to be meaningful, just in a reasonable range for the
|
||||
given system. It does not matter if some forces are large, for as long as
|
||||
they do not diverge.
|
||||
|
||||
The template input files define a large number of index variables at the top
|
||||
that can be modified inside the YAML file to control the behavior. For example,
|
||||
@ -526,3 +526,102 @@ The ``unittest/tools`` folder contains tests for programs in the
|
||||
shell, which are implemented as a python scripts using the ``unittest``
|
||||
Python module and launching the tool commands through the ``subprocess``
|
||||
Python module.
|
||||
|
||||
|
||||
Troubleshooting failed unit tests
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The are by default no unit tests for newly added features (e.g. pair, fix,
|
||||
or compute styles) unless your pull request also includes tests for the
|
||||
added features. If you are modifying some features, you may see failures
|
||||
for existing tests, if your modifications have some unexpected side effects
|
||||
or your changes render the existing text invalid. If you are adding an
|
||||
accelerated version of an existing style, then only tests for INTEL,
|
||||
KOKKOS (with OpenMP only), OPENMP, and OPT will be run automatically.
|
||||
Tests for the GPU package are time consuming and thus are only run
|
||||
*after* a merge, or when a special label, ``gpu_unit_tests`` is added
|
||||
to the pull request. After the test has started, it is often best to
|
||||
remove the label since every PR activity will re-trigger the test (that
|
||||
is a limitation of triggering a test with a label). Support for unit
|
||||
tests with using KOKKOS with GPU acceleration is currently not supported.
|
||||
|
||||
When you see a failed build on GitHub, click on ``Details`` to be taken
|
||||
to the corresponding LAMMPS Jenkins CI web page. Click on the "Exit"
|
||||
symbol near the ``Logout`` button on the top right of that page to go to
|
||||
the "classic view". In the classic view, there is a list of the
|
||||
individual runs that make up this test run (they are shown but cannot be
|
||||
inspected in the default view). You can click on any of those.
|
||||
Clicking on ``Test Result`` will display the list of failed tests. Click
|
||||
on the "Status" column to sort the tests based on their Failed or Passed
|
||||
status. Then click on the failed test to expand its output.
|
||||
|
||||
For example, the following output snippet shows the failed unit test
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[ RUN ] PairStyle.gpu
|
||||
/home/builder/workspace/dev/pull_requests/ubuntu_gpu/unit_tests/cmake_gpu_opencl_mixed_smallbig_clang_static/unittest/force-styles/test_main.cpp:63: Failure
|
||||
Expected: (err) <= (epsilon)
|
||||
Actual: 0.00018957912910606503 vs 0.0001
|
||||
Google Test trace:
|
||||
/home/builder/workspace/dev/pull_requests/ubuntu_gpu/unit_tests/cmake_gpu_opencl_mixed_smallbig_clang_static/unittest/force-styles/test_main.cpp:56: EXPECT_FORCES: init_forces (newton off)
|
||||
/home/builder/workspace/dev/pull_requests/ubuntu_gpu/unit_tests/cmake_gpu_opencl_mixed_smallbig_clang_static/unittest/force-styles/test_main.cpp:64: Failure
|
||||
Expected: (err) <= (epsilon)
|
||||
Actual: 0.00022892713393549854 vs 0.0001
|
||||
|
||||
The failed assertions provide line numbers in the test source
|
||||
(e.g. ``test_main.cpp:56``), from which one can understand what
|
||||
specific assertion failed.
|
||||
|
||||
Note that the force style engine runs one of a small number of systems
|
||||
in a rather off-equilibrium configuration with a few atoms for a few
|
||||
steps, writes data and restart files, uses :doc:`the clear command
|
||||
<clear>` to reset LAMMPS, and then runs from those files with different
|
||||
settings (e.g. newton on/off) and integrators (e.g. verlet vs. respa).
|
||||
Beyond potential issues/bugs in the source code, the mismatch between
|
||||
the expected and actual values could be that force arrays are not
|
||||
properly cleared between multiple run commands or that class members are
|
||||
not correctly initialized or written to or read from a data or restart
|
||||
file.
|
||||
|
||||
While the epsilon (relative precision) for a single, `IEEE 754 compliant
|
||||
<https://en.wikipedia.org/wiki/IEEE_754>`_, double precision floating
|
||||
point operation is at about 2.2e-16, the achievable precision for the
|
||||
tests is lower due to most numbers being sums over intermediate results
|
||||
and the non-associativity of floating point math leading to larger
|
||||
errors. In some cases specific properties of the tested style. As a
|
||||
rule of thumb, the test epsilon can often be in the range 5.0e-14 to
|
||||
1.0e-13. But for "noisy" force kernels, e.g. those a larger amount of
|
||||
arithmetic operations involving `exp()`, `log()` or `sin()` functions,
|
||||
and also due to the effect of compiler optimization or differences
|
||||
between compilers or platforms, epsilon may need to be further relaxed,
|
||||
sometimes epsilon can be relaxed to 1.0e-12. If interpolation or lookup
|
||||
tables are used, epsilon may need to be set to 1.0e-10 or even higher.
|
||||
For tests of accelerated styles, the per-test epsilon is multiplied
|
||||
by empirical factors that take into account the differences in the order
|
||||
of floating point operations or that some or most intermediate operations
|
||||
may be done using approximations or with single precision floating point
|
||||
math.
|
||||
|
||||
To rerun the failed unit test individually, change to the ``build`` directory
|
||||
and run the test with verbose output. For example,
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
env TEST_ARGS=-v ctest -R ^MolPairStyle:lj_cut_coul_long -V
|
||||
|
||||
``ctest`` with the ``-V`` flag also shows the exact command line
|
||||
of the test. One can then use ``gdb --args`` to further debug and
|
||||
catch exceptions with the test command, for example,
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
gdb --args /path/to/lammps/build/test_pair_style /path/to/lammps/unittest/force-styles/tests/mol-pair-lj_cut_coul_long.yaml
|
||||
|
||||
|
||||
It is recommended to configure the build with ``-D
|
||||
BUILD_SHARED_LIBS=on`` and use a custom linker to shorten the build time
|
||||
during recompilation. Installing `ccache` in your development
|
||||
environment helps speed up recompilation by caching previous
|
||||
compilations and detecting when the same compilation is being done
|
||||
again. Please see :doc:`Build_development` for further details.
|
||||
|
||||
@ -480,11 +480,11 @@ Some recent changes to the workflow are not captured in this tutorial.
|
||||
For example, in addition to the *develop* branch, to which all new
|
||||
features should be submitted, there is also a *release*, a *stable*, and
|
||||
a *maintenance* branch; the *release* branch is updated from the
|
||||
*develop* as part of a feature release, and *stable* (together with
|
||||
*release*) are updated from *develop* when a stable release is made. In
|
||||
between stable releases, selected bug fixes and infrastructure updates
|
||||
are back-ported from the *develop* branch to the *maintenance* branch
|
||||
and occasionally merged to *stable* as an update release.
|
||||
*develop* branch as part of a "feature release", and *stable* (together
|
||||
with *release*) are updated from *develop* when a "stable release" is
|
||||
made. In between stable releases, selected bug fixes and infrastructure
|
||||
updates are back-ported from the *develop* branch to the *maintenance*
|
||||
branch and occasionally merged to *stable* as an update release.
|
||||
|
||||
Furthermore, the naming of the release tags now follow the pattern
|
||||
"patch_<Day><Month><Year>" to simplify comparisons between releases.
|
||||
|
||||
@ -193,11 +193,14 @@ file changed):
|
||||
write_data tip4p-implicit.data nocoeff
|
||||
|
||||
Below is the code for a LAMMPS input file using the explicit method and
|
||||
a TIP4P molecule file. Because of using :doc:`fix rigid/nvt/small
|
||||
a TIP4P molecule file. Because of using :doc:`fix rigid/small
|
||||
<fix_rigid>` no bonds need to be defined and thus no extra storage needs
|
||||
to be reserved for them, but we need to switch to atom style full or use
|
||||
:doc:`fix property/atom mol <fix_property_atom>` so that fix
|
||||
rigid/nvt/small can identify rigid bodies by their molecule ID:
|
||||
to be reserved for them, but we need to either switch to atom style full
|
||||
or use :doc:`fix property/atom mol <fix_property_atom>` so that fix
|
||||
rigid/small can identify rigid bodies by their molecule ID. Also a
|
||||
:doc:`neigh_modify exclude <neigh_modify>` command is added to exclude
|
||||
computing intramolecular non-bonded interactions, since those are
|
||||
removed by the rigid fix anyway:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
@ -216,17 +219,17 @@ rigid/nvt/small can identify rigid bodies by their molecule ID:
|
||||
pair_coeff 2 2 0.0 1.0
|
||||
pair_coeff 3 3 0.0 1.0
|
||||
|
||||
fix mol all property/atom mol
|
||||
fix mol all property/atom mol ghost yes
|
||||
molecule water tip4p.mol
|
||||
create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33
|
||||
neigh_modify exclude molecule/intra all
|
||||
|
||||
timestep 0.5
|
||||
fix integrate all rigid/nvt/small molecule temp 300.0 300.0 100.0
|
||||
velocity all create 300.0 5463576
|
||||
fix integrate all rigid/small molecule langevin 300.0 300.0 100.0 2345634
|
||||
|
||||
thermo_style custom step temp press etotal density pe ke
|
||||
thermo 1000
|
||||
run 20000
|
||||
thermo 2000
|
||||
run 40000
|
||||
write_data tip4p-explicit.data nocoeff
|
||||
|
||||
.. _tip4p_molecule:
|
||||
|
||||
@ -81,11 +81,13 @@ long-range Coulombic solver (e.g. Ewald or PPPM in LAMMPS).
|
||||
|
||||
Below is the code for a LAMMPS input file for setting up a simulation of
|
||||
TIP5P water with a molecule file. Because of using :doc:`fix
|
||||
rigid/nvt/small <fix_rigid>` no bonds need to be defined and thus no
|
||||
extra storage needs to be reserved for them, but we need to switch to
|
||||
rigid/small <fix_rigid>` no bonds need to be defined and thus no extra
|
||||
storage needs to be reserved for them, but we need to either switch to
|
||||
atom style full or use :doc:`fix property/atom mol <fix_property_atom>`
|
||||
so that fix rigid/nvt/small can identify rigid bodies by their molecule
|
||||
ID:
|
||||
so that fix rigid/small can identify rigid bodies by their molecule ID.
|
||||
Also a :doc:`neigh_modify exclude <neigh_modify>` command is added to
|
||||
exclude computing intramolecular non-bonded interactions, since those
|
||||
are removed by the rigid fix anyway:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
@ -107,11 +109,11 @@ ID:
|
||||
fix mol all property/atom mol
|
||||
molecule water tip5p.mol
|
||||
create_atoms 0 random 33 34564 NULL mol water 25367 overlap 1.33
|
||||
neigh_modify exclude molecule/intra all
|
||||
|
||||
timestep 0.5
|
||||
fix integrate all rigid/nvt/small molecule temp 300.0 300.0 100.0
|
||||
fix integrate all rigid/small molecule langevin 300.0 300.0 50.0 235664
|
||||
reset_timestep 0
|
||||
velocity all create 300.0 5463576
|
||||
|
||||
thermo_style custom step temp press etotal density pe ke
|
||||
thermo 1000
|
||||
|
||||
@ -28,16 +28,16 @@ provides `limited support for subversion clients <svn_>`_.
|
||||
|
||||
You can follow the LAMMPS development on 4 different git branches:
|
||||
|
||||
* **release** : this branch is updated with every patch or feature release;
|
||||
* **develop** : this branch follows the ongoing development and is
|
||||
updated with every merge commit of a pull request
|
||||
* **release** : this branch is updated with every "feature release";
|
||||
updates are always "fast-forward" merges from *develop*
|
||||
* **develop** : this branch follows the ongoing development and
|
||||
is updated with every merge commit of a pull request
|
||||
* **stable** : this branch is updated from the *release* branch with
|
||||
every stable release version and also has selected bug fixes with every
|
||||
update release when the *maintenance* branch is merged into it
|
||||
* **maintenance** : this branch collects back-ported bug fixes from the
|
||||
*develop* branch to the *stable* branch. It is used to update *stable*
|
||||
for update releases and it synchronized with *stable* at each stable release.
|
||||
*develop* branch to the *stable* branch. It is used to update the
|
||||
*stable* branch for "stable update releases".
|
||||
* **stable** : this branch is updated from the *release* branch with
|
||||
every "stable release" version and also has selected bug fixes with
|
||||
every "update release" when the *maintenance* branch is merged into it
|
||||
|
||||
To access the git repositories on your box, use the clone command to
|
||||
create a local copy of the LAMMPS repository with a command like:
|
||||
|
||||
|
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 304 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 38 KiB |
BIN
doc/src/JPG/lammps-releases.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@ -3,45 +3,25 @@ What does a LAMMPS version mean
|
||||
|
||||
The LAMMPS "version" is the date when it was released, such as 1 May
|
||||
2014. LAMMPS is updated continuously, and we aim to keep it working
|
||||
correctly and reliably at all times. You can follow its development
|
||||
in a public `git repository on GitHub <https://github.com/lammps/lammps>`_.
|
||||
|
||||
Modifications of the LAMMPS source code (like bug fixes, code refactors,
|
||||
updates to existing features, or addition of new features) are organized
|
||||
into pull requests. Pull requests will be merged into the *develop*
|
||||
branch of the git repository after they pass automated testing and code
|
||||
review by the LAMMPS developers. When a sufficient number of changes
|
||||
have accumulated *and* the *develop* branch version passes an extended
|
||||
set of automated tests, we release it as a *feature release*, which are
|
||||
currently made every 4 to 8 weeks. The *release* branch of the git
|
||||
repository is updated with every such release. A summary of the most
|
||||
important changes of the patch releases are on `this website page
|
||||
<https://www.lammps.org/bug.html>`_. More detailed release notes are
|
||||
`available on GitHub <https://github.com/lammps/lammps/releases/>`_.
|
||||
|
||||
Once or twice a year, we have a "stabilization period" where we apply
|
||||
only bug fixes and small, non-intrusive changes to the *develop*
|
||||
branch. At the same time, the code is subjected to more detailed and
|
||||
thorough manual testing than the default automated testing. Also,
|
||||
several variants of static code analysis are run to improve the overall
|
||||
code quality, consistency, and compliance with programming standards,
|
||||
best practices and style conventions.
|
||||
|
||||
The release after such a stabilization period is called a *stable*
|
||||
version and both, the *release* and the *stable* branches are updated
|
||||
with it. Between stable releases, we collect back-ported bug fixes and
|
||||
updates from the *develop* branch in the *maintenance* branch. From the
|
||||
*maintenance* branch we make occasional update releases and update the
|
||||
*stable* branch accordingly.
|
||||
correctly and reliably at all times. Also, several variants of static
|
||||
code analysis are run regularly to maintain or improve the overall code
|
||||
quality, consistency, and compliance with programming standards, best
|
||||
practices and style conventions. You can follow its development in a
|
||||
public `git repository on GitHub <https://github.com/lammps/lammps>`_.
|
||||
|
||||
Each version of LAMMPS contains all the documented *features* up to and
|
||||
including its version date. For recently added features, we add markers
|
||||
to the documentation at which specific LAMMPS version a feature or
|
||||
keyword was added or significantly changed.
|
||||
|
||||
The version date is printed to the screen and log file every time you run
|
||||
LAMMPS. It is also in the file src/version.h and in the LAMMPS
|
||||
directory name created when you unpack a tarball. And it is on the
|
||||
Identifying the Version
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The version date is printed to the screen and log file every time you
|
||||
run LAMMPS. There also is an indication, if a LAMMPS binary was
|
||||
compiled from version with modifications **after** a release.
|
||||
It is also visible in the file src/version.h and in the LAMMPS directory
|
||||
name created when you unpack a downloaded tarball. And it is on the
|
||||
first page of the :doc:`manual <Manual>`.
|
||||
|
||||
* If you browse the HTML pages of the online version of the LAMMPS
|
||||
@ -53,3 +33,56 @@ first page of the :doc:`manual <Manual>`.
|
||||
* If you browse the HTML pages included in your downloaded tarball, they
|
||||
describe the version you have, which may be older than the online
|
||||
version.
|
||||
|
||||
LAMMPS releases, branches, and tags
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: JPG/lammps-releases.png
|
||||
:figclass: align-center
|
||||
|
||||
Relations between releases, main branches, and tags in the LAMMPS git repository
|
||||
|
||||
Development
|
||||
"""""""""""
|
||||
|
||||
Modifications of the LAMMPS source code (like bug fixes, code
|
||||
refactoring, updates to existing features, or addition of new features)
|
||||
are organized into pull requests. Pull requests will be merged into the
|
||||
*develop* branch of the git repository after they pass automated testing
|
||||
and code review by the LAMMPS developers.
|
||||
|
||||
Feature Releases
|
||||
""""""""""""""""
|
||||
|
||||
When a sufficient number of new features and updates have accumulated
|
||||
*and* the LAMMPS version on the *develop* branch passes an extended set
|
||||
of automated tests, we release it as a *feature release*, which are
|
||||
currently made every 4 to 8 weeks. The *release* branch of the git
|
||||
repository is updated with every such *feature release* and a tag in the
|
||||
format ``patch_1May2014`` is added. A summary of the most important
|
||||
changes of these releases for the current year are posted on `this
|
||||
website page <https://www.lammps.org/bug.html>`_. More detailed release
|
||||
notes are `available on GitHub
|
||||
<https://github.com/lammps/lammps/releases/>`_.
|
||||
|
||||
Stable Releases
|
||||
"""""""""""""""
|
||||
|
||||
About once a year, we release a *stable release* version of LAMMPS.
|
||||
This is done after a "stabilization period" where we apply only bug
|
||||
fixes and small, non-intrusive changes to the *develop* branch but no
|
||||
new features. At the same time, the code is subjected to more detailed
|
||||
and thorough manual testing than the default automated testing.
|
||||
After such a *stable release*, both the *release* and the *stable*
|
||||
branches are updated and two tags are applied, a ``patch_1May2014`` format
|
||||
and a ``stable_1May2014`` format tag.
|
||||
|
||||
Stable Release Updates
|
||||
""""""""""""""""""""""
|
||||
|
||||
Between *stable releases*, we collect bug fixes and updates back-ported
|
||||
from the *develop* branch in a branch called *maintenance*. From the
|
||||
*maintenance* branch we make occasional *stable update releases* and
|
||||
update the *stable* branch accordingly. The first update to the
|
||||
``stable_1May2014`` release would be tagged as
|
||||
``stable_1May2014_update1``. These updates contain no new features.
|
||||
|
||||
@ -2226,7 +2226,7 @@ and third order tensor from finite differences.
|
||||
|
||||
**Install:**
|
||||
|
||||
The PHONON package requires that also the :ref:`KSPACE <PKG-KSPACE>`
|
||||
The fix phonon command also requires that the :ref:`KSPACE <PKG-KSPACE>`
|
||||
package is installed.
|
||||
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
Handling LAMMPS errors
|
||||
**********************
|
||||
|
||||
The shared library is compiled with :ref:`C++ exception support
|
||||
<exceptions>` to provide a better error handling experience. C++
|
||||
exceptions allow capturing errors on the C++ side and rethrowing them on
|
||||
the Python side. This way LAMMPS errors can be handled through the
|
||||
Python exception handling mechanism.
|
||||
LAMMPS and the LAMMPS library are compiled with :ref:`C++ exception support
|
||||
<exceptions>` to provide a better error handling experience. LAMMPS errors
|
||||
trigger throwing a C++ exception. These exceptions allow capturing errors on
|
||||
the C++ side and rethrowing them on the Python side. This way LAMMPS errors
|
||||
can be handled through the Python exception handling mechanism.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
||||
@ -49,14 +49,17 @@ simulation. An example set of statistics is shown here:
|
||||
----------
|
||||
|
||||
The first section provides a global loop timing summary. The *loop time*
|
||||
is the total wall-clock time for the simulation to run. The
|
||||
*Performance* line is provided for convenience to help predict how long
|
||||
it will take to run a desired physical simulation and to have numbers
|
||||
useful for performance comparison between different simulation settings
|
||||
or system sizes. The *CPU use* line provides the CPU utilization per
|
||||
MPI task; it should be close to 100% times the number of OpenMP threads
|
||||
(or 1 of not using OpenMP). Lower numbers correspond to delays due to
|
||||
file I/O or insufficient thread utilization.
|
||||
is the total wall-clock time for the MD steps of the simulation run,
|
||||
excluding the time for initialization and setup (i.e. the parts that may
|
||||
be skipped with :doc:`run N pre no <run>`). The *Performance* line is
|
||||
provided for convenience to help predict how long it will take to run a
|
||||
desired physical simulation and to have numbers useful for performance
|
||||
comparison between different simulation settings or system sizes. The
|
||||
*CPU use* line provides the CPU utilization per MPI task; it should be
|
||||
close to 100% times the number of OpenMP threads (or 1 if not using
|
||||
OpenMP). Lower numbers correspond to delays due to file I/O or
|
||||
insufficient thread utilization from parts of the code that have not
|
||||
been multi-threaded.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -264,6 +264,7 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
||||
* :doc:`nbond/atom <compute_nbond_atom>` - calculates number of bonds per atom
|
||||
* :doc:`omega/chunk <compute_omega_chunk>` - angular velocity for each chunk
|
||||
* :doc:`orientorder/atom <compute_orientorder_atom>` - Steinhardt bond orientational order parameters Ql
|
||||
* :doc:`pace <compute_pace>` - atomic cluster expansion descriptors and related quantities
|
||||
* :doc:`pair <compute_pair>` - values computed by a pair style
|
||||
* :doc:`pair/local <compute_pair_local>` - distance/energy/force of each pairwise interaction
|
||||
* :doc:`pe <compute_pe>` - potential energy
|
||||
@ -281,11 +282,13 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
||||
* :doc:`ptm/atom <compute_ptm_atom>` - determines the local lattice structure based on the Polyhedral Template Matching method
|
||||
* :doc:`rattlers/atom <compute_rattlers_atom>` - identify under-coordinated rattler atoms
|
||||
* :doc:`rdf <compute_rdf>` - radial distribution function :math:`g(r)` histogram of group of atoms
|
||||
* :doc:`reaxff/atom <compute_reaxff_atom>` - extract ReaxFF bond information
|
||||
* :doc:`reduce <compute_reduce>` - combine per-atom quantities into a single global value
|
||||
* :doc:`reduce/chunk <compute_reduce_chunk>` - reduce per-atom quantities within each chunk
|
||||
* :doc:`reduce/region <compute_reduce>` - same as compute reduce, within a region
|
||||
* :doc:`rigid/local <compute_rigid_local>` - extract rigid body attributes
|
||||
* :doc:`saed <compute_saed>` - electron diffraction intensity on a mesh of reciprocal lattice nodes
|
||||
* :doc:`slcsa/atom <compute_slcsa_atom>` - perform Supervised Learning Crystal Structure Analysis (SL-CSA)
|
||||
* :doc:`slice <compute_slice>` - extract values from global vector or array
|
||||
* :doc:`smd/contact/radius <compute_smd_contact_radius>` - contact radius for Smooth Mach Dynamics
|
||||
* :doc:`smd/damage <compute_smd_damage>` - damage status of SPH particles in Smooth Mach Dynamics
|
||||
|
||||
253
doc/src/compute_pace.rst
Normal file
@ -0,0 +1,253 @@
|
||||
.. index:: compute pace
|
||||
|
||||
compute pace command
|
||||
========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute ID group-ID pace ace_potential_filename ... keyword values ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* pace = style name of this compute command
|
||||
* ace_potential_filename = file name (in the .yace or .ace format from :doc:`pace pair_style <pair_pace>`) including ACE hyper-parameters, bonds, and generalized coupling coefficients
|
||||
* keyword = *bikflag* or *dgradflag*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*bikflag* value = *0* or *1*
|
||||
*0* = descriptors are summed over atoms of each type
|
||||
*1* = descriptors are listed separately for each atom
|
||||
*dgradflag* value = *0* or *1*
|
||||
*0* = descriptor gradients are summed over atoms of each type
|
||||
*1* = descriptor gradients are listed separately for each atom pair
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute pace all pace coupling_coefficients.yace
|
||||
compute pace all pace coupling_coefficients.yace 0 1
|
||||
compute pace all pace coupling_coefficients.yace 1 1
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
This compute calculates a set of quantities related to the atomic
|
||||
cluster expansion (ACE) descriptors of the atoms in a group. ACE
|
||||
descriptors are highly general atomic descriptors, encoding the radial
|
||||
and angular distribution of neighbor atoms, up to arbitrary bond order
|
||||
(rank). The detailed mathematical definition is given in the paper by
|
||||
:ref:`(Drautz) <Drautz19>`. These descriptors are used in the
|
||||
:doc:`pace pair_style <pair_pace>`. Quantities obtained from `compute
|
||||
pace` are related to those used in :doc:`pace pair_style <pair_pace>` to
|
||||
evaluate atomic energies, forces, and stresses for linear ACE models.
|
||||
|
||||
For example, the energy for a linear ACE model is calculated as:
|
||||
:math:`E=\sum_i^{N\_atoms} \sum_{\boldsymbol{\nu}} c_{\boldsymbol{\nu}}
|
||||
B_{i,\boldsymbol{\boldsymbol{\nu}}}`. The ACE descriptors for atom `i`
|
||||
:math:`B_{i,\boldsymbol{\nu}}`, and :math:`c_{\nu}` are linear model
|
||||
parameters. The detailed definition and indexing convention for ACE
|
||||
descriptors is given in :ref:`(Drautz) <Drautz19>`. In short, body
|
||||
order :math:`N`, angular character, radial character, and chemical
|
||||
elements in the *N-body* descriptor are encoded by :math:`\nu`. In the
|
||||
:doc:`pace pair_style <pair_pace>`, the linear model parameters and the
|
||||
ACE descriptors are combined for efficient evaluation of energies and
|
||||
forces. The details and benefits of this efficient implementation are
|
||||
given in :ref:`(Lysogorskiy) <Lysogorskiy21>`, but the combined
|
||||
descriptors and linear model parameters for the purposes of `compute
|
||||
pace` may be expressed in terms of the ACE descriptors mentioned above.
|
||||
|
||||
:math:`c_{\boldsymbol{\nu}} B_{i,\boldsymbol{\nu}}= \sum_{\boldsymbol{\nu}' \in \boldsymbol{\nu} } \big[ c_{\boldsymbol{\nu}} C(\boldsymbol{\nu}') \big] A_{i,\boldsymbol{\nu}'}`
|
||||
|
||||
where the bracketed terms on the right-hand side are the combined functions
|
||||
with linear model parameters typically provided in the `<name>.yace` potential
|
||||
file for `pace pair_style`. When these bracketed terms are multiplied by the
|
||||
products of the atomic base from :ref:`(Drautz) <Drautz19>`,
|
||||
:math:`A_{i,\boldsymbol{\nu'}}`, the ACE descriptors are recovered but they
|
||||
are also scaled by linear model parameters. The generalized coupling coefficients,
|
||||
written in short-hand here as :math:`C(\boldsymbol{\nu}')`, are the generalized
|
||||
Clebsch-Gordan or generalized Wigner symbols. It may be desirable to reverse the
|
||||
combination of these descriptors and the linear model parameters so that the
|
||||
ACE descriptors themselves may be used. The ACE descriptors and their gradients
|
||||
are often used when training ACE models, performing custom data analysis,
|
||||
generalizing ACE model forms, and other tasks that involve direct computation of
|
||||
descriptors. The key utility of `compute pace` is that it can compute the ACE
|
||||
descriptors and gradients so that these tasks can be performed during a LAMMPS
|
||||
simulation or so that LAMMPS can be used as a driver for tasks like ACE model
|
||||
parameterization. To see how this command can be used within a Python workflow
|
||||
to train ACE potentials, see the examples in
|
||||
`FitSNAP <https://github.com/FitSNAP/FitSNAP>`_. Examples on using outputs from
|
||||
this compute to construct general ACE potential forms are demonstrated in
|
||||
:ref:`(Goff) <Goff23>`. The various keywords and inputs to `compute pace`
|
||||
determine what ACE descriptors and related quantities are returned in a compute
|
||||
array.
|
||||
|
||||
The coefficient file, `<name>.yace`, ultimately defines the number of ACE
|
||||
descriptors to be computed, their maximum body-order, the degree of angular
|
||||
character they have, the degree of radial character they have, the chemical
|
||||
character (which element-element interactions are encoded by descriptors),
|
||||
and other hyper-parameters defined in :ref:`(Drautz) <Drautz19>`. These may
|
||||
be modeled after the potential files in :doc:`pace pair_style <pair_pace>`,
|
||||
and have the same format. Details on how to generate the coefficient files
|
||||
to train ACE models may be found in `FitSNAP <https://github.com/FitSNAP/FitSNAP>`_.
|
||||
|
||||
The keyword *bikflag* determines whether or not to list the descriptors of
|
||||
each atom separately, or sum them together and list in a single row. If
|
||||
*bikflag* is set to *0* then a single descriptor row is used, which contains
|
||||
the per-atom ACE descriptors :math:`B_{i,\boldsymbol{\nu}}` summed over all
|
||||
atoms *i* to produce :math:`B_{\boldsymbol{\nu}}`. If *bikflag* is set to
|
||||
*1* this is replaced by a separate per-atom ACE descriptor row for each atom.
|
||||
In this case, the entries in the final column for these rows are set to zero.
|
||||
|
||||
The keyword *dgradflag* determines whether to sum atom gradients or list
|
||||
them separately. If *dgradflag* is set to 0, the ACE
|
||||
descriptor gradients w.r.t. atom *j* are summed over all atoms *i'*
|
||||
of, which may be useful when training linear ACE models on atomic forces.
|
||||
If *dgradflag* is set to 1, gradients are listed separately for each pair of atoms.
|
||||
Each row corresponds
|
||||
to a single term :math:`\frac{\partial {B_{i,\boldsymbol{\nu}}}}{\partial {r}^a_j}`
|
||||
where :math:`{r}^a_j` is the *a-th* position coordinate of the atom with global
|
||||
index *j*. This also changes the number of columns to be equal to the number of
|
||||
ACE descriptors, with 3 additional columns representing the indices :math:`i`,
|
||||
:math:`j`, and :math:`a`, as explained more in the Output info section below.
|
||||
The option *dgradflag=1* requires that *bikflag=1*.
|
||||
|
||||
.. note::
|
||||
|
||||
It is noted here that in contrast to :doc:`pace pair_style <pair_pace>`,
|
||||
the *.yace* file for `compute pace` typically should not contain linear
|
||||
parameters for an ACE potential. If :math:`c_{\nu}` are included,
|
||||
the value of the descriptor will not be returned in the `compute` array,
|
||||
but instead, the energy contribution from that descriptor will be returned.
|
||||
Do not do this unless it is the desired behavior.
|
||||
*In short, you should not plug in a '.yace' for a pace potential into this
|
||||
compute to evaluate descriptors.*
|
||||
|
||||
.. note::
|
||||
|
||||
*Generalized Clebsch-Gordan or Generalized Wigner symbols (with appropriate
|
||||
factors) must be used to evaluate ACE descriptors with this compute.* There
|
||||
are multiple ways to define the generalized coupling coefficients. Because
|
||||
of this, this compute will not revert your potential file to a coupling
|
||||
coefficient file. Instead this compute allows the user to supply coupling
|
||||
coefficients that follow any convention.
|
||||
|
||||
.. note::
|
||||
|
||||
Using *dgradflag* = 1 produces a global array with :math:`N + 3N^2 + 1` rows
|
||||
which becomes expensive for systems with more than 1000 atoms.
|
||||
|
||||
.. note::
|
||||
|
||||
If you have a bonded system, then the settings of :doc:`special_bonds
|
||||
<special_bonds>` command can remove pairwise interactions between
|
||||
atoms in the same bond, angle, or dihedral. This is the default
|
||||
setting for the :doc:`special_bonds <special_bonds>` command, and
|
||||
means those pairwise interactions do not appear in the neighbor list.
|
||||
Because this fix uses the neighbor list, it also means those pairs
|
||||
will not be included in the calculation. One way to get around this,
|
||||
is to write a dump file, and use the :doc:`rerun <rerun>` command to
|
||||
compute the ACE descriptors for snapshots in the dump file.
|
||||
The rerun script can use a :doc:`special_bonds <special_bonds>`
|
||||
command that includes all pairs in the neighbor list.
|
||||
|
||||
----------
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
Compute *pace* evaluates a global array. The columns are arranged into
|
||||
*ntypes* blocks, listed in order of atom type *I*\ . Each block contains
|
||||
one column for each ACE descriptor, the same as for compute
|
||||
*sna/atom*\ in :doc:`compute snap <compute_sna_atom>`. A final column contains the corresponding energy, force
|
||||
component on an atom, or virial stress component. The rows of the array
|
||||
appear in the following order:
|
||||
|
||||
* 1 row: *pace* average descriptor values for all atoms of type *I*
|
||||
* 3\*\ *n* force rows: quantities, with derivatives w.r.t. x, y, and z coordinate of atom *i* appearing in consecutive rows. The atoms are sorted based on atom ID and run up to the total number of atoms, *n*.
|
||||
* 6 rows: *virial* quantities summed for all atoms of type *I*
|
||||
|
||||
For example, if :math:`\# \; B_{i, \boldsymbol{\nu}}` =30 and ntypes=1, the number of columns in the
|
||||
The number of columns in the global array generated by *pace* are 31, and
|
||||
931, respectively, while the number of rows is 1+3\*\ *n*\ +6, where *n*
|
||||
is the total number of atoms.
|
||||
|
||||
If the *bik* keyword is set to 1, the structure of the pace array is expanded.
|
||||
The first :math:`N` rows of the pace array
|
||||
correspond to :math:`\# \; B_{i,\boldsymbol{\nu}}` instead of a single row summed over atoms :math:`i`.
|
||||
In this case, the entries in the final column for these rows
|
||||
are set to zero. Also, each row contains only non-zero entries for the
|
||||
columns corresponding to the type of that atom. This is not true in the case
|
||||
of *dgradflag* keyword = 1 (see below).
|
||||
|
||||
If the *dgradflag* keyword is set to 1, this changes the structure of the
|
||||
global array completely.
|
||||
Here the per-atom quantities are replaced with rows corresponding to
|
||||
descriptor gradient components on single atoms:
|
||||
|
||||
.. math::
|
||||
|
||||
\frac{\partial {B_{i,\boldsymbol{\nu}} }}{\partial {r}^a_j}
|
||||
|
||||
where :math:`{r}^a_j` is the *a-th* position coordinate of the atom with global
|
||||
index *j*. The rows are
|
||||
organized in chunks, where each chunk corresponds to an atom with global index
|
||||
:math:`j`. The rows in an atom :math:`j` chunk correspond to
|
||||
atoms with global index :math:`i`. The total number of rows for
|
||||
these descriptor gradients is therefore :math:`3N^2`.
|
||||
The number of columns is equal to the number of ACE descriptors,
|
||||
plus 3 additional left-most columns representing the global atom indices
|
||||
:math:`i`, :math:`j`,
|
||||
and Cartesian direction :math:`a` (0, 1, 2, for x, y, z).
|
||||
The first 3 columns of the first :math:`N` rows belong to the reference
|
||||
potential force components. The remaining K columns contain the
|
||||
:math:`B_{i,\boldsymbol{\nu}}` per-atom descriptors corresponding to the non-zero entries
|
||||
obtained when *bikflag* = 1.
|
||||
The first column of the last row, after the first
|
||||
:math:`N + 3N^2` rows, contains the reference potential
|
||||
energy. The virial components are not used with this option. The total number of
|
||||
rows is therefore :math:`N + 3N^2 + 1` and the number of columns is :math:`K + 3`.
|
||||
|
||||
These values can be accessed by any command that uses global values
|
||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||
page for an overview of LAMMPS output options.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
These computes are part of the ML-PACE package. They are only enabled
|
||||
if LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style pace <pair_pace>`
|
||||
:doc:`pair_style snap <pair_snap>`
|
||||
:doc:`compute snap <compute_sna_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The optional keyword defaults are *bikflag* = 0,
|
||||
*dgradflag* = 0
|
||||
|
||||
----------
|
||||
|
||||
.. _Drautz19:
|
||||
|
||||
**(Drautz)** Drautz, Phys Rev B, 99, 014104 (2019).
|
||||
|
||||
.. _Lysogorskiy21:
|
||||
|
||||
**(Lysogorskiy)** Lysogorskiy, van der Oord, Bochkarev, Menon, Rinaldi, Hammerschmidt, Mrovec, Thompson, Csanyi, Ortner, Drautz, npj Comp Mat, 7, 97 (2021).
|
||||
|
||||
.. _Goff23:
|
||||
|
||||
**(Goff)** Goff, Zhang, Negre, Rohskopf, Niklasson, Journal of Chemical Theory and Computation 19, no. 13 (2023).
|
||||
@ -1,7 +1,7 @@
|
||||
.. index:: compute rattlers/atom
|
||||
|
||||
compute rattlers/atom command
|
||||
========================
|
||||
=============================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
@ -35,7 +35,7 @@ Description
|
||||
.. versionadded:: TBD
|
||||
|
||||
Define a compute that identifies rattlers in a system. Rattlers are often
|
||||
identified in granular or glassy packings as undercoordinated atoms that
|
||||
identified in granular or glassy packings as under-coordinated atoms that
|
||||
do not have the required number of contacts to constrain their translational
|
||||
degrees of freedom. Such atoms are not considered rigid and can often freely
|
||||
rattle around in the system. This compute identifies rattlers which can be
|
||||
|
||||
97
doc/src/compute_reaxff_atom.rst
Normal file
@ -0,0 +1,97 @@
|
||||
.. index:: compute reaxff/atom
|
||||
.. index:: compute reaxff/atom/kk
|
||||
|
||||
compute reaxff/atom command
|
||||
===========================
|
||||
|
||||
Accelerator Variants: *reaxff/atom/kk*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute ID group-ID reaxff/atom attribute args ... keyword value ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* reaxff/atom = name of this compute command
|
||||
* attribute = *pair*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*pair* args = nsub
|
||||
nsub = *n*-instance of a sub-style, if a pair style is used multiple times in a hybrid style
|
||||
|
||||
* keyword = *bonds*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*bonds* value = *no* or *yes*
|
||||
*no* = ignore list of local bonds
|
||||
*yes* = include list of local bonds
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all reaxff/atom bonds yes
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
Define a computation that extracts bond information computed by the ReaxFF
|
||||
potential specified by :doc:`pair_style reaxff <pair_reaxff>`.
|
||||
|
||||
By default, it produces per-atom data that includes the following columns:
|
||||
|
||||
* abo = atom bond order (sum of all bonds)
|
||||
* nlp = number of lone pairs
|
||||
* nb = number of bonds
|
||||
|
||||
Bonds will only be included if its atoms are in the group.
|
||||
|
||||
In addition, if ``bonds`` is set to ``yes``, the compute will also produce a
|
||||
local array of all bonds on the current processor whose atoms are in the group.
|
||||
The columns of each entry of this local array are:
|
||||
|
||||
* id_i = atom i id of bond
|
||||
* id_j = atom j id of bond
|
||||
* bo = bond order of bond
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a per-atom array and local array depending on the
|
||||
number of keywords. The number of rows in the local array is the number of
|
||||
bonds as described above. Both per-atom and local array have 3 columns.
|
||||
|
||||
The arrays can be accessed by any command that uses local and per-atom values
|
||||
from a compute as input. See the :doc:`Howto output <Howto_output>` page for
|
||||
an overview of LAMMPS output options.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
The compute reaxff/atom command requires that the :doc:`pair_style reaxff
|
||||
<pair_reaxff>` is invoked. This fix is part of the REAXFF package. It is only
|
||||
enabled if LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style reaxff <pair_reaxff>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are *bonds* = *no*.
|
||||
@ -68,7 +68,7 @@ reciprocal lattice nodes. The mesh spacing is defined either (a) by
|
||||
the entire simulation domain or (b) manually using selected values as
|
||||
shown in the 2D diagram below.
|
||||
|
||||
.. image:: img/saed_mesh.jpg
|
||||
.. image:: img/saed_mesh.png
|
||||
:scale: 75%
|
||||
:align: center
|
||||
|
||||
|
||||
162
doc/src/compute_slcsa_atom.rst
Normal file
@ -0,0 +1,162 @@
|
||||
.. index:: compute slcsa/atom
|
||||
|
||||
compute slcsa/atom command
|
||||
============================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute ID group-ID slcsa/atom twojmax nclasses db_mean_descriptor_file lda_file lr_decision_file lr_bias_file maha_file value
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* slcsa/atom = style name of this compute command
|
||||
* twojmax = band limit for bispectrum components (non-negative integer)
|
||||
* nclasses = number of crystal structures used in the database for the classifier SL-CSA
|
||||
* db_mean_descriptor_file = file name of file containing the database mean descriptor
|
||||
* lda_file = file name of file containing the linear discriminant analysis matrix for dimension reduction
|
||||
* lr_decision_file = file name of file containing the scaling matrix for logistic regression classification
|
||||
* lr_bias_file = file name of file containing the bias vector for logistic regression classification
|
||||
* maha_file = file name of file containing for each crystal structure: the Mahalanobis distance threshold for sanity check purposes, the average reduced descriptor and the inverse of the corresponding covariance matrix
|
||||
* c_ID[*] = compute ID of previously required *compute sna/atom* command
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute b1 all sna/atom 9.0 0.99363 8 0.5 1.0 rmin0 0.0 nnn 24 wmode 1 delta 0.3
|
||||
compute b2 all slcsa/atom 8 4 mean_descriptors.dat lda_scalings.dat lr_decision.dat lr_bias.dat maha_thresholds.dat c_b1[*]
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
Define a computation that performs the Supervised Learning Crystal
|
||||
Structure Analysis (SL-CSA) from :ref:`(Lafourcade) <Lafourcade2023_1>`
|
||||
for each atom in the group. The SL-CSA tool takes as an input a per-atom
|
||||
descriptor (bispectrum) that is computed through the *compute sna/atom*
|
||||
command and then proceeds to a dimension reduction step followed by a
|
||||
logistic regression in order to assign a probable crystal structure to
|
||||
each atom in the group. The SL-CSA tool is pre-trained on a database
|
||||
containing :math:`C` distinct crystal structures from which a crystal
|
||||
structure classifier is derived and a tutorial to build such a tool is
|
||||
available at `SL-CSA <https://github.com/lafourcadep/SL-CSA>`_.
|
||||
|
||||
The first step of the SL-CSA tool consists in performing a dimension
|
||||
reduction of the per-atom descriptor :math:`\mathbf{B}^i \in
|
||||
\mathbb{R}^{D}` through the Linear Discriminant Analysis (LDA) method,
|
||||
leading to a new projected descriptor
|
||||
:math:`\mathbf{x}^i=\mathrm{P}_\mathrm{LDA}(\mathbf{B}^i):\mathbb{R}^D
|
||||
\rightarrow \mathbb{R}^{d=C-1}`:
|
||||
|
||||
.. math::
|
||||
|
||||
\mathbf{x}^i = \mathbf{C}^T_\mathrm{LDA} \cdot (\mathbf{B}^i - \mu^\mathbf{B}_\mathrm{db})
|
||||
|
||||
where :math:`\mathbf{C}^T_\mathrm{LDA} \in \mathbb{R}^{D \times d}` is
|
||||
the reduction coefficients matrix of the LDA model read in file
|
||||
*lda_file*, :math:`\mathbf{B}^i \in \mathbb{R}^{D}` is the bispectrum of
|
||||
atom :math:`i` and :math:`\mu^\mathbf{B}_\mathrm{db} \in \mathbb{R}^{D}`
|
||||
is the average descriptor of the entire database. The latter is computed
|
||||
from the average descriptors of each crystal structure read from the
|
||||
file *mean_descriptors_file*.
|
||||
|
||||
The new projected descriptor with dimension :math:`d=C-1` allows for a
|
||||
good separation of different crystal structures fingerprints in the
|
||||
latent space.
|
||||
|
||||
Once the dimension reduction step is performed by means of LDA, the new
|
||||
descriptor :math:`\mathbf{x}^i \in \mathbb{R}^{d=C-1}` is taken as an
|
||||
input for performing a multinomial logistic regression (LR) which
|
||||
provides a score vector
|
||||
:math:`\mathbf{s}^i=\mathrm{P}_\mathrm{LR}(\mathbf{x}^i):\mathbb{R}^d
|
||||
\rightarrow \mathbb{R}^C` defined as:
|
||||
|
||||
.. math::
|
||||
|
||||
\mathbf{s}^i = \mathbf{b}_\mathrm{LR} + \mathbf{D}_\mathrm{LR} \cdot {\mathbf{x}^i}^T
|
||||
|
||||
with :math:`\mathbf{b}_\mathrm{LR} \in \mathbb{R}^C` and
|
||||
:math:`\mathbf{D}_\mathrm{LR} \in \mathbb{R}^{C \times d}` the bias
|
||||
vector and decision matrix of the LR model after training both read in
|
||||
files *lr_fil1* and *lr_file2* respectively.
|
||||
|
||||
Finally, a probability vector
|
||||
:math:`\mathbf{p}^i=\mathrm{P}_\mathrm{LR}(\mathbf{x}^i):\mathbb{R}^d
|
||||
\rightarrow \mathbb{R}^C` is defined as:
|
||||
|
||||
.. math::
|
||||
|
||||
\mathbf{p}^i = \frac{\mathrm{exp}(\mathbf{s}^i)}{\sum\limits_{j} \mathrm{exp}(s^i_j) }
|
||||
|
||||
from which the crystal structure assigned to each atom with descriptor
|
||||
:math:`\mathbf{B}^i` and projected descriptor :math:`\mathbf{x}^i` is
|
||||
computed as the *argmax* of the probability vector
|
||||
:math:`\mathbf{p}^i`. Since the logistic regression step systematically
|
||||
attributes a crystal structure to each atom, a sanity check is needed to
|
||||
avoid misclassification. To this end, a per-atom Mahalanobis distance to
|
||||
each crystal structure *CS* present in the database is computed:
|
||||
|
||||
.. math::
|
||||
|
||||
d_\mathrm{Mahalanobis}^{i \rightarrow \mathrm{CS}} = \sqrt{(\mathbf{x}^i - \mathbf{\mu}^\mathbf{x}_\mathrm{CS})^\mathrm{T} \cdot \mathbf{\Sigma}^{-1}_\mathrm{CS} \cdot (\mathbf{x}^i - \mathbf{\mu}^\mathbf{x}_\mathrm{CS}) }
|
||||
|
||||
where :math:`\mathbf{\mu}^\mathbf{x}_\mathrm{CS} \in \mathbb{R}^{d}` is
|
||||
the average projected descriptor of crystal structure *CS* in the
|
||||
database and where :math:`\mathbf{\Sigma}_\mathrm{CS} \in \mathbb{R}^{d
|
||||
\times d}` is the corresponding covariance matrix. Finally, if the
|
||||
Mahalanobis distance to crystal structure *CS* for atom *i* is greater
|
||||
than the pre-determined threshold, no crystal structure is assigned to
|
||||
atom *i*. The Mahalanobis distance thresholds are read in file
|
||||
*maha_file* while the covariance matrices are read in file
|
||||
*covmat_file*.
|
||||
|
||||
The `SL-CSA <https://github.com/lafourcadep/SL-CSA>`_ framework provides
|
||||
an automatic computation of the different matrices and thresholds
|
||||
required for a proper classification and writes down all the required
|
||||
files for calling the *compute slcsa/atom* command.
|
||||
|
||||
The *compute slcsa/atom* command requires that the :doc:`compute
|
||||
sna/atom <compute_sna_atom>` command is called before as it takes the
|
||||
resulting per-atom bispectrum as an input. In addition, it is crucial
|
||||
that the value *twojmax* is set to the same value of the value *twojmax*
|
||||
used in the *compute sna/atom* command, as well as that the value
|
||||
*nclasses* is set to the number of crystal structures used in the
|
||||
database to train the SL-CSA tool.
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
By default, this compute computes the Mahalanobis distances to the
|
||||
different crystal structures present in the database in addition to
|
||||
assigning a crystal structure for each atom as a per-atom vector, which
|
||||
can be accessed by any command that uses per-atom values from a compute
|
||||
as input. See the :doc:`Howto output <Howto_output>` page for an
|
||||
overview of LAMMPS output options.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the EXTRA-COMPUTE package. It is only enabled
|
||||
if LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute sna/atom <compute_sna_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
|
||||
----------
|
||||
|
||||
.. _Lafourcade2023_1:
|
||||
|
||||
**(Lafourcade)** Lafourcade, Maillet, Denoual, Duval, Allera, Goryaeva, and Marinica,
|
||||
`Comp. Mat. Science, 230, 112534 (2023) <https://doi.org/10.1016/j.commatsci.2023.112534>`_
|
||||
@ -45,7 +45,7 @@ Syntax
|
||||
* w_1, w_2,... = list of neighbor weights, one for each type
|
||||
* nx, ny, nz = number of grid points in x, y, and z directions (positive integer)
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* or *chem* or *bnormflag* or *wselfallflag* or *bikflag* or *switchinnerflag* or *sinner* or *dinner* or *dgradflag*
|
||||
* keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* or *chem* or *bnormflag* or *wselfallflag* or *bikflag* or *switchinnerflag* or *sinner* or *dinner* or *dgradflag* or *nnn* or *wmode* or *delta*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -82,6 +82,16 @@ Syntax
|
||||
*0* = descriptor gradients are summed over atoms of each type
|
||||
*1* = descriptor gradients are listed separately for each atom pair
|
||||
|
||||
* additional keyword = *nnn* or *wmode* or *delta*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*nnn* value = number of considered nearest neighbors to compute the bispectrum over a target specific number of neighbors (only implemented for compute sna/atom)
|
||||
*wmode* value = weight function for finding optimal cutoff to match the target number of neighbors (required if nnn used, only implemented for compute sna/atom)
|
||||
*0* = heavyside weight function
|
||||
*1* = hyperbolic tangent weight function
|
||||
*delta* value = transition interval centered at cutoff distance for hyperbolic tangent weight function (ignored if wmode=0, required if wmode=1, only implemented for compute sna/atom)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
@ -94,6 +104,7 @@ Examples
|
||||
compute snap all snap 1.0 0.99363 6 3.81 3.83 1.0 0.93 chem 2 0 1
|
||||
compute snap all snap 1.0 0.99363 6 3.81 3.83 1.0 0.93 switchinnerflag 1 sinner 1.35 1.6 dinner 0.25 0.3
|
||||
compute bgrid all sna/grid/local 200 200 200 1.4 0.95 6 2.0 1.0
|
||||
compute bnnn all sna/atom 9.0 0.99363 8 0.5 1.0 rmin0 0.0 nnn 24 wmode 1 delta 0.2
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -433,6 +444,25 @@ requires that *bikflag=1*.
|
||||
The rerun script can use a :doc:`special_bonds <special_bonds>`
|
||||
command that includes all pairs in the neighbor list.
|
||||
|
||||
The keyword *nnn* allows for the calculation of the bispectrum over a
|
||||
specific target number of neighbors. This option is only implemented for
|
||||
the compute *sna/atom*\ . An optimal cutoff radius for defining the
|
||||
neighborhood of the central atom is calculated by means of a dichotomy
|
||||
algorithm. This iterative process allows to assign weights to
|
||||
neighboring atoms in order to match the total sum of weights with the
|
||||
target number of neighbors. Depending on the radial weight function
|
||||
used in that process, the cutoff radius can fluctuate a lot in the
|
||||
presence of thermal noise. Therefore, in addition to the *nnn* keyword,
|
||||
the keyword *wmode* allows to choose whether a Heaviside (*wmode* = 0)
|
||||
function or a Hyperbolic tangent function (*wmode* = 1) should be used.
|
||||
If the Heaviside function is used, the cutoff radius exactly matches the
|
||||
distance between the central atom an its *nnn*'th neighbor. However, in
|
||||
the case of the hyperbolic tangent function, the dichotomy algorithm
|
||||
allows to span the weights over a distance *delta* in order to reduce
|
||||
fluctuations in the resulting local atomic environment fingerprint. The
|
||||
detailed formalism is given in the paper by Lafourcade et
|
||||
al. :ref:`(Lafourcade) <Lafourcade2023_2>`.
|
||||
|
||||
----------
|
||||
|
||||
Output info
|
||||
@ -585,6 +615,7 @@ Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style snap <pair_snap>`
|
||||
:doc:`compute slcsa/atom <compute_slcsa_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
@ -592,6 +623,7 @@ Default
|
||||
The optional keyword defaults are *rmin0* = 0,
|
||||
*switchflag* = 1, *bzeroflag* = 1, *quadraticflag* = 0,
|
||||
*bnormflag* = 0, *wselfallflag* = 0, *switchinnerflag* = 0,
|
||||
*nnn* = -1, *wmode* = 0, *delta* = 1.e-3
|
||||
|
||||
----------
|
||||
|
||||
@ -623,3 +655,8 @@ of Angular Momentum, World Scientific, Singapore (1987).
|
||||
.. _Ellis2021:
|
||||
|
||||
**(Ellis)** Ellis, Fiedler, Popoola, Modine, Stephens, Thompson, Cangi, Rajamanickam, Phys Rev B, 104, 035120, (2021)
|
||||
|
||||
.. _Lafourcade2023_2:
|
||||
|
||||
**(Lafourcade)** Lafourcade, Maillet, Denoual, Duval, Allera, Goryaeva, and Marinica,
|
||||
`Comp. Mat. Science, 230, 112534 (2023) <https://doi.org/10.1016/j.commatsci.2023.112534>`_
|
||||
|
||||
@ -127,11 +127,11 @@ result in more consistent heat flux values for angle, dihedrals,
|
||||
improper and constraint force contributions
|
||||
when computed via :doc:`compute heat/flux <compute_heat_flux>`.
|
||||
|
||||
If no extra keywords are listed, the kinetic contribution all of the
|
||||
virial contribution terms are included in the per-atom stress tensor.
|
||||
If any extra keywords are listed, only those terms are summed to
|
||||
compute the tensor. The *virial* keyword means include all terms
|
||||
except the kinetic energy *ke*\ .
|
||||
If no extra keywords are listed, the kinetic contribution *and* all
|
||||
of the virial contribution terms are included in the per-atom stress
|
||||
tensor. If any extra keywords are listed, only those terms are
|
||||
summed to compute the tensor. The *virial* keyword means include all
|
||||
terms except the kinetic energy *ke*\ .
|
||||
|
||||
Note that the stress for each atom is due to its interaction with all
|
||||
other atoms in the simulation, not just with other atoms in the group.
|
||||
|
||||
@ -18,7 +18,7 @@ Syntax
|
||||
* style = *stress/mop* or *stress/mop/profile*
|
||||
* dir = *x* or *y* or *z* is the direction normal to the plane
|
||||
* args = argument specific to the compute style
|
||||
* keywords = *kin* or *conf* or *total* or *pair* or *bond* or *angle* (one or more can be specified)
|
||||
* keywords = *kin* or *conf* or *total* or *pair* or *bond* or *angle* or *dihedral* (one or more can be specified)
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -68,15 +68,13 @@ Verlet algorithm.
|
||||
|
||||
.. versionadded:: 15Jun2023
|
||||
|
||||
contributions from bond and angle potentials
|
||||
contributions from bond, angle and dihedral potentials
|
||||
|
||||
Between one and six keywords can be used to indicate which contributions
|
||||
Between one and seven keywords can be used to indicate which contributions
|
||||
to the stress must be computed: total stress (total), kinetic stress
|
||||
(kin), configurational stress (conf), stress due to bond stretching
|
||||
(bond), stress due to angle bending (angle) and/or due to pairwise
|
||||
non-bonded interactions (pair). The angle keyword is currently
|
||||
available only for the *stress/mop* command and **not** the
|
||||
*stress/mop/profile* command.
|
||||
(bond), stress due to angle bending (angle), stress due to dihedral terms (dihedral)
|
||||
and/or due to pairwise non-bonded interactions (pair).
|
||||
|
||||
NOTE 1: The configurational stress is computed considering all pairs of
|
||||
atoms where at least one atom belongs to group group-ID.
|
||||
@ -134,14 +132,9 @@ size does not change in time, and axis-aligned planes.
|
||||
The method only works with two-body pair interactions, because it
|
||||
requires the class method ``Pair::single()`` to be implemented, which is
|
||||
not possible for manybody potentials. In particular, compute
|
||||
*stress/mop/profile* does not work with more than two-body pair
|
||||
*stress/mop/profile* and *stress/mop* do not work with more than two-body pair
|
||||
interactions, long range (kspace) interactions and
|
||||
angle/dihedral/improper intramolecular interactions. Similarly, compute
|
||||
*stress/mop* does not work with more than two-body pair interactions,
|
||||
long range (kspace) interactions and dihedral/improper intramolecular
|
||||
interactions but works with all bond interactions with the class method
|
||||
single() implemented and all angle interactions with the class method
|
||||
born_matrix() implemented.
|
||||
improper intramolecular interactions.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -221,7 +221,7 @@ formulas for the meaning of these parameters:
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`table <pair_table>` | table_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma | type pairs |
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`wf/cut <pair_wf_cut>` | epsilon,sigma,nu,mu | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
|
||||
@ -123,19 +123,29 @@ styles and their energy formulas for the meaning of these parameters:
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`born/gauss <pair_born_gauss>` | biga0,biga1,r0 | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck, buck/coul/cut, buck/coul/long, buck/coul/msm <pair_buck>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
| :doc:`coul/cut, coul/cut/global <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/debye <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`eam <pair_eam>` | scale | type pairs |
|
||||
| :doc:`coul/slater/long <pair_coul_slater>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/streitz <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`eam, eam/alloy, eam/fs <pair_eam>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`harmonic/cut <pair_harmonic_cut>` | k | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
@ -163,6 +173,8 @@ styles and their energy formulas for the meaning of these parameters:
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`meam <pair_meam>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamR,gamA | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | d0,r0,alpha | type pairs |
|
||||
@ -173,12 +185,16 @@ styles and their energy formulas for the meaning of these parameters:
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`pace, pace/extrapolation <pair_pace>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`snap <pair_snap>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`wf/cut <pair_wf_cut>` | epsilon,sigma,nu,mu | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -183,4 +183,4 @@ Related commands
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are error = hard, message = yes, and path = ".".
|
||||
The option defaults are error = soft, message = yes, and path = ".".
|
||||
|
||||
@ -23,7 +23,7 @@ Syntax
|
||||
.. parsed-literal::
|
||||
|
||||
keyword = *erate* or *ext* or *strain* or *temp* or *iso* or *x* or *y* or *z* or *tchain* or *pchain* or *tloop* or *ploop* or *mtk*
|
||||
*erate* values = e_x e_y = engineering strain rates (required)
|
||||
*erate* values = e_x e_y = true strain rates (required)
|
||||
*ext* value = *x* or *y* or *z* or *xy* or *yz* or *xz* = external dimensions
|
||||
sets the external dimensions used to calculate the scalar pressure
|
||||
*strain* values = e_x e_y = initial strain
|
||||
@ -62,7 +62,7 @@ performed using the :doc:`fix deform <fix_deform>`, :doc:`fix nvt/sllod
|
||||
<fix_nvt_sllod>`, and :doc:`compute temp/deform <compute_temp_deform>`
|
||||
commands.
|
||||
|
||||
The applied flow field is set by the *eps* keyword. The values
|
||||
The applied flow field is set by the *erate* keyword. The values
|
||||
*edot_x* and *edot_y* correspond to the strain rates in the xx and yy
|
||||
directions. It is implicitly assumed that the flow field is
|
||||
traceless, and therefore the strain rate in the zz direction is eqal
|
||||
|
||||
@ -181,10 +181,10 @@ This fix assumes a crystalline system with periodical lattice. The
|
||||
temperature of the system should not exceed the melting temperature to
|
||||
keep the system in its solid state.
|
||||
|
||||
This fix is part of the PHONON package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
This fix requires LAMMPS be built with an FFT library. See the :doc:`Build settings <Build_settings>` page for details.
|
||||
This fix is part of the PHONON package. It is only enabled if LAMMPS
|
||||
was built with that package. This fix also requires LAMMPS to be built
|
||||
with 3d-FFT support which is included in the KSPACE package. See the
|
||||
:doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
.. index:: fix temp/berendsen
|
||||
.. index:: fix temp/berendsen/kk
|
||||
|
||||
fix temp/berendsen command
|
||||
==========================
|
||||
|
||||
Accelerator Variants: *temp/berendsen/kk*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
@ -118,6 +121,10 @@ remaining thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
.. index:: fix temp/rescale
|
||||
.. index:: fix temp/rescale/kk
|
||||
|
||||
fix temp/rescale command
|
||||
========================
|
||||
|
||||
Accelerator Variants: *temp/rescale/kk*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
@ -125,6 +128,10 @@ remaining thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 108 KiB |
BIN
doc/src/img/saed_mesh.png
Normal file
|
After Width: | Height: | Size: 90 KiB |
@ -164,8 +164,8 @@ defining a *body* particle, which requires setting the number of
|
||||
* Nd *dihedrals* = # of dihedrals Nd in molecule, default = 0
|
||||
* Ni *impropers* = # of impropers Ni in molecule, default = 0
|
||||
* Nf *fragments* = # of fragments Nf in molecule, default = 0
|
||||
* Ninteger Ndouble *body* = # of integer and floating-point values in body
|
||||
particle, default = 0
|
||||
* Ninteger Ndouble *body* = # of integer and floating-point values
|
||||
in body particle, default = 0
|
||||
* Mtotal *mass* = total mass of molecule
|
||||
* Xc Yc Zc *com* = coordinates of center-of-mass of molecule
|
||||
* Ixx Iyy Izz Ixy Ixz Iyz *inertia* = 6 components of inertia tensor of molecule
|
||||
|
||||
@ -344,12 +344,10 @@ specify additional flags for the runtime build.
|
||||
|
||||
----------
|
||||
|
||||
The *intel* style invokes settings associated with the use of the
|
||||
INTEL package. All of its settings, except the *omp* and *mode*
|
||||
keywords, are ignored if LAMMPS was not built with Xeon Phi
|
||||
co-processor support. All of its settings, including the *omp* and
|
||||
*mode* keyword are applicable if LAMMPS was built with co-processor
|
||||
support.
|
||||
The *intel* style invokes settings associated with the use of the INTEL
|
||||
package. The keywords *balance*, *ghost*, *tpc*, and *tptask* are
|
||||
**only** applicable if LAMMPS was built with Xeon Phi co-processor
|
||||
support and are otherwise ignored.
|
||||
|
||||
The *Nphi* argument sets the number of co-processors per node.
|
||||
This can be set to any value, including 0, if LAMMPS was not
|
||||
@ -474,13 +472,13 @@ If the *neigh/thread* keyword is set to *off*, then the KOKKOS package
|
||||
threads only over atoms. However, for small systems, this may not expose
|
||||
enough parallelism to keep a GPU busy. When this keyword is set to *on*,
|
||||
the KOKKOS package threads over both atoms and neighbors of atoms. When
|
||||
using *neigh/thread* *on*, a full neighbor list must also be used. Using
|
||||
*neigh/thread* *on* may be slower for large systems, so this this option
|
||||
is turned on by default only when there are 16K atoms or less owned by
|
||||
an MPI rank and when using a full neighbor list. Not all KOKKOS-enabled
|
||||
potentials support this keyword yet, and only thread over atoms. Many
|
||||
simple pairwise potentials such as Lennard-Jones do support threading
|
||||
over both atoms and neighbors.
|
||||
using *neigh/thread* *on*, the :doc:`newton pair <newton>` setting must
|
||||
be "off". Using *neigh/thread* *on* may be slower for large systems, so
|
||||
this this option is turned on by default only when running on one or
|
||||
more GPUs and there are 16k atoms or less owned by an MPI rank. Not all
|
||||
KOKKOS-enabled potentials support this keyword yet, and only thread over
|
||||
atoms. Many simple pairwise potentials such as Lennard-Jones do support
|
||||
threading over both atoms and neighbors.
|
||||
|
||||
If the *neigh/transpose* keyword is set to *off*, then the KOKKOS
|
||||
package will use the same memory layout for building the neighbor list on
|
||||
@ -732,7 +730,7 @@ comm = device, sort = device, neigh/transpose = off, gpu/aware = on. When
|
||||
LAMMPS can safely detect that GPU-aware MPI is not available, the default value
|
||||
of gpu/aware becomes "off". For CPUs or Xeon Phis, the option defaults are
|
||||
neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, and sort
|
||||
= no. The option neigh/thread = on when there are 16K atoms or less on an MPI
|
||||
= no. For GPUs, option neigh/thread = on when there are 16k atoms or less on an MPI
|
||||
rank, otherwise it is "off". These settings are made automatically by the
|
||||
required "-k on" :doc:`command-line switch <Run_options>`. You can change them
|
||||
by using the package kokkos command in your input script or via the :doc:`-pk
|
||||
|
||||
@ -22,13 +22,24 @@ Examples
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 1
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw
|
||||
pair_coeff * * aip/water/2dm CBNOH.aip.water.2dm C Ow Hw
|
||||
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 lj/cut/tip4p/long 2 3 1 1 0.1546 10 8.5
|
||||
pair_coeff 2 2 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 2 3 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm COH.aip.water.2dm C Ow Hw
|
||||
pair_coeff * * aip/water/2dm CBNOH.aip.water.2dm C Ow Hw
|
||||
|
||||
pair_style hybrid/overlay aip/water/2dm 16.0 lj/cut/tip4p/long 3 4 1 1 0.1546 10 8.5 coul/shield 16.0 1
|
||||
pair_coeff 1*2 1*2 none
|
||||
pair_coeff 3 3 lj/cut/tip4p/long 8.0313e-3 3.1589 # O-O
|
||||
pair_coeff 3 4 lj/cut/tip4p/long 0.0 0.0 # O-H
|
||||
pair_coeff 4 4 lj/cut/tip4p/long 0.0 0.0 # H-H
|
||||
pair_coeff * * aip/water/2dm CBNOH.aip.water.2dm B N Ow Hw
|
||||
pair_coeff 1 3 coul/shield 1.333
|
||||
pair_coeff 1 4 coul/shield 1.333
|
||||
pair_coeff 2 3 coul/shield 1.333
|
||||
pair_coeff 2 4 coul/shield 1.333
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -37,7 +48,7 @@ Description
|
||||
|
||||
The *aip/water/2dm* style computes the anisotropic interfacial potential
|
||||
(AIP) potential for interfaces of water with two-dimensional (2D)
|
||||
materials as described in :ref:`(Feng) <Feng>`.
|
||||
materials as described in :ref:`(Feng1) <Feng1>` and :ref:`(Feng2) <Feng2>`.
|
||||
|
||||
.. math::
|
||||
|
||||
@ -62,12 +73,12 @@ larger than :math:`r_c` :doc:`pair_style ilp_graphene_hbn
|
||||
.. note::
|
||||
|
||||
This pair style uses the atomic normal vector definition from
|
||||
:ref:`(Feng) <Feng>`), where the atomic normal vectors of the
|
||||
:ref:`(Feng1) <Feng1>`), where the atomic normal vectors of the
|
||||
hydrogen atoms are assumed to lie along the corresponding
|
||||
oxygen-hydrogen bonds and the normal vector of the central oxygen
|
||||
atom is defined as their average.
|
||||
|
||||
The provided parameter file, ``COH.aip.water.2dm``, is intended for use
|
||||
The provided parameter file, ``CBNOH.aip.water.2dm``, is intended for use
|
||||
with *metal* :doc:`units <units>`, with energies in meV. Two additional
|
||||
parameters, *S*, and *rcut* are included in the parameter file. *S* is
|
||||
designed to facilitate scaling of energies; *rcut* is the cutoff for an
|
||||
@ -77,7 +88,7 @@ the calculation of the normals for all atom pairs.
|
||||
.. note::
|
||||
|
||||
The parameters presented in the provided parameter file,
|
||||
``COH.aip.water.2dm``, are fitted with the taper function enabled by
|
||||
``CBNOH.aip.water.2dm``, are fitted with the taper function enabled by
|
||||
setting the cutoff equal to 16.0 Angstrom. Using a different cutoff
|
||||
or taper function setting should be carefully checked as they can
|
||||
lead to significant errors. These parameters provide a good
|
||||
@ -134,7 +145,7 @@ if LAMMPS was built with that package. See the :doc:`Build package
|
||||
This pair style requires the newton setting to be *on* for pair
|
||||
interactions.
|
||||
|
||||
The ``COH.aip.water.2dm`` potential file provided with LAMMPS is
|
||||
The ``CBNOH.aip.water.2dm`` potential file provided with LAMMPS is
|
||||
parameterized for *metal* units. You can use this pair style with any
|
||||
LAMMPS units, but you would need to create your own potential file with
|
||||
parameters in the appropriate units, if your simulation does not use
|
||||
@ -162,6 +173,10 @@ tap_flag = 1
|
||||
|
||||
----------
|
||||
|
||||
.. _Feng:
|
||||
.. _Feng1:
|
||||
|
||||
**(Feng)** Z. Feng and W. Ouyang et al., J. Phys. Chem. C. 127, 8704-8713 (2023).
|
||||
**(Feng1)** Z. Feng, ..., and W. Ouyang, J. Phys. Chem. C. 127(18), 8704-8713 (2023).
|
||||
|
||||
.. _Feng2:
|
||||
|
||||
**(Feng2)** Z. Feng, ..., and W. Ouyang, Langmuir 39(50), 18198-18207 (2023).
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
.. index:: pair_style coul/slater
|
||||
.. index:: pair_style coul/slater/cut
|
||||
.. index:: pair_style coul/slater/long
|
||||
.. index:: pair_style coul/slater/long/gpu
|
||||
|
||||
pair_style coul/slater command
|
||||
==============================
|
||||
@ -11,6 +12,8 @@ pair_style coul/slater/cut command
|
||||
pair_style coul/slater/long command
|
||||
===================================
|
||||
|
||||
Accelerator Variants: *coul/slater/long/gpu*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
@ -1,8 +1,10 @@
|
||||
.. index:: pair_style lj/cut/soft
|
||||
.. index:: pair_style lj/cut/soft/omp
|
||||
.. index:: pair_style lj/cut/coul/cut/soft
|
||||
.. index:: pair_style lj/cut/coul/cut/soft/gpu
|
||||
.. index:: pair_style lj/cut/coul/cut/soft/omp
|
||||
.. index:: pair_style lj/cut/coul/long/soft
|
||||
.. index:: pair_style lj/cut/coul/long/soft/gpu
|
||||
.. index:: pair_style lj/cut/coul/long/soft/omp
|
||||
.. index:: pair_style lj/cut/tip4p/long/soft
|
||||
.. index:: pair_style lj/cut/tip4p/long/soft/omp
|
||||
@ -27,12 +29,12 @@ Accelerator Variants: *lj/cut/soft/omp*
|
||||
pair_style lj/cut/coul/cut/soft command
|
||||
=======================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/cut/soft/omp*
|
||||
Accelerator Variants: *lj/cut/coul/cut/soft/gpu*, *lj/cut/coul/cut/soft/omp*
|
||||
|
||||
pair_style lj/cut/coul/long/soft command
|
||||
========================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/long/soft/omp*
|
||||
Accelerator Variants: *lj/cut/coul/long/soft/gpu*, *lj/cut/coul/long/soft/omp*
|
||||
|
||||
pair_style lj/cut/tip4p/long/soft command
|
||||
=========================================
|
||||
|
||||
@ -22,12 +22,12 @@ Examples
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hybrid/overlay ilp/tmd 16.0 1
|
||||
pair_coeff * * ilp/tmd MoS2.ILP Mo S S
|
||||
pair_coeff * * ilp/tmd TMD.ILP Mo S S
|
||||
|
||||
pair_style hybrid/overlay sw/mod sw/mod ilp/tmd 16.0
|
||||
pair_coeff * * sw/mod 1 tmd.sw.mod Mo S S NULL NULL NULL
|
||||
pair_coeff * * sw/mod 2 tmd.sw.mod NULL NULL NULL Mo S S
|
||||
pair_coeff * * ilp/tmd MoS2.ILP Mo S S Mo S S
|
||||
pair_coeff * * sw/mod 2 tmd.sw.mod NULL NULL NULL W Se Se
|
||||
pair_coeff * * ilp/tmd TMD.ILP Mo S S W Se Se
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -36,7 +36,7 @@ Description
|
||||
|
||||
The *ilp/tmd* style computes the registry-dependent interlayer
|
||||
potential (ILP) potential for transition metal dichalcogenides (TMD)
|
||||
as described in :ref:`(Ouyang7) <Ouyang7>`.
|
||||
as described in :ref:`(Ouyang7) <Ouyang7>` and :ref:`(Jiang) <Jiang>`.
|
||||
|
||||
.. math::
|
||||
|
||||
@ -69,7 +69,7 @@ calculating the normals.
|
||||
each atom `i`, its six nearest neighboring atoms belonging to the same
|
||||
sub-layer are chosen to define the normal vector `{\bf n}_i`.
|
||||
|
||||
The parameter file (e.g. MoS2.ILP), is intended for use with *metal*
|
||||
The parameter file (e.g. TMD.ILP), is intended for use with *metal*
|
||||
:doc:`units <units>`, with energies in meV. Two additional parameters,
|
||||
*S*, and *rcut* are included in the parameter file. *S* is designed to
|
||||
facilitate scaling of energies. *rcut* is designed to build the neighbor
|
||||
@ -77,7 +77,7 @@ list for calculating the normals for each atom pair.
|
||||
|
||||
.. note::
|
||||
|
||||
The parameters presented in the parameter file (e.g. MoS2.ILP),
|
||||
The parameters presented in the parameter file (e.g. TMD.ILP),
|
||||
are fitted with taper function by setting the cutoff equal to 16.0
|
||||
Angstrom. Using different cutoff or taper function should be careful.
|
||||
These parameters provide a good description in both short- and long-range
|
||||
@ -133,10 +133,10 @@ if LAMMPS was built with that package. See the :doc:`Build package
|
||||
This pair style requires the newton setting to be *on* for pair
|
||||
interactions.
|
||||
|
||||
The MoS2.ILP potential file provided with LAMMPS (see the potentials
|
||||
The TMD.ILP potential file provided with LAMMPS (see the potentials
|
||||
directory) are parameterized for *metal* units. You can use this
|
||||
potential with any LAMMPS units, but you would need to create your own
|
||||
custom MoS2.ILP potential file with coefficients listed in the appropriate
|
||||
custom TMD.ILP potential file with coefficients listed in the appropriate
|
||||
units, if your simulation does not use *metal* units.
|
||||
|
||||
Related commands
|
||||
@ -164,3 +164,7 @@ tap_flag = 1
|
||||
.. _Ouyang7:
|
||||
|
||||
**(Ouyang7)** W. Ouyang, et al., J. Chem. Theory Comput. 17, 7237 (2021).
|
||||
|
||||
.. _Jiang:
|
||||
|
||||
**(Jiang)** W. Jiang, et al., J. Phys. Chem. A, 127, 46, 9820-9830 (2023).
|
||||
|
||||
@ -1,14 +1,20 @@
|
||||
.. index:: pair_style edpd
|
||||
.. index:: pair_style edpd/gpu
|
||||
.. index:: pair_style mdpd
|
||||
.. index:: pair_style mdpd/gpu
|
||||
.. index:: pair_style mdpd/rhosum
|
||||
.. index:: pair_style tdpd
|
||||
|
||||
pair_style edpd command
|
||||
=======================
|
||||
|
||||
Accelerator Variants: *edpd/gpu*
|
||||
|
||||
pair_style mdpd command
|
||||
=======================
|
||||
|
||||
Accelerator Variants: *mdpd/gpu*
|
||||
|
||||
pair_style mdpd/rhosum command
|
||||
==============================
|
||||
|
||||
|
||||
@ -373,7 +373,8 @@ Related commands
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`, :doc:`fix qeq/reaxff <fix_qeq_reaxff>`,
|
||||
:doc:`fix acks2/reaxff <fix_acks2_reaxff>`, :doc:`fix reaxff/bonds <fix_reaxff_bonds>`,
|
||||
:doc:`fix reaxff/species <fix_reaxff_species>`
|
||||
:doc:`fix reaxff/species <fix_reaxff_species>`,
|
||||
:doc:`compute reaxff/atom <compute_reaxff_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
.. index:: pair_style sph/heatconduction
|
||||
.. index:: pair_style sph/heatconduction/gpu
|
||||
|
||||
pair_style sph/heatconduction command
|
||||
=====================================
|
||||
|
||||
Accelerator Variants: *sph/heatconduction/gpu*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
.. index:: pair_style sph/lj
|
||||
.. index:: pair_style sph/lj/gpu
|
||||
|
||||
pair_style sph/lj command
|
||||
=========================
|
||||
|
||||
Accelerator Variants: *sph/lj/gpu*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
.. index:: pair_style sph/taitwater
|
||||
.. index:: pair_style sph/taitwater/gpu
|
||||
|
||||
pair_style sph/taitwater command
|
||||
================================
|
||||
|
||||
Accelerator Variants: *sph/taitwater/gpu*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
@ -329,7 +329,8 @@ Restrictions
|
||||
The *verlet/split* style can only be used if LAMMPS was built with the
|
||||
REPLICA package. Correspondingly the *respa/omp* style is available
|
||||
only if the OPENMP package was included. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
<Build_package>` page for more info. It is not compatible with
|
||||
kspace styles from the INTEL package.
|
||||
|
||||
Whenever using rRESPA, the user should experiment with trade-offs in
|
||||
speed and accuracy for their system, and verify that they are
|
||||
|
||||
@ -80,6 +80,7 @@ Alessandro
|
||||
Alexey
|
||||
ali
|
||||
aliceblue
|
||||
Allera
|
||||
Allinger
|
||||
allocatable
|
||||
allocator
|
||||
@ -732,6 +733,7 @@ dem
|
||||
Dendrimer
|
||||
dendritic
|
||||
Denniston
|
||||
Denoual
|
||||
dephase
|
||||
dephasing
|
||||
dequidt
|
||||
@ -803,6 +805,7 @@ dispersionflag
|
||||
dissipative
|
||||
Dissipative
|
||||
distharm
|
||||
distutils
|
||||
dl
|
||||
dlabel
|
||||
dlambda
|
||||
@ -873,6 +876,7 @@ Dunweg
|
||||
Dupend
|
||||
Dupont
|
||||
dUs
|
||||
Duval
|
||||
dV
|
||||
dvector
|
||||
dVx
|
||||
@ -1312,6 +1316,7 @@ Gonzalez-Melchor
|
||||
googlemail
|
||||
googletest
|
||||
Gordan
|
||||
Goryaeva
|
||||
Goudeau
|
||||
GPa
|
||||
GPL
|
||||
@ -1398,12 +1403,14 @@ hcp
|
||||
hdnnp
|
||||
HDNNP
|
||||
Hearn
|
||||
Heaviside
|
||||
heatconduction
|
||||
heatflow
|
||||
Hebbeker
|
||||
Hebenstreit
|
||||
Hecht
|
||||
Heenen
|
||||
heFFTe
|
||||
Hendrik
|
||||
Henin
|
||||
Henkelman
|
||||
@ -1862,6 +1869,7 @@ lbl
|
||||
LBtype
|
||||
lcbop
|
||||
ld
|
||||
lda
|
||||
ldfftw
|
||||
ldg
|
||||
lebedeva
|
||||
@ -1983,6 +1991,7 @@ lossy
|
||||
Lozovik
|
||||
lps
|
||||
lpsapi
|
||||
lr
|
||||
lrt
|
||||
lsfftw
|
||||
lt
|
||||
@ -2025,7 +2034,10 @@ magelec
|
||||
Maginn
|
||||
magneton
|
||||
magnetons
|
||||
maha
|
||||
Mahalanobis
|
||||
Mahoney
|
||||
Maillet
|
||||
mainboard
|
||||
mainboards
|
||||
makefile
|
||||
@ -2204,6 +2216,7 @@ mintcream
|
||||
Mintmire
|
||||
Miron
|
||||
mis
|
||||
misclassification
|
||||
Mises
|
||||
Mishin
|
||||
Mishra
|
||||
@ -2312,6 +2325,7 @@ multicomponent
|
||||
multicore
|
||||
multielectron
|
||||
multinode
|
||||
multinomial
|
||||
multiphysics
|
||||
Multipole
|
||||
multiscale
|
||||
@ -2403,6 +2417,7 @@ Nbtypes
|
||||
Nbytes
|
||||
nc
|
||||
Nc
|
||||
nclasses
|
||||
nchunk
|
||||
Nchunk
|
||||
ncoeff
|
||||
@ -2817,6 +2832,7 @@ pIm
|
||||
pimd
|
||||
Piola
|
||||
pIp
|
||||
pipelining
|
||||
Pisarev
|
||||
Pishevar
|
||||
Pitera
|
||||
@ -3369,6 +3385,7 @@ Skylake
|
||||
slateblue
|
||||
slategray
|
||||
slater
|
||||
slcsa
|
||||
Slepoy
|
||||
Sliozberg
|
||||
sLL
|
||||
@ -4049,6 +4066,7 @@ xy
|
||||
xyz
|
||||
xz
|
||||
xzhou
|
||||
yace
|
||||
Yade
|
||||
yade
|
||||
yaff
|
||||
|
||||
@ -67,7 +67,7 @@ int main(int narg, char **arg)
|
||||
FILE *fp;
|
||||
if (me == 0) {
|
||||
fp = fopen(arg[2],"r");
|
||||
if (fp == NULL) {
|
||||
if (fp == nullptr) {
|
||||
printf("ERROR: Could not open LAMMPS input script\n");
|
||||
MPI_Abort(MPI_COMM_WORLD,1);
|
||||
}
|
||||
@ -78,14 +78,14 @@ int main(int narg, char **arg)
|
||||
// (could just send it to proc 0 of comm_lammps and let it Bcast)
|
||||
// all LAMMPS procs call input->one() on the line
|
||||
|
||||
LAMMPS *lmp = NULL;
|
||||
if (lammps == 1) lmp = new LAMMPS(0,NULL,comm_lammps);
|
||||
LAMMPS *lmp = nullptr;
|
||||
if (lammps == 1) lmp = new LAMMPS(0,nullptr,comm_lammps);
|
||||
|
||||
int n;
|
||||
char line[1024];
|
||||
while (1) {
|
||||
while (true) {
|
||||
if (me == 0) {
|
||||
if (fgets(line,1024,fp) == NULL) n = 0;
|
||||
if (fgets(line,1024,fp) == nullptr) n = 0;
|
||||
else n = strlen(line) + 1;
|
||||
if (n == 0) fclose(fp);
|
||||
}
|
||||
@ -101,8 +101,8 @@ int main(int narg, char **arg)
|
||||
// put coords back into LAMMPS
|
||||
// run a single step with changed coords
|
||||
|
||||
double *x = NULL;
|
||||
double *v = NULL;
|
||||
double *x = nullptr;
|
||||
double *v = nullptr;
|
||||
|
||||
if (lammps == 1) {
|
||||
lmp->input->one("run 10");
|
||||
@ -147,7 +147,7 @@ int main(int narg, char **arg)
|
||||
// create_atoms() to create new ones with old coords, vels
|
||||
// initial thermo should be same as step 20
|
||||
|
||||
int *type = NULL;
|
||||
int *type = nullptr;
|
||||
|
||||
if (lammps == 1) {
|
||||
int natoms = static_cast<int> (lmp->atom->natoms);
|
||||
@ -155,7 +155,7 @@ int main(int narg, char **arg)
|
||||
for (int i = 0; i < natoms; i++) type[i] = 1;
|
||||
|
||||
lmp->input->one("delete_atoms group all");
|
||||
lammps_create_atoms(lmp,natoms,NULL,type,x,v,NULL,0);
|
||||
lammps_create_atoms(lmp,natoms,nullptr,type,x,v,nullptr,0);
|
||||
lmp->input->one("run 10");
|
||||
}
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@ neighbor 0.3 bin
|
||||
neigh_modify every 1 delay 0 check yes
|
||||
|
||||
atom_style mdpd
|
||||
comm_modify vel yes
|
||||
|
||||
region mdpd block -25 25 -10 10 -10 10 units box
|
||||
create_box 1 mdpd
|
||||
|
||||
1
examples/PACKAGES/interlayer/aip_water_2dm/CBNOH.aip.water.2dm
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/CBNOH.aip.water.2dm
|
||||
@ -1 +0,0 @@
|
||||
../../../../potentials/COH.aip.water.2dm
|
||||
@ -1 +0,0 @@
|
||||
../../../../potentials/MoS2.ILP
|
||||
1
examples/PACKAGES/interlayer/ilp_tmds/TMD.ILP
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/TMD.ILP
|
||||
@ -12,7 +12,7 @@ mass 4 95.94
|
||||
pair_style hybrid/overlay sw/mod sw/mod ilp/tmd 16.0
|
||||
pair_coeff * * sw/mod 1 tmd.sw.mod Mo S S NULL NULL NULL
|
||||
pair_coeff * * sw/mod 2 tmd.sw.mod NULL NULL NULL Mo S S
|
||||
pair_coeff * * ilp/tmd MoS2.ILP Mo S S Mo S S
|
||||
pair_coeff * * ilp/tmd TMD.ILP Mo S S Mo S S
|
||||
|
||||
# Calculate the pair potential
|
||||
compute 0 all pair ilp/tmd
|
||||
|
||||
9
examples/PACKAGES/pace/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# This folder contains examples for pace in LAMMPS
|
||||
|
||||
|
||||
## Compute pace usage
|
||||
compute/latte_cell_0.data # lammps data file with C-H-O structure
|
||||
compute/latte_cell_0.xyz # xyz file with C-H-O structure
|
||||
compute/coupling_coefficients.yace # .yace file containing coupling coefficients (or ACE potential parameters)
|
||||
compute/in.compute # input file for calling `compute pace`
|
||||
|
||||
294
examples/PACKAGES/pace/compute/coupling_coefficients.yace
Normal file
@ -0,0 +1,294 @@
|
||||
elements: [H, N, O]
|
||||
E0: [0.000000, 0.000000, 0.000000]
|
||||
deltaSplineBins: 0.001000
|
||||
embeddings:
|
||||
0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250}
|
||||
1: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250}
|
||||
2: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250}
|
||||
bonds:
|
||||
[0, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.0, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[0, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[0, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[1, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[1, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 4.4, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[1, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[2, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[2, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
[2, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance}
|
||||
functions:
|
||||
0:
|
||||
- {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
1:
|
||||
- {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
2:
|
||||
- {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]}
|
||||
- {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
- {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]}
|
||||
22
examples/PACKAGES/pace/compute/in.compute
Normal file
@ -0,0 +1,22 @@
|
||||
#info all out log
|
||||
units metal
|
||||
atom_style atomic
|
||||
boundary p p p
|
||||
atom_modify map hash
|
||||
boundary p p p
|
||||
read_data latte_cell_0.data
|
||||
mass 1 1.00
|
||||
mass 2 14.00
|
||||
mass 3 15.999
|
||||
|
||||
# potential settings
|
||||
|
||||
pair_style zero 5.7
|
||||
pair_coeff * *
|
||||
|
||||
compute pace all pace coupling_coefficients.yace 1 0
|
||||
|
||||
thermo 1
|
||||
thermo_style custom step temp c_pace[1][183]
|
||||
|
||||
run 0
|
||||
172
examples/PACKAGES/pace/compute/latte_cell_0.data
Normal file
@ -0,0 +1,172 @@
|
||||
latte_cell_0.data (written by ASE)
|
||||
|
||||
161 atoms
|
||||
3 atom types
|
||||
0.0 12 xlo xhi
|
||||
0.0 12 ylo yhi
|
||||
0.0 12 zlo zhi
|
||||
|
||||
|
||||
Atoms
|
||||
|
||||
1 3 1.2688096799999999 2.0079938400000001 2.7446829899999998
|
||||
2 1 1.5343068200000001 2.0638766500000001 3.7105626900000002
|
||||
3 1 1.7848279600000001 2.6755003400000001 2.2268847200000002
|
||||
4 1 1.56251195 1.1089126899999999 2.3978115199999999
|
||||
5 1 11.61728216 5.71881094 2.4732045999999999
|
||||
6 2 6.5501865600000002 4.7439566800000001 3.6526025500000001
|
||||
7 1 6.4564895299999998 4.1571673000000002 2.6975267999999999
|
||||
8 2 2.0835561 1.59406078 8.5498047600000007
|
||||
9 1 1.1041162499999999 1.4971771599999999 8.1507879200000009
|
||||
10 1 2.60115534 2.2945960400000001 7.95374187
|
||||
11 1 1.9817723300000001 2.0194066400000001 9.5128239400000005
|
||||
12 1 0.99333338000000004 3.6983907299999998 8.1903947899999991
|
||||
13 3 4.9484070999999998 5.3645501400000004 9.16152503
|
||||
14 1 9.0716170599999995 9.3748453999999999 4.2276462400000003
|
||||
15 2 0.30864418999999998 7.7136657499999997 2.9274995599999998
|
||||
16 1 0.47661671 10.1807211 3.71160091
|
||||
17 1 1.07465334 7.8226921999999997 3.5771466900000002
|
||||
18 1 0.38402249999999999 8.3770493300000002 2.1748437100000002
|
||||
19 1 11.435413410000001 7.7903735999999997 3.4040245499999999
|
||||
20 3 6.1570384599999999 10.25988474 3.50899568
|
||||
21 1 5.5932224399999999 9.5632944700000007 3.1446559000000001
|
||||
22 2 1.7785569000000001 7.6312579300000003 9.1488452299999992
|
||||
23 1 2.5594048599999999 6.96832838 9.3069700199999996
|
||||
24 1 2.12441551 8.4547986999999996 8.6428622900000001
|
||||
25 1 1.04552782 7.1697722800000001 8.5894244999999998
|
||||
26 1 0.34824445999999998 10.17844028 9.1629463799999993
|
||||
27 3 5.9638830399999998 10.723709400000001 9.4568803900000002
|
||||
28 1 6.5890835699999997 10.926486110000001 8.7981925800000003
|
||||
29 2 7.1065890400000002 1.83029753 3.3452543600000002
|
||||
30 1 6.9229304999999997 1.8465022099999999 4.3089037100000001
|
||||
31 1 8.0780433600000006 1.9303052199999999 3.2089521400000001
|
||||
32 1 5.6795373600000003 10.471831630000001 4.3244390499999996
|
||||
33 1 6.82999417 0.95850113000000003 2.9815288199999999
|
||||
34 2 11.383805349999999 4.6301225199999996 2.5393688399999998
|
||||
35 1 0.37927047000000003 4.1943216300000001 2.59073807
|
||||
36 3 5.2376410099999999 1.91523463 9.7240636400000007
|
||||
37 1 4.7887202499999999 2.7036936499999999 9.5698142300000004
|
||||
38 1 9.8129906699999996 9.2075140700000002 4.08265499
|
||||
39 1 4.7980879500000002 1.1403494700000001 9.6739962800000008
|
||||
40 1 5.4455845600000004 2.0102099999999998 10.620773509999999
|
||||
41 3 0.90954338999999995 4.6240093199999999 8.3108110600000007
|
||||
42 1 11.909735319999999 4.7483814000000004 8.2500624600000005
|
||||
43 2 7.3223424499999998 7.5866457 3.0245226500000002
|
||||
44 1 7.4470362200000002 8.3169646700000008 3.7148003300000001
|
||||
45 1 6.9073805300000002 7.9385021 2.1723768699999999
|
||||
46 1 5.5542868500000004 5.1176065800000003 3.7655251999999999
|
||||
47 1 6.8124309500000004 6.7778811599999997 3.3973232499999999
|
||||
48 2 0.29575823000000001 11.04303794 3.1016142499999999
|
||||
49 1 0.86490721999999998 11.83879228 3.6389974500000002
|
||||
50 3 6.85201686 8.0846369300000003 8.8762878799999996
|
||||
51 1 7.3351430100000004 7.4263498700000001 9.3821674799999997
|
||||
52 1 6.7919613300000004 7.7595477199999996 7.9716174799999999
|
||||
53 1 3.8990487699999998 6.4283490399999996 8.8832409600000002
|
||||
54 1 5.95997296 9.9329723199999993 9.4746654699999997
|
||||
55 3 11.403658979999999 10.371960359999999 9.2766092199999992
|
||||
56 1 10.983666360000001 9.5157199800000001 9.1478757300000009
|
||||
57 3 1.5223279700000001 5.3327331100000004 0.57537605999999997
|
||||
58 1 2.3815113999999999 5.7251991200000001 0.77945295999999997
|
||||
59 1 0.92079957000000001 6.0931282299999996 0.62203253000000003
|
||||
60 3 11.23490924 2.9153355200000002 6.7585064099999999
|
||||
61 1 10.792340190000001 2.9755225099999998 5.9000018399999998
|
||||
62 1 10.751242059999999 2.1896156000000002 7.1807401500000001
|
||||
63 3 11.39027944 7.3462855600000001 6.7258299499999996
|
||||
64 1 10.92025679 6.69831954 7.2776696599999999
|
||||
65 1 11.12238028 7.0632020999999998 5.8394107799999997
|
||||
66 3 8.4684319499999994 10.71736286 10.60018556
|
||||
67 1 8.5672201599999998 11.420466080000001 11.25794033
|
||||
68 1 9.0803109800000001 10.04804949 10.9406517
|
||||
69 3 6.5851757299999996 9.9940623399999993 6.5574614899999997
|
||||
70 1 7.0276325799999997 10.76096604 6.1723333699999996
|
||||
71 1 5.7419327400000002 10.384583920000001 6.8228822999999998
|
||||
72 3 1.7600546399999999 1.01771919 5.4926787700000004
|
||||
73 1 1.9704209100000001 1.01748419 6.4429703700000003
|
||||
74 1 1.42973007 0.11076352 5.3470644900000002
|
||||
75 1 2.61130613 9.7034123700000006 10.450306830000001
|
||||
76 3 3.05086908 10.48131334 10.085189310000001
|
||||
77 1 3.0032693199999998 10.93357295 9.3652121000000008
|
||||
78 3 6.4631532199999997 8.7652058299999993 11.967847969999999
|
||||
79 1 6.4506808400000004 9.6596595300000008 11.588956019999999
|
||||
80 1 5.6611629700000003 8.3535737700000006 11.638443329999999
|
||||
81 3 1.1745999300000001 5.2420690800000003 5.1001449699999997
|
||||
82 1 1.31932881 5.5236392399999996 6.0128966300000002
|
||||
83 1 0.58053834999999998 4.4898134599999997 5.2325565000000003
|
||||
84 3 6.7275549699999999 0.78840874999999999 7.3817280900000002
|
||||
85 1 6.3887965600000003 1.54670982 6.8634520400000003
|
||||
86 1 7.6791783999999996 0.94039024000000004 7.2649461000000004
|
||||
87 3 8.5476657199999995 0.0064750299999999997 5.0450514100000001
|
||||
88 1 8.8736290899999997 11.10484108 4.8601807900000003
|
||||
89 1 8.0477597599999999 0.20198361000000001 4.2357399400000002
|
||||
90 3 1.2895030000000001 8.4280097900000008 11.82038504
|
||||
91 1 1.4766666399999999 8.1087866399999999 10.87290333
|
||||
92 1 2.10220669 8.1947620200000006 0.29510553
|
||||
93 3 9.6797907599999995 6.4207335499999996 4.3469150599999997
|
||||
94 1 8.9271530099999996 6.72940235 3.7974122399999999
|
||||
95 1 10.20024126 5.9167739199999998 3.66976111
|
||||
96 3 3.57411616 6.7041021699999996 3.8825478499999999
|
||||
97 1 2.8894899500000002 6.1560529800000001 4.2980848099999998
|
||||
98 1 4.3613707699999997 6.4304732400000004 4.3804965400000002
|
||||
99 3 4.7506556 11.441853350000001 1.12537088
|
||||
100 1 4.0861192800000001 10.748523670000001 1.1923347099999999
|
||||
101 1 5.5035301600000004 10.965688249999999 0.73651277000000004
|
||||
102 3 9.5254526399999992 4.8994443900000002 8.3732284099999994
|
||||
103 1 8.7885959800000002 4.3508043900000004 8.6632831400000008
|
||||
104 1 9.6149067499999994 4.6084911499999999 7.4540068699999997
|
||||
105 3 4.1970746700000001 1.34592128 3.67401439
|
||||
106 1 4.9437011999999996 0.74406280999999996 3.514068
|
||||
107 1 4.1905534900000001 1.7730376000000001 2.7963049400000002
|
||||
108 3 1.88232618 11.95451227 0.60024434000000004
|
||||
109 1 2.0464587299999999 11.02454723 0.38329541
|
||||
110 1 1.1518493700000001 0.17494340999999999 11.99928285
|
||||
111 3 3.7593842199999998 11.01685511 6.4562050800000002
|
||||
112 1 3.2125414299999999 10.4553747 5.8894917099999997
|
||||
113 1 3.4166026899999999 10.821557670000001 7.3296563900000002
|
||||
114 3 9.7039841399999993 3.95001545 11.894743249999999
|
||||
115 1 10.461666060000001 3.9163117999999999 11.285435229999999
|
||||
116 1 10.09834695 4.4026997400000001 0.68193007999999999
|
||||
117 3 8.5639596400000002 3.5169507499999999 5.6224104199999996
|
||||
118 1 8.3966650299999994 2.6262214699999999 5.2638164300000003
|
||||
119 1 7.9695371399999999 4.0825059799999996 5.0049407400000003
|
||||
120 3 9.6736245000000007 0.48030482000000002 7.9257577799999996
|
||||
121 1 9.6131980400000003 11.883419180000001 7.1680923999999999
|
||||
122 1 9.9784050299999993 11.90238635 8.63894187
|
||||
123 3 3.9424153099999999 6.9650296699999998 11.60258943
|
||||
124 1 4.2767152700000004 6.8460048999999996 10.670225220000001
|
||||
125 1 4.6570638500000001 6.5129461500000003 0.091159879999999999
|
||||
126 3 3.0570173199999999 9.6631958499999993 3.6611250599999998
|
||||
127 1 2.5400490100000002 9.5743355000000001 2.8444047600000002
|
||||
128 1 2.9314874400000002 8.7809807200000005 4.0425234200000002
|
||||
129 3 7.4549612700000001 5.8430850799999998 11.011384720000001
|
||||
130 1 8.1675884100000005 5.4639182799999997 10.47644287
|
||||
131 1 6.7135573700000002 5.8393818399999997 10.361099749999999
|
||||
132 3 9.8029139300000008 7.9578901699999998 10.21404942
|
||||
133 1 10.38910242 8.3400641400000008 10.87949429
|
||||
134 1 9.0637612000000001 7.6392374099999998 10.756928869999999
|
||||
135 3 4.4963435599999997 4.1067935799999997 11.73387805
|
||||
136 1 4.5473727899999998 4.9577970899999997 11.19223377
|
||||
137 1 5.3588818399999996 4.1756111699999998 0.20355936999999999
|
||||
138 3 9.5923448100000002 7.3418014600000001 1.34856172
|
||||
139 1 8.8715593300000002 7.4776837199999999 2.05040471
|
||||
140 1 9.0443221699999992 7.2732200799999998 0.54011714
|
||||
141 3 7.0350963100000001 3.22348773 0.7070824
|
||||
142 1 7.1784470499999999 4.1340314300000003 1.0184109699999999
|
||||
143 1 7.7787854400000001 2.7888888399999998 1.15838887
|
||||
144 3 9.2124107800000008 0.48085899999999998 1.21751966
|
||||
145 1 9.6620436499999993 11.657271079999999 1.45318397
|
||||
146 1 9.9404883900000005 1.11619136 1.18684594
|
||||
147 3 1.19704207 9.5859959200000002 6.6190888899999996
|
||||
148 1 0.25606413 9.6737366500000004 6.8319340899999998
|
||||
149 1 1.2690051899999999 8.6249354900000004 6.5480112500000001
|
||||
150 3 0.78256133999999999 2.6040609300000002 11.453408359999999
|
||||
151 1 0.61502181 3.5607405999999999 11.40300991
|
||||
152 1 1.55655312 2.5457368800000002 10.866733030000001
|
||||
153 3 5.8627936099999998 7.1217054800000001 5.89173203
|
||||
154 1 6.3432410700000004 7.9400136699999999 6.0855840299999997
|
||||
155 1 5.5077296699999998 6.8468306800000001 6.7436875799999996
|
||||
156 3 10.887828150000001 9.9637482500000001 0.51092815999999996
|
||||
157 1 11.78841776 10.322043069999999 0.44704989000000001
|
||||
158 1 11.02688182 9.2051906700000004 1.0976661299999999
|
||||
159 3 3.93073389 4.1645674499999998 5.7137877000000001
|
||||
160 1 4.6884062999999996 3.5788913299999998 5.5644605800000004
|
||||
161 1 4.2956948500000003 4.7644888099999996 6.3801669700000003
|
||||
163
examples/PACKAGES/pace/compute/latte_cell_0.xyz
Normal file
@ -0,0 +1,163 @@
|
||||
161
|
||||
Lattice="12.0 0.0 0.0 0.0 12.0 0.0 0.0 0.0 12.0" Properties=species:S:1:pos:R:3 pbc="T T T"
|
||||
O 1.26880968 2.00799384 2.74468299
|
||||
H 1.53430682 2.06387665 3.71056269
|
||||
H 1.78482796 2.67550034 2.22688472
|
||||
H 1.56251195 1.10891269 2.39781152
|
||||
H 11.61728216 5.71881094 2.47320460
|
||||
N 6.55018656 4.74395668 3.65260255
|
||||
H 6.45648953 4.15716730 2.69752680
|
||||
N 2.08355610 1.59406078 8.54980476
|
||||
H 1.10411625 1.49717716 8.15078792
|
||||
H 2.60115534 2.29459604 7.95374187
|
||||
H 1.98177233 2.01940664 9.51282394
|
||||
H 0.99333338 3.69839073 8.19039479
|
||||
O 4.94840710 5.36455014 9.16152503
|
||||
H 9.07161706 9.37484540 4.22764624
|
||||
N 0.30864419 7.71366575 2.92749956
|
||||
H 0.47661671 10.18072110 3.71160091
|
||||
H 1.07465334 7.82269220 3.57714669
|
||||
H 0.38402250 8.37704933 2.17484371
|
||||
H 11.43541341 7.79037360 3.40402455
|
||||
O 6.15703846 10.25988474 3.50899568
|
||||
H 5.59322244 9.56329447 3.14465590
|
||||
N 1.77855690 7.63125793 9.14884523
|
||||
H 2.55940486 6.96832838 9.30697002
|
||||
H 2.12441551 8.45479870 8.64286229
|
||||
H 1.04552782 7.16977228 8.58942450
|
||||
H 0.34824446 10.17844028 9.16294638
|
||||
O 5.96388304 10.72370940 9.45688039
|
||||
H 6.58908357 10.92648611 8.79819258
|
||||
N 7.10658904 1.83029753 3.34525436
|
||||
H 6.92293050 1.84650221 4.30890371
|
||||
H 8.07804336 1.93030522 3.20895214
|
||||
H 5.67953736 10.47183163 4.32443905
|
||||
H 6.82999417 0.95850113 2.98152882
|
||||
N 11.38380535 4.63012252 2.53936884
|
||||
H 0.37927047 4.19432163 2.59073807
|
||||
O 5.23764101 1.91523463 9.72406364
|
||||
H 4.78872025 2.70369365 9.56981423
|
||||
H 9.81299067 9.20751407 4.08265499
|
||||
H 4.79808795 1.14034947 9.67399628
|
||||
H 5.44558456 2.01021000 10.62077351
|
||||
O 0.90954339 4.62400932 8.31081106
|
||||
H 11.90973532 4.74838140 8.25006246
|
||||
N 7.32234245 7.58664570 3.02452265
|
||||
H 7.44703622 8.31696467 3.71480033
|
||||
H 6.90738053 7.93850210 2.17237687
|
||||
H 5.55428685 5.11760658 3.76552520
|
||||
H 6.81243095 6.77788116 3.39732325
|
||||
N 0.29575823 11.04303794 3.10161425
|
||||
H 0.86490722 11.83879228 3.63899745
|
||||
O 6.85201686 8.08463693 8.87628788
|
||||
H 7.33514301 7.42634987 9.38216748
|
||||
H 6.79196133 7.75954772 7.97161748
|
||||
H 3.89904877 6.42834904 8.88324096
|
||||
H 5.95997296 9.93297232 9.47466547
|
||||
O 11.40365898 10.37196036 9.27660922
|
||||
H 10.98366636 9.51571998 9.14787573
|
||||
O 1.52232797 5.33273311 0.57537606
|
||||
H 2.38151140 5.72519912 0.77945296
|
||||
H 0.92079957 6.09312823 0.62203253
|
||||
O 11.23490924 2.91533552 6.75850641
|
||||
H 10.79234019 2.97552251 5.90000184
|
||||
H 10.75124206 2.18961560 7.18074015
|
||||
O 11.39027944 7.34628556 6.72582995
|
||||
H 10.92025679 6.69831954 7.27766966
|
||||
H 11.12238028 7.06320210 5.83941078
|
||||
O 8.46843195 10.71736286 10.60018556
|
||||
H 8.56722016 11.42046608 11.25794033
|
||||
H 9.08031098 10.04804949 10.94065170
|
||||
O 6.58517573 9.99406234 6.55746149
|
||||
H 7.02763258 10.76096604 6.17233337
|
||||
H 5.74193274 10.38458392 6.82288230
|
||||
O 1.76005464 1.01771919 5.49267877
|
||||
H 1.97042091 1.01748419 6.44297037
|
||||
H 1.42973007 0.11076352 5.34706449
|
||||
H 2.61130613 9.70341237 10.45030683
|
||||
O 3.05086908 10.48131334 10.08518931
|
||||
H 3.00326932 10.93357295 9.36521210
|
||||
O 6.46315322 8.76520583 11.96784797
|
||||
H 6.45068084 9.65965953 11.58895602
|
||||
H 5.66116297 8.35357377 11.63844333
|
||||
O 1.17459993 5.24206908 5.10014497
|
||||
H 1.31932881 5.52363924 6.01289663
|
||||
H 0.58053835 4.48981346 5.23255650
|
||||
O 6.72755497 0.78840875 7.38172809
|
||||
H 6.38879656 1.54670982 6.86345204
|
||||
H 7.67917840 0.94039024 7.26494610
|
||||
O 8.54766572 0.00647503 5.04505141
|
||||
H 8.87362909 11.10484108 4.86018079
|
||||
H 8.04775976 0.20198361 4.23573994
|
||||
O 1.28950300 8.42800979 11.82038504
|
||||
H 1.47666664 8.10878664 10.87290333
|
||||
H 2.10220669 8.19476202 0.29510553
|
||||
O 9.67979076 6.42073355 4.34691506
|
||||
H 8.92715301 6.72940235 3.79741224
|
||||
H 10.20024126 5.91677392 3.66976111
|
||||
O 3.57411616 6.70410217 3.88254785
|
||||
H 2.88948995 6.15605298 4.29808481
|
||||
H 4.36137077 6.43047324 4.38049654
|
||||
O 4.75065560 11.44185335 1.12537088
|
||||
H 4.08611928 10.74852367 1.19233471
|
||||
H 5.50353016 10.96568825 0.73651277
|
||||
O 9.52545264 4.89944439 8.37322841
|
||||
H 8.78859598 4.35080439 8.66328314
|
||||
H 9.61490675 4.60849115 7.45400687
|
||||
O 4.19707467 1.34592128 3.67401439
|
||||
H 4.94370120 0.74406281 3.51406800
|
||||
H 4.19055349 1.77303760 2.79630494
|
||||
O 1.88232618 11.95451227 0.60024434
|
||||
H 2.04645873 11.02454723 0.38329541
|
||||
H 1.15184937 0.17494341 11.99928285
|
||||
O 3.75938422 11.01685511 6.45620508
|
||||
H 3.21254143 10.45537470 5.88949171
|
||||
H 3.41660269 10.82155767 7.32965639
|
||||
O 9.70398414 3.95001545 11.89474325
|
||||
H 10.46166606 3.91631180 11.28543523
|
||||
H 10.09834695 4.40269974 0.68193008
|
||||
O 8.56395964 3.51695075 5.62241042
|
||||
H 8.39666503 2.62622147 5.26381643
|
||||
H 7.96953714 4.08250598 5.00494074
|
||||
O 9.67362450 0.48030482 7.92575778
|
||||
H 9.61319804 11.88341918 7.16809240
|
||||
H 9.97840503 11.90238635 8.63894187
|
||||
O 3.94241531 6.96502967 11.60258943
|
||||
H 4.27671527 6.84600490 10.67022522
|
||||
H 4.65706385 6.51294615 0.09115988
|
||||
O 3.05701732 9.66319585 3.66112506
|
||||
H 2.54004901 9.57433550 2.84440476
|
||||
H 2.93148744 8.78098072 4.04252342
|
||||
O 7.45496127 5.84308508 11.01138472
|
||||
H 8.16758841 5.46391828 10.47644287
|
||||
H 6.71355737 5.83938184 10.36109975
|
||||
O 9.80291393 7.95789017 10.21404942
|
||||
H 10.38910242 8.34006414 10.87949429
|
||||
H 9.06376120 7.63923741 10.75692887
|
||||
O 4.49634356 4.10679358 11.73387805
|
||||
H 4.54737279 4.95779709 11.19223377
|
||||
H 5.35888184 4.17561117 0.20355937
|
||||
O 9.59234481 7.34180146 1.34856172
|
||||
H 8.87155933 7.47768372 2.05040471
|
||||
H 9.04432217 7.27322008 0.54011714
|
||||
O 7.03509631 3.22348773 0.70708240
|
||||
H 7.17844705 4.13403143 1.01841097
|
||||
H 7.77878544 2.78888884 1.15838887
|
||||
O 9.21241078 0.48085900 1.21751966
|
||||
H 9.66204365 11.65727108 1.45318397
|
||||
H 9.94048839 1.11619136 1.18684594
|
||||
O 1.19704207 9.58599592 6.61908889
|
||||
H 0.25606413 9.67373665 6.83193409
|
||||
H 1.26900519 8.62493549 6.54801125
|
||||
O 0.78256134 2.60406093 11.45340836
|
||||
H 0.61502181 3.56074060 11.40300991
|
||||
H 1.55655312 2.54573688 10.86673303
|
||||
O 5.86279361 7.12170548 5.89173203
|
||||
H 6.34324107 7.94001367 6.08558403
|
||||
H 5.50772967 6.84683068 6.74368758
|
||||
O 10.88782815 9.96374825 0.51092816
|
||||
H 11.78841776 10.32204307 0.44704989
|
||||
H 11.02688182 9.20519067 1.09766613
|
||||
O 3.93073389 4.16456745 5.71378770
|
||||
H 4.68840630 3.57889133 5.56446058
|
||||
H 4.29569485 4.76448881 6.38016697
|
||||
81
examples/PACKAGES/pace/compute/log.5Dec23.compute.g++.1
Normal file
@ -0,0 +1,81 @@
|
||||
LAMMPS (21 Nov 2023)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
#info all out log
|
||||
units metal
|
||||
atom_style atomic
|
||||
boundary p p p
|
||||
atom_modify map hash
|
||||
boundary p p p
|
||||
read_data latte_cell_0.data
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (12 12 12)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
161 atoms
|
||||
read_data CPU = 0.001 seconds
|
||||
mass 1 1.00
|
||||
mass 2 14.00
|
||||
mass 3 15.999
|
||||
|
||||
# potential settings
|
||||
|
||||
pair_style zero 5.7
|
||||
pair_coeff * *
|
||||
|
||||
compute pace all pace coupling_coefficients.yace 1 0
|
||||
|
||||
thermo 1
|
||||
thermo_style custom step temp c_pace[1][183]
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 3 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 = 7.7
|
||||
ghost atom cutoff = 7.7
|
||||
binsize = 3.85, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) compute pace, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.993 | 6.993 | 6.993 Mbytes
|
||||
Step Temp c_pace[1][183]
|
||||
0 0 8.6885642
|
||||
Loop time of 1.217e-06 on 1 procs for 0 steps with 161 atoms
|
||||
|
||||
164.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 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.217e-06 | | |100.00
|
||||
|
||||
Nlocal: 161 ave 161 max 161 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1754 ave 1754 max 1754 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 14230 ave 14230 max 14230 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 28460 ave 28460 max 28460 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 28460
|
||||
Ave neighs/atom = 176.77019
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
81
examples/PACKAGES/pace/compute/log.5Dec23.compute.g++.4
Normal file
@ -0,0 +1,81 @@
|
||||
LAMMPS (21 Nov 2023)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
#info all out log
|
||||
units metal
|
||||
atom_style atomic
|
||||
boundary p p p
|
||||
atom_modify map hash
|
||||
boundary p p p
|
||||
read_data latte_cell_0.data
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (12 12 12)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
161 atoms
|
||||
read_data CPU = 0.001 seconds
|
||||
mass 1 1.00
|
||||
mass 2 14.00
|
||||
mass 3 15.999
|
||||
|
||||
# potential settings
|
||||
|
||||
pair_style zero 5.7
|
||||
pair_coeff * *
|
||||
|
||||
compute pace all pace coupling_coefficients.yace 1 0
|
||||
|
||||
thermo 1
|
||||
thermo_style custom step temp c_pace[1][183]
|
||||
|
||||
run 0
|
||||
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
|
||||
Generated 0 of 3 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 = 7.7
|
||||
ghost atom cutoff = 7.7
|
||||
binsize = 3.85, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) compute pace, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.97 | 6.97 | 6.971 Mbytes
|
||||
Step Temp c_pace[1][183]
|
||||
0 0 8.6885642
|
||||
Loop time of 1.979e-06 on 4 procs for 0 steps with 161 atoms
|
||||
|
||||
164.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 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.979e-06 | | |100.00
|
||||
|
||||
Nlocal: 40.25 ave 44 max 35 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 1 1
|
||||
Nghost: 1134.5 ave 1159 max 1117 min
|
||||
Histogram: 1 1 0 0 1 0 0 0 0 1
|
||||
Neighs: 3557.5 ave 4115 max 3189 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
FullNghs: 7115 ave 7755 max 6158 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 28460
|
||||
Ave neighs/atom = 176.77019
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
||||
1
examples/PACKAGES/sna_nnn_slcsa/Zr_mm.eam.fs
Symbolic link
@ -0,0 +1 @@
|
||||
../../../potentials/Zr_mm.eam.fs
|
||||
879
examples/PACKAGES/sna_nnn_slcsa/data.zr_cell
Normal file
@ -0,0 +1,879 @@
|
||||
# Hcp Zr with box vectors H1=[2-1-10], H2=[-12-10], H3=[0001].
|
||||
|
||||
864 atoms
|
||||
1 atom types
|
||||
|
||||
0.000000000000 19.374000000000 xlo xhi
|
||||
0.000000000000 33.556752345839 ylo yhi
|
||||
0.000000000000 30.846000000000 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 91.22400000 # Zr
|
||||
|
||||
Atoms # atomic
|
||||
|
||||
1 1 0.000000000000 1.864264019213 2.570500000000
|
||||
2 1 0.000000000000 0.000000000000 0.000000000000
|
||||
3 1 1.614500000000 4.660660048033 2.570500000000
|
||||
4 1 1.614500000000 2.796396028820 0.000000000000
|
||||
5 1 3.229000000000 1.864264019213 2.570500000000
|
||||
6 1 3.229000000000 0.000000000000 0.000000000000
|
||||
7 1 4.843500000000 4.660660048033 2.570500000000
|
||||
8 1 4.843500000000 2.796396028820 0.000000000000
|
||||
9 1 6.458000000000 1.864264019213 2.570500000000
|
||||
10 1 6.458000000000 0.000000000000 0.000000000000
|
||||
11 1 8.072500000000 4.660660048033 2.570500000000
|
||||
12 1 8.072500000000 2.796396028820 0.000000000000
|
||||
13 1 9.687000000000 1.864264019213 2.570500000000
|
||||
14 1 9.687000000000 0.000000000000 0.000000000000
|
||||
15 1 11.301500000000 4.660660048033 2.570500000000
|
||||
16 1 11.301500000000 2.796396028820 0.000000000000
|
||||
17 1 12.916000000000 1.864264019213 2.570500000000
|
||||
18 1 12.916000000000 0.000000000000 0.000000000000
|
||||
19 1 14.530500000000 4.660660048033 2.570500000000
|
||||
20 1 14.530500000000 2.796396028820 0.000000000000
|
||||
21 1 16.145000000000 1.864264019213 2.570500000000
|
||||
22 1 16.145000000000 0.000000000000 0.000000000000
|
||||
23 1 17.759500000000 4.660660048033 2.570500000000
|
||||
24 1 17.759500000000 2.796396028820 0.000000000000
|
||||
25 1 0.000000000000 7.457056076853 2.570500000000
|
||||
26 1 0.000000000000 5.592792057640 0.000000000000
|
||||
27 1 1.614500000000 10.253452105673 2.570500000000
|
||||
28 1 1.614500000000 8.389188086460 0.000000000000
|
||||
29 1 3.229000000000 7.457056076853 2.570500000000
|
||||
30 1 3.229000000000 5.592792057640 0.000000000000
|
||||
31 1 4.843500000000 10.253452105673 2.570500000000
|
||||
32 1 4.843500000000 8.389188086460 0.000000000000
|
||||
33 1 6.458000000000 7.457056076853 2.570500000000
|
||||
34 1 6.458000000000 5.592792057640 0.000000000000
|
||||
35 1 8.072500000000 10.253452105673 2.570500000000
|
||||
36 1 8.072500000000 8.389188086460 0.000000000000
|
||||
37 1 9.687000000000 7.457056076853 2.570500000000
|
||||
38 1 9.687000000000 5.592792057640 0.000000000000
|
||||
39 1 11.301500000000 10.253452105673 2.570500000000
|
||||
40 1 11.301500000000 8.389188086460 0.000000000000
|
||||
41 1 12.916000000000 7.457056076853 2.570500000000
|
||||
42 1 12.916000000000 5.592792057640 0.000000000000
|
||||
43 1 14.530500000000 10.253452105673 2.570500000000
|
||||
44 1 14.530500000000 8.389188086460 0.000000000000
|
||||
45 1 16.145000000000 7.457056076853 2.570500000000
|
||||
46 1 16.145000000000 5.592792057640 0.000000000000
|
||||
47 1 17.759500000000 10.253452105673 2.570500000000
|
||||
48 1 17.759500000000 8.389188086460 0.000000000000
|
||||
49 1 0.000000000000 13.049848134493 2.570500000000
|
||||
50 1 0.000000000000 11.185584115280 0.000000000000
|
||||
51 1 1.614500000000 15.846244163313 2.570500000000
|
||||
52 1 1.614500000000 13.981980144100 0.000000000000
|
||||
53 1 3.229000000000 13.049848134493 2.570500000000
|
||||
54 1 3.229000000000 11.185584115280 0.000000000000
|
||||
55 1 4.843500000000 15.846244163313 2.570500000000
|
||||
56 1 4.843500000000 13.981980144100 0.000000000000
|
||||
57 1 6.458000000000 13.049848134493 2.570500000000
|
||||
58 1 6.458000000000 11.185584115280 0.000000000000
|
||||
59 1 8.072500000000 15.846244163313 2.570500000000
|
||||
60 1 8.072500000000 13.981980144100 0.000000000000
|
||||
61 1 9.687000000000 13.049848134493 2.570500000000
|
||||
62 1 9.687000000000 11.185584115280 0.000000000000
|
||||
63 1 11.301500000000 15.846244163313 2.570500000000
|
||||
64 1 11.301500000000 13.981980144100 0.000000000000
|
||||
65 1 12.916000000000 13.049848134493 2.570500000000
|
||||
66 1 12.916000000000 11.185584115280 0.000000000000
|
||||
67 1 14.530500000000 15.846244163313 2.570500000000
|
||||
68 1 14.530500000000 13.981980144100 0.000000000000
|
||||
69 1 16.145000000000 13.049848134493 2.570500000000
|
||||
70 1 16.145000000000 11.185584115280 0.000000000000
|
||||
71 1 17.759500000000 15.846244163313 2.570500000000
|
||||
72 1 17.759500000000 13.981980144100 0.000000000000
|
||||
73 1 0.000000000000 18.642640192133 2.570500000000
|
||||
74 1 0.000000000000 16.778376172920 0.000000000000
|
||||
75 1 1.614500000000 21.439036220953 2.570500000000
|
||||
76 1 1.614500000000 19.574772201740 0.000000000000
|
||||
77 1 3.229000000000 18.642640192133 2.570500000000
|
||||
78 1 3.229000000000 16.778376172920 0.000000000000
|
||||
79 1 4.843500000000 21.439036220953 2.570500000000
|
||||
80 1 4.843500000000 19.574772201740 0.000000000000
|
||||
81 1 6.458000000000 18.642640192133 2.570500000000
|
||||
82 1 6.458000000000 16.778376172920 0.000000000000
|
||||
83 1 8.072500000000 21.439036220953 2.570500000000
|
||||
84 1 8.072500000000 19.574772201740 0.000000000000
|
||||
85 1 9.687000000000 18.642640192133 2.570500000000
|
||||
86 1 9.687000000000 16.778376172920 0.000000000000
|
||||
87 1 11.301500000000 21.439036220953 2.570500000000
|
||||
88 1 11.301500000000 19.574772201740 0.000000000000
|
||||
89 1 12.916000000000 18.642640192133 2.570500000000
|
||||
90 1 12.916000000000 16.778376172920 0.000000000000
|
||||
91 1 14.530500000000 21.439036220953 2.570500000000
|
||||
92 1 14.530500000000 19.574772201740 0.000000000000
|
||||
93 1 16.145000000000 18.642640192133 2.570500000000
|
||||
94 1 16.145000000000 16.778376172920 0.000000000000
|
||||
95 1 17.759500000000 21.439036220953 2.570500000000
|
||||
96 1 17.759500000000 19.574772201740 0.000000000000
|
||||
97 1 0.000000000000 24.235432249773 2.570500000000
|
||||
98 1 0.000000000000 22.371168230560 0.000000000000
|
||||
99 1 1.614500000000 27.031828278593 2.570500000000
|
||||
100 1 1.614500000000 25.167564259380 0.000000000000
|
||||
101 1 3.229000000000 24.235432249773 2.570500000000
|
||||
102 1 3.229000000000 22.371168230560 0.000000000000
|
||||
103 1 4.843500000000 27.031828278593 2.570500000000
|
||||
104 1 4.843500000000 25.167564259380 0.000000000000
|
||||
105 1 6.458000000000 24.235432249773 2.570500000000
|
||||
106 1 6.458000000000 22.371168230560 0.000000000000
|
||||
107 1 8.072500000000 27.031828278593 2.570500000000
|
||||
108 1 8.072500000000 25.167564259380 0.000000000000
|
||||
109 1 9.687000000000 24.235432249773 2.570500000000
|
||||
110 1 9.687000000000 22.371168230560 0.000000000000
|
||||
111 1 11.301500000000 27.031828278593 2.570500000000
|
||||
112 1 11.301500000000 25.167564259380 0.000000000000
|
||||
113 1 12.916000000000 24.235432249773 2.570500000000
|
||||
114 1 12.916000000000 22.371168230560 0.000000000000
|
||||
115 1 14.530500000000 27.031828278593 2.570500000000
|
||||
116 1 14.530500000000 25.167564259380 0.000000000000
|
||||
117 1 16.145000000000 24.235432249773 2.570500000000
|
||||
118 1 16.145000000000 22.371168230560 0.000000000000
|
||||
119 1 17.759500000000 27.031828278593 2.570500000000
|
||||
120 1 17.759500000000 25.167564259380 0.000000000000
|
||||
121 1 0.000000000000 29.828224307413 2.570500000000
|
||||
122 1 0.000000000000 27.963960288200 0.000000000000
|
||||
123 1 1.614500000000 32.624620336233 2.570500000000
|
||||
124 1 1.614500000000 30.760356317019 0.000000000000
|
||||
125 1 3.229000000000 29.828224307413 2.570500000000
|
||||
126 1 3.229000000000 27.963960288200 0.000000000000
|
||||
127 1 4.843500000000 32.624620336233 2.570500000000
|
||||
128 1 4.843500000000 30.760356317019 0.000000000000
|
||||
129 1 6.458000000000 29.828224307413 2.570500000000
|
||||
130 1 6.458000000000 27.963960288200 0.000000000000
|
||||
131 1 8.072500000000 32.624620336233 2.570500000000
|
||||
132 1 8.072500000000 30.760356317019 0.000000000000
|
||||
133 1 9.687000000000 29.828224307413 2.570500000000
|
||||
134 1 9.687000000000 27.963960288200 0.000000000000
|
||||
135 1 11.301500000000 32.624620336233 2.570500000000
|
||||
136 1 11.301500000000 30.760356317019 0.000000000000
|
||||
137 1 12.916000000000 29.828224307413 2.570500000000
|
||||
138 1 12.916000000000 27.963960288200 0.000000000000
|
||||
139 1 14.530500000000 32.624620336233 2.570500000000
|
||||
140 1 14.530500000000 30.760356317019 0.000000000000
|
||||
141 1 16.145000000000 29.828224307413 2.570500000000
|
||||
142 1 16.145000000000 27.963960288200 0.000000000000
|
||||
143 1 17.759500000000 32.624620336233 2.570500000000
|
||||
144 1 17.759500000000 30.760356317019 0.000000000000
|
||||
145 1 0.000000000000 1.864264019213 7.711500000000
|
||||
146 1 0.000000000000 0.000000000000 5.141000000000
|
||||
147 1 1.614500000000 4.660660048033 7.711500000000
|
||||
148 1 1.614500000000 2.796396028820 5.141000000000
|
||||
149 1 3.229000000000 1.864264019213 7.711500000000
|
||||
150 1 3.229000000000 0.000000000000 5.141000000000
|
||||
151 1 4.843500000000 4.660660048033 7.711500000000
|
||||
152 1 4.843500000000 2.796396028820 5.141000000000
|
||||
153 1 6.458000000000 1.864264019213 7.711500000000
|
||||
154 1 6.458000000000 0.000000000000 5.141000000000
|
||||
155 1 8.072500000000 4.660660048033 7.711500000000
|
||||
156 1 8.072500000000 2.796396028820 5.141000000000
|
||||
157 1 9.687000000000 1.864264019213 7.711500000000
|
||||
158 1 9.687000000000 0.000000000000 5.141000000000
|
||||
159 1 11.301500000000 4.660660048033 7.711500000000
|
||||
160 1 11.301500000000 2.796396028820 5.141000000000
|
||||
161 1 12.916000000000 1.864264019213 7.711500000000
|
||||
162 1 12.916000000000 0.000000000000 5.141000000000
|
||||
163 1 14.530500000000 4.660660048033 7.711500000000
|
||||
164 1 14.530500000000 2.796396028820 5.141000000000
|
||||
165 1 16.145000000000 1.864264019213 7.711500000000
|
||||
166 1 16.145000000000 0.000000000000 5.141000000000
|
||||
167 1 17.759500000000 4.660660048033 7.711500000000
|
||||
168 1 17.759500000000 2.796396028820 5.141000000000
|
||||
169 1 0.000000000000 7.457056076853 7.711500000000
|
||||
170 1 0.000000000000 5.592792057640 5.141000000000
|
||||
171 1 1.614500000000 10.253452105673 7.711500000000
|
||||
172 1 1.614500000000 8.389188086460 5.141000000000
|
||||
173 1 3.229000000000 7.457056076853 7.711500000000
|
||||
174 1 3.229000000000 5.592792057640 5.141000000000
|
||||
175 1 4.843500000000 10.253452105673 7.711500000000
|
||||
176 1 4.843500000000 8.389188086460 5.141000000000
|
||||
177 1 6.458000000000 7.457056076853 7.711500000000
|
||||
178 1 6.458000000000 5.592792057640 5.141000000000
|
||||
179 1 8.072500000000 10.253452105673 7.711500000000
|
||||
180 1 8.072500000000 8.389188086460 5.141000000000
|
||||
181 1 9.687000000000 7.457056076853 7.711500000000
|
||||
182 1 9.687000000000 5.592792057640 5.141000000000
|
||||
183 1 11.301500000000 10.253452105673 7.711500000000
|
||||
184 1 11.301500000000 8.389188086460 5.141000000000
|
||||
185 1 12.916000000000 7.457056076853 7.711500000000
|
||||
186 1 12.916000000000 5.592792057640 5.141000000000
|
||||
187 1 14.530500000000 10.253452105673 7.711500000000
|
||||
188 1 14.530500000000 8.389188086460 5.141000000000
|
||||
189 1 16.145000000000 7.457056076853 7.711500000000
|
||||
190 1 16.145000000000 5.592792057640 5.141000000000
|
||||
191 1 17.759500000000 10.253452105673 7.711500000000
|
||||
192 1 17.759500000000 8.389188086460 5.141000000000
|
||||
193 1 0.000000000000 13.049848134493 7.711500000000
|
||||
194 1 0.000000000000 11.185584115280 5.141000000000
|
||||
195 1 1.614500000000 15.846244163313 7.711500000000
|
||||
196 1 1.614500000000 13.981980144100 5.141000000000
|
||||
197 1 3.229000000000 13.049848134493 7.711500000000
|
||||
198 1 3.229000000000 11.185584115280 5.141000000000
|
||||
199 1 4.843500000000 15.846244163313 7.711500000000
|
||||
200 1 4.843500000000 13.981980144100 5.141000000000
|
||||
201 1 6.458000000000 13.049848134493 7.711500000000
|
||||
202 1 6.458000000000 11.185584115280 5.141000000000
|
||||
203 1 8.072500000000 15.846244163313 7.711500000000
|
||||
204 1 8.072500000000 13.981980144100 5.141000000000
|
||||
205 1 9.687000000000 13.049848134493 7.711500000000
|
||||
206 1 9.687000000000 11.185584115280 5.141000000000
|
||||
207 1 11.301500000000 15.846244163313 7.711500000000
|
||||
208 1 11.301500000000 13.981980144100 5.141000000000
|
||||
209 1 12.916000000000 13.049848134493 7.711500000000
|
||||
210 1 12.916000000000 11.185584115280 5.141000000000
|
||||
211 1 14.530500000000 15.846244163313 7.711500000000
|
||||
212 1 14.530500000000 13.981980144100 5.141000000000
|
||||
213 1 16.145000000000 13.049848134493 7.711500000000
|
||||
214 1 16.145000000000 11.185584115280 5.141000000000
|
||||
215 1 17.759500000000 15.846244163313 7.711500000000
|
||||
216 1 17.759500000000 13.981980144100 5.141000000000
|
||||
217 1 0.000000000000 18.642640192133 7.711500000000
|
||||
218 1 0.000000000000 16.778376172920 5.141000000000
|
||||
219 1 1.614500000000 21.439036220953 7.711500000000
|
||||
220 1 1.614500000000 19.574772201740 5.141000000000
|
||||
221 1 3.229000000000 18.642640192133 7.711500000000
|
||||
222 1 3.229000000000 16.778376172920 5.141000000000
|
||||
223 1 4.843500000000 21.439036220953 7.711500000000
|
||||
224 1 4.843500000000 19.574772201740 5.141000000000
|
||||
225 1 6.458000000000 18.642640192133 7.711500000000
|
||||
226 1 6.458000000000 16.778376172920 5.141000000000
|
||||
227 1 8.072500000000 21.439036220953 7.711500000000
|
||||
228 1 8.072500000000 19.574772201740 5.141000000000
|
||||
229 1 9.687000000000 18.642640192133 7.711500000000
|
||||
230 1 9.687000000000 16.778376172920 5.141000000000
|
||||
231 1 11.301500000000 21.439036220953 7.711500000000
|
||||
232 1 11.301500000000 19.574772201740 5.141000000000
|
||||
233 1 12.916000000000 18.642640192133 7.711500000000
|
||||
234 1 12.916000000000 16.778376172920 5.141000000000
|
||||
235 1 14.530500000000 21.439036220953 7.711500000000
|
||||
236 1 14.530500000000 19.574772201740 5.141000000000
|
||||
237 1 16.145000000000 18.642640192133 7.711500000000
|
||||
238 1 16.145000000000 16.778376172920 5.141000000000
|
||||
239 1 17.759500000000 21.439036220953 7.711500000000
|
||||
240 1 17.759500000000 19.574772201740 5.141000000000
|
||||
241 1 0.000000000000 24.235432249773 7.711500000000
|
||||
242 1 0.000000000000 22.371168230560 5.141000000000
|
||||
243 1 1.614500000000 27.031828278593 7.711500000000
|
||||
244 1 1.614500000000 25.167564259380 5.141000000000
|
||||
245 1 3.229000000000 24.235432249773 7.711500000000
|
||||
246 1 3.229000000000 22.371168230560 5.141000000000
|
||||
247 1 4.843500000000 27.031828278593 7.711500000000
|
||||
248 1 4.843500000000 25.167564259380 5.141000000000
|
||||
249 1 6.458000000000 24.235432249773 7.711500000000
|
||||
250 1 6.458000000000 22.371168230560 5.141000000000
|
||||
251 1 8.072500000000 27.031828278593 7.711500000000
|
||||
252 1 8.072500000000 25.167564259380 5.141000000000
|
||||
253 1 9.687000000000 24.235432249773 7.711500000000
|
||||
254 1 9.687000000000 22.371168230560 5.141000000000
|
||||
255 1 11.301500000000 27.031828278593 7.711500000000
|
||||
256 1 11.301500000000 25.167564259380 5.141000000000
|
||||
257 1 12.916000000000 24.235432249773 7.711500000000
|
||||
258 1 12.916000000000 22.371168230560 5.141000000000
|
||||
259 1 14.530500000000 27.031828278593 7.711500000000
|
||||
260 1 14.530500000000 25.167564259380 5.141000000000
|
||||
261 1 16.145000000000 24.235432249773 7.711500000000
|
||||
262 1 16.145000000000 22.371168230560 5.141000000000
|
||||
263 1 17.759500000000 27.031828278593 7.711500000000
|
||||
264 1 17.759500000000 25.167564259380 5.141000000000
|
||||
265 1 0.000000000000 29.828224307413 7.711500000000
|
||||
266 1 0.000000000000 27.963960288200 5.141000000000
|
||||
267 1 1.614500000000 32.624620336233 7.711500000000
|
||||
268 1 1.614500000000 30.760356317019 5.141000000000
|
||||
269 1 3.229000000000 29.828224307413 7.711500000000
|
||||
270 1 3.229000000000 27.963960288200 5.141000000000
|
||||
271 1 4.843500000000 32.624620336233 7.711500000000
|
||||
272 1 4.843500000000 30.760356317019 5.141000000000
|
||||
273 1 6.458000000000 29.828224307413 7.711500000000
|
||||
274 1 6.458000000000 27.963960288200 5.141000000000
|
||||
275 1 8.072500000000 32.624620336233 7.711500000000
|
||||
276 1 8.072500000000 30.760356317019 5.141000000000
|
||||
277 1 9.687000000000 29.828224307413 7.711500000000
|
||||
278 1 9.687000000000 27.963960288200 5.141000000000
|
||||
279 1 11.301500000000 32.624620336233 7.711500000000
|
||||
280 1 11.301500000000 30.760356317019 5.141000000000
|
||||
281 1 12.916000000000 29.828224307413 7.711500000000
|
||||
282 1 12.916000000000 27.963960288200 5.141000000000
|
||||
283 1 14.530500000000 32.624620336233 7.711500000000
|
||||
284 1 14.530500000000 30.760356317019 5.141000000000
|
||||
285 1 16.145000000000 29.828224307413 7.711500000000
|
||||
286 1 16.145000000000 27.963960288200 5.141000000000
|
||||
287 1 17.759500000000 32.624620336233 7.711500000000
|
||||
288 1 17.759500000000 30.760356317019 5.141000000000
|
||||
289 1 0.000000000000 1.864264019213 12.852500000000
|
||||
290 1 0.000000000000 0.000000000000 10.282000000000
|
||||
291 1 1.614500000000 4.660660048033 12.852500000000
|
||||
292 1 1.614500000000 2.796396028820 10.282000000000
|
||||
293 1 3.229000000000 1.864264019213 12.852500000000
|
||||
294 1 3.229000000000 0.000000000000 10.282000000000
|
||||
295 1 4.843500000000 4.660660048033 12.852500000000
|
||||
296 1 4.843500000000 2.796396028820 10.282000000000
|
||||
297 1 6.458000000000 1.864264019213 12.852500000000
|
||||
298 1 6.458000000000 0.000000000000 10.282000000000
|
||||
299 1 8.072500000000 4.660660048033 12.852500000000
|
||||
300 1 8.072500000000 2.796396028820 10.282000000000
|
||||
301 1 9.687000000000 1.864264019213 12.852500000000
|
||||
302 1 9.687000000000 0.000000000000 10.282000000000
|
||||
303 1 11.301500000000 4.660660048033 12.852500000000
|
||||
304 1 11.301500000000 2.796396028820 10.282000000000
|
||||
305 1 12.916000000000 1.864264019213 12.852500000000
|
||||
306 1 12.916000000000 0.000000000000 10.282000000000
|
||||
307 1 14.530500000000 4.660660048033 12.852500000000
|
||||
308 1 14.530500000000 2.796396028820 10.282000000000
|
||||
309 1 16.145000000000 1.864264019213 12.852500000000
|
||||
310 1 16.145000000000 0.000000000000 10.282000000000
|
||||
311 1 17.759500000000 4.660660048033 12.852500000000
|
||||
312 1 17.759500000000 2.796396028820 10.282000000000
|
||||
313 1 0.000000000000 7.457056076853 12.852500000000
|
||||
314 1 0.000000000000 5.592792057640 10.282000000000
|
||||
315 1 1.614500000000 10.253452105673 12.852500000000
|
||||
316 1 1.614500000000 8.389188086460 10.282000000000
|
||||
317 1 3.229000000000 7.457056076853 12.852500000000
|
||||
318 1 3.229000000000 5.592792057640 10.282000000000
|
||||
319 1 4.843500000000 10.253452105673 12.852500000000
|
||||
320 1 4.843500000000 8.389188086460 10.282000000000
|
||||
321 1 6.458000000000 7.457056076853 12.852500000000
|
||||
322 1 6.458000000000 5.592792057640 10.282000000000
|
||||
323 1 8.072500000000 10.253452105673 12.852500000000
|
||||
324 1 8.072500000000 8.389188086460 10.282000000000
|
||||
325 1 9.687000000000 7.457056076853 12.852500000000
|
||||
326 1 9.687000000000 5.592792057640 10.282000000000
|
||||
327 1 11.301500000000 10.253452105673 12.852500000000
|
||||
328 1 11.301500000000 8.389188086460 10.282000000000
|
||||
329 1 12.916000000000 7.457056076853 12.852500000000
|
||||
330 1 12.916000000000 5.592792057640 10.282000000000
|
||||
331 1 14.530500000000 10.253452105673 12.852500000000
|
||||
332 1 14.530500000000 8.389188086460 10.282000000000
|
||||
333 1 16.145000000000 7.457056076853 12.852500000000
|
||||
334 1 16.145000000000 5.592792057640 10.282000000000
|
||||
335 1 17.759500000000 10.253452105673 12.852500000000
|
||||
336 1 17.759500000000 8.389188086460 10.282000000000
|
||||
337 1 0.000000000000 13.049848134493 12.852500000000
|
||||
338 1 0.000000000000 11.185584115280 10.282000000000
|
||||
339 1 1.614500000000 15.846244163313 12.852500000000
|
||||
340 1 1.614500000000 13.981980144100 10.282000000000
|
||||
341 1 3.229000000000 13.049848134493 12.852500000000
|
||||
342 1 3.229000000000 11.185584115280 10.282000000000
|
||||
343 1 4.843500000000 15.846244163313 12.852500000000
|
||||
344 1 4.843500000000 13.981980144100 10.282000000000
|
||||
345 1 6.458000000000 13.049848134493 12.852500000000
|
||||
346 1 6.458000000000 11.185584115280 10.282000000000
|
||||
347 1 8.072500000000 15.846244163313 12.852500000000
|
||||
348 1 8.072500000000 13.981980144100 10.282000000000
|
||||
349 1 9.687000000000 13.049848134493 12.852500000000
|
||||
350 1 9.687000000000 11.185584115280 10.282000000000
|
||||
351 1 11.301500000000 15.846244163313 12.852500000000
|
||||
352 1 11.301500000000 13.981980144100 10.282000000000
|
||||
353 1 12.916000000000 13.049848134493 12.852500000000
|
||||
354 1 12.916000000000 11.185584115280 10.282000000000
|
||||
355 1 14.530500000000 15.846244163313 12.852500000000
|
||||
356 1 14.530500000000 13.981980144100 10.282000000000
|
||||
357 1 16.145000000000 13.049848134493 12.852500000000
|
||||
358 1 16.145000000000 11.185584115280 10.282000000000
|
||||
359 1 17.759500000000 15.846244163313 12.852500000000
|
||||
360 1 17.759500000000 13.981980144100 10.282000000000
|
||||
361 1 0.000000000000 18.642640192133 12.852500000000
|
||||
362 1 0.000000000000 16.778376172920 10.282000000000
|
||||
363 1 1.614500000000 21.439036220953 12.852500000000
|
||||
364 1 1.614500000000 19.574772201740 10.282000000000
|
||||
365 1 3.229000000000 18.642640192133 12.852500000000
|
||||
366 1 3.229000000000 16.778376172920 10.282000000000
|
||||
367 1 4.843500000000 21.439036220953 12.852500000000
|
||||
368 1 4.843500000000 19.574772201740 10.282000000000
|
||||
369 1 6.458000000000 18.642640192133 12.852500000000
|
||||
370 1 6.458000000000 16.778376172920 10.282000000000
|
||||
371 1 8.072500000000 21.439036220953 12.852500000000
|
||||
372 1 8.072500000000 19.574772201740 10.282000000000
|
||||
373 1 9.687000000000 18.642640192133 12.852500000000
|
||||
374 1 9.687000000000 16.778376172920 10.282000000000
|
||||
375 1 11.301500000000 21.439036220953 12.852500000000
|
||||
376 1 11.301500000000 19.574772201740 10.282000000000
|
||||
377 1 12.916000000000 18.642640192133 12.852500000000
|
||||
378 1 12.916000000000 16.778376172920 10.282000000000
|
||||
379 1 14.530500000000 21.439036220953 12.852500000000
|
||||
380 1 14.530500000000 19.574772201740 10.282000000000
|
||||
381 1 16.145000000000 18.642640192133 12.852500000000
|
||||
382 1 16.145000000000 16.778376172920 10.282000000000
|
||||
383 1 17.759500000000 21.439036220953 12.852500000000
|
||||
384 1 17.759500000000 19.574772201740 10.282000000000
|
||||
385 1 0.000000000000 24.235432249773 12.852500000000
|
||||
386 1 0.000000000000 22.371168230560 10.282000000000
|
||||
387 1 1.614500000000 27.031828278593 12.852500000000
|
||||
388 1 1.614500000000 25.167564259380 10.282000000000
|
||||
389 1 3.229000000000 24.235432249773 12.852500000000
|
||||
390 1 3.229000000000 22.371168230560 10.282000000000
|
||||
391 1 4.843500000000 27.031828278593 12.852500000000
|
||||
392 1 4.843500000000 25.167564259380 10.282000000000
|
||||
393 1 6.458000000000 24.235432249773 12.852500000000
|
||||
394 1 6.458000000000 22.371168230560 10.282000000000
|
||||
395 1 8.072500000000 27.031828278593 12.852500000000
|
||||
396 1 8.072500000000 25.167564259380 10.282000000000
|
||||
397 1 9.687000000000 24.235432249773 12.852500000000
|
||||
398 1 9.687000000000 22.371168230560 10.282000000000
|
||||
399 1 11.301500000000 27.031828278593 12.852500000000
|
||||
400 1 11.301500000000 25.167564259380 10.282000000000
|
||||
401 1 12.916000000000 24.235432249773 12.852500000000
|
||||
402 1 12.916000000000 22.371168230560 10.282000000000
|
||||
403 1 14.530500000000 27.031828278593 12.852500000000
|
||||
404 1 14.530500000000 25.167564259380 10.282000000000
|
||||
405 1 16.145000000000 24.235432249773 12.852500000000
|
||||
406 1 16.145000000000 22.371168230560 10.282000000000
|
||||
407 1 17.759500000000 27.031828278593 12.852500000000
|
||||
408 1 17.759500000000 25.167564259380 10.282000000000
|
||||
409 1 0.000000000000 29.828224307413 12.852500000000
|
||||
410 1 0.000000000000 27.963960288200 10.282000000000
|
||||
411 1 1.614500000000 32.624620336233 12.852500000000
|
||||
412 1 1.614500000000 30.760356317019 10.282000000000
|
||||
413 1 3.229000000000 29.828224307413 12.852500000000
|
||||
414 1 3.229000000000 27.963960288200 10.282000000000
|
||||
415 1 4.843500000000 32.624620336233 12.852500000000
|
||||
416 1 4.843500000000 30.760356317019 10.282000000000
|
||||
417 1 6.458000000000 29.828224307413 12.852500000000
|
||||
418 1 6.458000000000 27.963960288200 10.282000000000
|
||||
419 1 8.072500000000 32.624620336233 12.852500000000
|
||||
420 1 8.072500000000 30.760356317019 10.282000000000
|
||||
421 1 9.687000000000 29.828224307413 12.852500000000
|
||||
422 1 9.687000000000 27.963960288200 10.282000000000
|
||||
423 1 11.301500000000 32.624620336233 12.852500000000
|
||||
424 1 11.301500000000 30.760356317019 10.282000000000
|
||||
425 1 12.916000000000 29.828224307413 12.852500000000
|
||||
426 1 12.916000000000 27.963960288200 10.282000000000
|
||||
427 1 14.530500000000 32.624620336233 12.852500000000
|
||||
428 1 14.530500000000 30.760356317019 10.282000000000
|
||||
429 1 16.145000000000 29.828224307413 12.852500000000
|
||||
430 1 16.145000000000 27.963960288200 10.282000000000
|
||||
431 1 17.759500000000 32.624620336233 12.852500000000
|
||||
432 1 17.759500000000 30.760356317019 10.282000000000
|
||||
433 1 0.000000000000 1.864264019213 17.993500000000
|
||||
434 1 0.000000000000 0.000000000000 15.423000000000
|
||||
435 1 1.614500000000 4.660660048033 17.993500000000
|
||||
436 1 1.614500000000 2.796396028820 15.423000000000
|
||||
437 1 3.229000000000 1.864264019213 17.993500000000
|
||||
438 1 3.229000000000 0.000000000000 15.423000000000
|
||||
439 1 4.843500000000 4.660660048033 17.993500000000
|
||||
440 1 4.843500000000 2.796396028820 15.423000000000
|
||||
441 1 6.458000000000 1.864264019213 17.993500000000
|
||||
442 1 6.458000000000 0.000000000000 15.423000000000
|
||||
443 1 8.072500000000 4.660660048033 17.993500000000
|
||||
444 1 8.072500000000 2.796396028820 15.423000000000
|
||||
445 1 9.687000000000 1.864264019213 17.993500000000
|
||||
446 1 9.687000000000 0.000000000000 15.423000000000
|
||||
447 1 11.301500000000 4.660660048033 17.993500000000
|
||||
448 1 11.301500000000 2.796396028820 15.423000000000
|
||||
449 1 12.916000000000 1.864264019213 17.993500000000
|
||||
450 1 12.916000000000 0.000000000000 15.423000000000
|
||||
451 1 14.530500000000 4.660660048033 17.993500000000
|
||||
452 1 14.530500000000 2.796396028820 15.423000000000
|
||||
453 1 16.145000000000 1.864264019213 17.993500000000
|
||||
454 1 16.145000000000 0.000000000000 15.423000000000
|
||||
455 1 17.759500000000 4.660660048033 17.993500000000
|
||||
456 1 17.759500000000 2.796396028820 15.423000000000
|
||||
457 1 0.000000000000 7.457056076853 17.993500000000
|
||||
458 1 0.000000000000 5.592792057640 15.423000000000
|
||||
459 1 1.614500000000 10.253452105673 17.993500000000
|
||||
460 1 1.614500000000 8.389188086460 15.423000000000
|
||||
461 1 3.229000000000 7.457056076853 17.993500000000
|
||||
462 1 3.229000000000 5.592792057640 15.423000000000
|
||||
463 1 4.843500000000 10.253452105673 17.993500000000
|
||||
464 1 4.843500000000 8.389188086460 15.423000000000
|
||||
465 1 6.458000000000 7.457056076853 17.993500000000
|
||||
466 1 6.458000000000 5.592792057640 15.423000000000
|
||||
467 1 8.072500000000 10.253452105673 17.993500000000
|
||||
468 1 8.072500000000 8.389188086460 15.423000000000
|
||||
469 1 9.687000000000 7.457056076853 17.993500000000
|
||||
470 1 9.687000000000 5.592792057640 15.423000000000
|
||||
471 1 11.301500000000 10.253452105673 17.993500000000
|
||||
472 1 11.301500000000 8.389188086460 15.423000000000
|
||||
473 1 12.916000000000 7.457056076853 17.993500000000
|
||||
474 1 12.916000000000 5.592792057640 15.423000000000
|
||||
475 1 14.530500000000 10.253452105673 17.993500000000
|
||||
476 1 14.530500000000 8.389188086460 15.423000000000
|
||||
477 1 16.145000000000 7.457056076853 17.993500000000
|
||||
478 1 16.145000000000 5.592792057640 15.423000000000
|
||||
479 1 17.759500000000 10.253452105673 17.993500000000
|
||||
480 1 17.759500000000 8.389188086460 15.423000000000
|
||||
481 1 0.000000000000 13.049848134493 17.993500000000
|
||||
482 1 0.000000000000 11.185584115280 15.423000000000
|
||||
483 1 1.614500000000 15.846244163313 17.993500000000
|
||||
484 1 1.614500000000 13.981980144100 15.423000000000
|
||||
485 1 3.229000000000 13.049848134493 17.993500000000
|
||||
486 1 3.229000000000 11.185584115280 15.423000000000
|
||||
487 1 4.843500000000 15.846244163313 17.993500000000
|
||||
488 1 4.843500000000 13.981980144100 15.423000000000
|
||||
489 1 6.458000000000 13.049848134493 17.993500000000
|
||||
490 1 6.458000000000 11.185584115280 15.423000000000
|
||||
491 1 8.072500000000 15.846244163313 17.993500000000
|
||||
492 1 8.072500000000 13.981980144100 15.423000000000
|
||||
493 1 9.687000000000 13.049848134493 17.993500000000
|
||||
494 1 9.687000000000 11.185584115280 15.423000000000
|
||||
495 1 11.301500000000 15.846244163313 17.993500000000
|
||||
496 1 11.301500000000 13.981980144100 15.423000000000
|
||||
497 1 12.916000000000 13.049848134493 17.993500000000
|
||||
498 1 12.916000000000 11.185584115280 15.423000000000
|
||||
499 1 14.530500000000 15.846244163313 17.993500000000
|
||||
500 1 14.530500000000 13.981980144100 15.423000000000
|
||||
501 1 16.145000000000 13.049848134493 17.993500000000
|
||||
502 1 16.145000000000 11.185584115280 15.423000000000
|
||||
503 1 17.759500000000 15.846244163313 17.993500000000
|
||||
504 1 17.759500000000 13.981980144100 15.423000000000
|
||||
505 1 0.000000000000 18.642640192133 17.993500000000
|
||||
506 1 0.000000000000 16.778376172920 15.423000000000
|
||||
507 1 1.614500000000 21.439036220953 17.993500000000
|
||||
508 1 1.614500000000 19.574772201740 15.423000000000
|
||||
509 1 3.229000000000 18.642640192133 17.993500000000
|
||||
510 1 3.229000000000 16.778376172920 15.423000000000
|
||||
511 1 4.843500000000 21.439036220953 17.993500000000
|
||||
512 1 4.843500000000 19.574772201740 15.423000000000
|
||||
513 1 6.458000000000 18.642640192133 17.993500000000
|
||||
514 1 6.458000000000 16.778376172920 15.423000000000
|
||||
515 1 8.072500000000 21.439036220953 17.993500000000
|
||||
516 1 8.072500000000 19.574772201740 15.423000000000
|
||||
517 1 9.687000000000 18.642640192133 17.993500000000
|
||||
518 1 9.687000000000 16.778376172920 15.423000000000
|
||||
519 1 11.301500000000 21.439036220953 17.993500000000
|
||||
520 1 11.301500000000 19.574772201740 15.423000000000
|
||||
521 1 12.916000000000 18.642640192133 17.993500000000
|
||||
522 1 12.916000000000 16.778376172920 15.423000000000
|
||||
523 1 14.530500000000 21.439036220953 17.993500000000
|
||||
524 1 14.530500000000 19.574772201740 15.423000000000
|
||||
525 1 16.145000000000 18.642640192133 17.993500000000
|
||||
526 1 16.145000000000 16.778376172920 15.423000000000
|
||||
527 1 17.759500000000 21.439036220953 17.993500000000
|
||||
528 1 17.759500000000 19.574772201740 15.423000000000
|
||||
529 1 0.000000000000 24.235432249773 17.993500000000
|
||||
530 1 0.000000000000 22.371168230560 15.423000000000
|
||||
531 1 1.614500000000 27.031828278593 17.993500000000
|
||||
532 1 1.614500000000 25.167564259380 15.423000000000
|
||||
533 1 3.229000000000 24.235432249773 17.993500000000
|
||||
534 1 3.229000000000 22.371168230560 15.423000000000
|
||||
535 1 4.843500000000 27.031828278593 17.993500000000
|
||||
536 1 4.843500000000 25.167564259380 15.423000000000
|
||||
537 1 6.458000000000 24.235432249773 17.993500000000
|
||||
538 1 6.458000000000 22.371168230560 15.423000000000
|
||||
539 1 8.072500000000 27.031828278593 17.993500000000
|
||||
540 1 8.072500000000 25.167564259380 15.423000000000
|
||||
541 1 9.687000000000 24.235432249773 17.993500000000
|
||||
542 1 9.687000000000 22.371168230560 15.423000000000
|
||||
543 1 11.301500000000 27.031828278593 17.993500000000
|
||||
544 1 11.301500000000 25.167564259380 15.423000000000
|
||||
545 1 12.916000000000 24.235432249773 17.993500000000
|
||||
546 1 12.916000000000 22.371168230560 15.423000000000
|
||||
547 1 14.530500000000 27.031828278593 17.993500000000
|
||||
548 1 14.530500000000 25.167564259380 15.423000000000
|
||||
549 1 16.145000000000 24.235432249773 17.993500000000
|
||||
550 1 16.145000000000 22.371168230560 15.423000000000
|
||||
551 1 17.759500000000 27.031828278593 17.993500000000
|
||||
552 1 17.759500000000 25.167564259380 15.423000000000
|
||||
553 1 0.000000000000 29.828224307413 17.993500000000
|
||||
554 1 0.000000000000 27.963960288200 15.423000000000
|
||||
555 1 1.614500000000 32.624620336233 17.993500000000
|
||||
556 1 1.614500000000 30.760356317019 15.423000000000
|
||||
557 1 3.229000000000 29.828224307413 17.993500000000
|
||||
558 1 3.229000000000 27.963960288200 15.423000000000
|
||||
559 1 4.843500000000 32.624620336233 17.993500000000
|
||||
560 1 4.843500000000 30.760356317019 15.423000000000
|
||||
561 1 6.458000000000 29.828224307413 17.993500000000
|
||||
562 1 6.458000000000 27.963960288200 15.423000000000
|
||||
563 1 8.072500000000 32.624620336233 17.993500000000
|
||||
564 1 8.072500000000 30.760356317019 15.423000000000
|
||||
565 1 9.687000000000 29.828224307413 17.993500000000
|
||||
566 1 9.687000000000 27.963960288200 15.423000000000
|
||||
567 1 11.301500000000 32.624620336233 17.993500000000
|
||||
568 1 11.301500000000 30.760356317019 15.423000000000
|
||||
569 1 12.916000000000 29.828224307413 17.993500000000
|
||||
570 1 12.916000000000 27.963960288200 15.423000000000
|
||||
571 1 14.530500000000 32.624620336233 17.993500000000
|
||||
572 1 14.530500000000 30.760356317019 15.423000000000
|
||||
573 1 16.145000000000 29.828224307413 17.993500000000
|
||||
574 1 16.145000000000 27.963960288200 15.423000000000
|
||||
575 1 17.759500000000 32.624620336233 17.993500000000
|
||||
576 1 17.759500000000 30.760356317019 15.423000000000
|
||||
577 1 0.000000000000 1.864264019213 23.134500000000
|
||||
578 1 0.000000000000 0.000000000000 20.564000000000
|
||||
579 1 1.614500000000 4.660660048033 23.134500000000
|
||||
580 1 1.614500000000 2.796396028820 20.564000000000
|
||||
581 1 3.229000000000 1.864264019213 23.134500000000
|
||||
582 1 3.229000000000 0.000000000000 20.564000000000
|
||||
583 1 4.843500000000 4.660660048033 23.134500000000
|
||||
584 1 4.843500000000 2.796396028820 20.564000000000
|
||||
585 1 6.458000000000 1.864264019213 23.134500000000
|
||||
586 1 6.458000000000 0.000000000000 20.564000000000
|
||||
587 1 8.072500000000 4.660660048033 23.134500000000
|
||||
588 1 8.072500000000 2.796396028820 20.564000000000
|
||||
589 1 9.687000000000 1.864264019213 23.134500000000
|
||||
590 1 9.687000000000 0.000000000000 20.564000000000
|
||||
591 1 11.301500000000 4.660660048033 23.134500000000
|
||||
592 1 11.301500000000 2.796396028820 20.564000000000
|
||||
593 1 12.916000000000 1.864264019213 23.134500000000
|
||||
594 1 12.916000000000 0.000000000000 20.564000000000
|
||||
595 1 14.530500000000 4.660660048033 23.134500000000
|
||||
596 1 14.530500000000 2.796396028820 20.564000000000
|
||||
597 1 16.145000000000 1.864264019213 23.134500000000
|
||||
598 1 16.145000000000 0.000000000000 20.564000000000
|
||||
599 1 17.759500000000 4.660660048033 23.134500000000
|
||||
600 1 17.759500000000 2.796396028820 20.564000000000
|
||||
601 1 0.000000000000 7.457056076853 23.134500000000
|
||||
602 1 0.000000000000 5.592792057640 20.564000000000
|
||||
603 1 1.614500000000 10.253452105673 23.134500000000
|
||||
604 1 1.614500000000 8.389188086460 20.564000000000
|
||||
605 1 3.229000000000 7.457056076853 23.134500000000
|
||||
606 1 3.229000000000 5.592792057640 20.564000000000
|
||||
607 1 4.843500000000 10.253452105673 23.134500000000
|
||||
608 1 4.843500000000 8.389188086460 20.564000000000
|
||||
609 1 6.458000000000 7.457056076853 23.134500000000
|
||||
610 1 6.458000000000 5.592792057640 20.564000000000
|
||||
611 1 8.072500000000 10.253452105673 23.134500000000
|
||||
612 1 8.072500000000 8.389188086460 20.564000000000
|
||||
613 1 9.687000000000 7.457056076853 23.134500000000
|
||||
614 1 9.687000000000 5.592792057640 20.564000000000
|
||||
615 1 11.301500000000 10.253452105673 23.134500000000
|
||||
616 1 11.301500000000 8.389188086460 20.564000000000
|
||||
617 1 12.916000000000 7.457056076853 23.134500000000
|
||||
618 1 12.916000000000 5.592792057640 20.564000000000
|
||||
619 1 14.530500000000 10.253452105673 23.134500000000
|
||||
620 1 14.530500000000 8.389188086460 20.564000000000
|
||||
621 1 16.145000000000 7.457056076853 23.134500000000
|
||||
622 1 16.145000000000 5.592792057640 20.564000000000
|
||||
623 1 17.759500000000 10.253452105673 23.134500000000
|
||||
624 1 17.759500000000 8.389188086460 20.564000000000
|
||||
625 1 0.000000000000 13.049848134493 23.134500000000
|
||||
626 1 0.000000000000 11.185584115280 20.564000000000
|
||||
627 1 1.614500000000 15.846244163313 23.134500000000
|
||||
628 1 1.614500000000 13.981980144100 20.564000000000
|
||||
629 1 3.229000000000 13.049848134493 23.134500000000
|
||||
630 1 3.229000000000 11.185584115280 20.564000000000
|
||||
631 1 4.843500000000 15.846244163313 23.134500000000
|
||||
632 1 4.843500000000 13.981980144100 20.564000000000
|
||||
633 1 6.458000000000 13.049848134493 23.134500000000
|
||||
634 1 6.458000000000 11.185584115280 20.564000000000
|
||||
635 1 8.072500000000 15.846244163313 23.134500000000
|
||||
636 1 8.072500000000 13.981980144100 20.564000000000
|
||||
637 1 9.687000000000 13.049848134493 23.134500000000
|
||||
638 1 9.687000000000 11.185584115280 20.564000000000
|
||||
639 1 11.301500000000 15.846244163313 23.134500000000
|
||||
640 1 11.301500000000 13.981980144100 20.564000000000
|
||||
641 1 12.916000000000 13.049848134493 23.134500000000
|
||||
642 1 12.916000000000 11.185584115280 20.564000000000
|
||||
643 1 14.530500000000 15.846244163313 23.134500000000
|
||||
644 1 14.530500000000 13.981980144100 20.564000000000
|
||||
645 1 16.145000000000 13.049848134493 23.134500000000
|
||||
646 1 16.145000000000 11.185584115280 20.564000000000
|
||||
647 1 17.759500000000 15.846244163313 23.134500000000
|
||||
648 1 17.759500000000 13.981980144100 20.564000000000
|
||||
649 1 0.000000000000 18.642640192133 23.134500000000
|
||||
650 1 0.000000000000 16.778376172920 20.564000000000
|
||||
651 1 1.614500000000 21.439036220953 23.134500000000
|
||||
652 1 1.614500000000 19.574772201740 20.564000000000
|
||||
653 1 3.229000000000 18.642640192133 23.134500000000
|
||||
654 1 3.229000000000 16.778376172920 20.564000000000
|
||||
655 1 4.843500000000 21.439036220953 23.134500000000
|
||||
656 1 4.843500000000 19.574772201740 20.564000000000
|
||||
657 1 6.458000000000 18.642640192133 23.134500000000
|
||||
658 1 6.458000000000 16.778376172920 20.564000000000
|
||||
659 1 8.072500000000 21.439036220953 23.134500000000
|
||||
660 1 8.072500000000 19.574772201740 20.564000000000
|
||||
661 1 9.687000000000 18.642640192133 23.134500000000
|
||||
662 1 9.687000000000 16.778376172920 20.564000000000
|
||||
663 1 11.301500000000 21.439036220953 23.134500000000
|
||||
664 1 11.301500000000 19.574772201740 20.564000000000
|
||||
665 1 12.916000000000 18.642640192133 23.134500000000
|
||||
666 1 12.916000000000 16.778376172920 20.564000000000
|
||||
667 1 14.530500000000 21.439036220953 23.134500000000
|
||||
668 1 14.530500000000 19.574772201740 20.564000000000
|
||||
669 1 16.145000000000 18.642640192133 23.134500000000
|
||||
670 1 16.145000000000 16.778376172920 20.564000000000
|
||||
671 1 17.759500000000 21.439036220953 23.134500000000
|
||||
672 1 17.759500000000 19.574772201740 20.564000000000
|
||||
673 1 0.000000000000 24.235432249773 23.134500000000
|
||||
674 1 0.000000000000 22.371168230560 20.564000000000
|
||||
675 1 1.614500000000 27.031828278593 23.134500000000
|
||||
676 1 1.614500000000 25.167564259380 20.564000000000
|
||||
677 1 3.229000000000 24.235432249773 23.134500000000
|
||||
678 1 3.229000000000 22.371168230560 20.564000000000
|
||||
679 1 4.843500000000 27.031828278593 23.134500000000
|
||||
680 1 4.843500000000 25.167564259380 20.564000000000
|
||||
681 1 6.458000000000 24.235432249773 23.134500000000
|
||||
682 1 6.458000000000 22.371168230560 20.564000000000
|
||||
683 1 8.072500000000 27.031828278593 23.134500000000
|
||||
684 1 8.072500000000 25.167564259380 20.564000000000
|
||||
685 1 9.687000000000 24.235432249773 23.134500000000
|
||||
686 1 9.687000000000 22.371168230560 20.564000000000
|
||||
687 1 11.301500000000 27.031828278593 23.134500000000
|
||||
688 1 11.301500000000 25.167564259380 20.564000000000
|
||||
689 1 12.916000000000 24.235432249773 23.134500000000
|
||||
690 1 12.916000000000 22.371168230560 20.564000000000
|
||||
691 1 14.530500000000 27.031828278593 23.134500000000
|
||||
692 1 14.530500000000 25.167564259380 20.564000000000
|
||||
693 1 16.145000000000 24.235432249773 23.134500000000
|
||||
694 1 16.145000000000 22.371168230560 20.564000000000
|
||||
695 1 17.759500000000 27.031828278593 23.134500000000
|
||||
696 1 17.759500000000 25.167564259380 20.564000000000
|
||||
697 1 0.000000000000 29.828224307413 23.134500000000
|
||||
698 1 0.000000000000 27.963960288200 20.564000000000
|
||||
699 1 1.614500000000 32.624620336233 23.134500000000
|
||||
700 1 1.614500000000 30.760356317019 20.564000000000
|
||||
701 1 3.229000000000 29.828224307413 23.134500000000
|
||||
702 1 3.229000000000 27.963960288200 20.564000000000
|
||||
703 1 4.843500000000 32.624620336233 23.134500000000
|
||||
704 1 4.843500000000 30.760356317019 20.564000000000
|
||||
705 1 6.458000000000 29.828224307413 23.134500000000
|
||||
706 1 6.458000000000 27.963960288200 20.564000000000
|
||||
707 1 8.072500000000 32.624620336233 23.134500000000
|
||||
708 1 8.072500000000 30.760356317019 20.564000000000
|
||||
709 1 9.687000000000 29.828224307413 23.134500000000
|
||||
710 1 9.687000000000 27.963960288200 20.564000000000
|
||||
711 1 11.301500000000 32.624620336233 23.134500000000
|
||||
712 1 11.301500000000 30.760356317019 20.564000000000
|
||||
713 1 12.916000000000 29.828224307413 23.134500000000
|
||||
714 1 12.916000000000 27.963960288200 20.564000000000
|
||||
715 1 14.530500000000 32.624620336233 23.134500000000
|
||||
716 1 14.530500000000 30.760356317019 20.564000000000
|
||||
717 1 16.145000000000 29.828224307413 23.134500000000
|
||||
718 1 16.145000000000 27.963960288200 20.564000000000
|
||||
719 1 17.759500000000 32.624620336233 23.134500000000
|
||||
720 1 17.759500000000 30.760356317019 20.564000000000
|
||||
721 1 0.000000000000 1.864264019213 28.275500000000
|
||||
722 1 0.000000000000 0.000000000000 25.705000000000
|
||||
723 1 1.614500000000 4.660660048033 28.275500000000
|
||||
724 1 1.614500000000 2.796396028820 25.705000000000
|
||||
725 1 3.229000000000 1.864264019213 28.275500000000
|
||||
726 1 3.229000000000 0.000000000000 25.705000000000
|
||||
727 1 4.843500000000 4.660660048033 28.275500000000
|
||||
728 1 4.843500000000 2.796396028820 25.705000000000
|
||||
729 1 6.458000000000 1.864264019213 28.275500000000
|
||||
730 1 6.458000000000 0.000000000000 25.705000000000
|
||||
731 1 8.072500000000 4.660660048033 28.275500000000
|
||||
732 1 8.072500000000 2.796396028820 25.705000000000
|
||||
733 1 9.687000000000 1.864264019213 28.275500000000
|
||||
734 1 9.687000000000 0.000000000000 25.705000000000
|
||||
735 1 11.301500000000 4.660660048033 28.275500000000
|
||||
736 1 11.301500000000 2.796396028820 25.705000000000
|
||||
737 1 12.916000000000 1.864264019213 28.275500000000
|
||||
738 1 12.916000000000 0.000000000000 25.705000000000
|
||||
739 1 14.530500000000 4.660660048033 28.275500000000
|
||||
740 1 14.530500000000 2.796396028820 25.705000000000
|
||||
741 1 16.145000000000 1.864264019213 28.275500000000
|
||||
742 1 16.145000000000 0.000000000000 25.705000000000
|
||||
743 1 17.759500000000 4.660660048033 28.275500000000
|
||||
744 1 17.759500000000 2.796396028820 25.705000000000
|
||||
745 1 0.000000000000 7.457056076853 28.275500000000
|
||||
746 1 0.000000000000 5.592792057640 25.705000000000
|
||||
747 1 1.614500000000 10.253452105673 28.275500000000
|
||||
748 1 1.614500000000 8.389188086460 25.705000000000
|
||||
749 1 3.229000000000 7.457056076853 28.275500000000
|
||||
750 1 3.229000000000 5.592792057640 25.705000000000
|
||||
751 1 4.843500000000 10.253452105673 28.275500000000
|
||||
752 1 4.843500000000 8.389188086460 25.705000000000
|
||||
753 1 6.458000000000 7.457056076853 28.275500000000
|
||||
754 1 6.458000000000 5.592792057640 25.705000000000
|
||||
755 1 8.072500000000 10.253452105673 28.275500000000
|
||||
756 1 8.072500000000 8.389188086460 25.705000000000
|
||||
757 1 9.687000000000 7.457056076853 28.275500000000
|
||||
758 1 9.687000000000 5.592792057640 25.705000000000
|
||||
759 1 11.301500000000 10.253452105673 28.275500000000
|
||||
760 1 11.301500000000 8.389188086460 25.705000000000
|
||||
761 1 12.916000000000 7.457056076853 28.275500000000
|
||||
762 1 12.916000000000 5.592792057640 25.705000000000
|
||||
763 1 14.530500000000 10.253452105673 28.275500000000
|
||||
764 1 14.530500000000 8.389188086460 25.705000000000
|
||||
765 1 16.145000000000 7.457056076853 28.275500000000
|
||||
766 1 16.145000000000 5.592792057640 25.705000000000
|
||||
767 1 17.759500000000 10.253452105673 28.275500000000
|
||||
768 1 17.759500000000 8.389188086460 25.705000000000
|
||||
769 1 0.000000000000 13.049848134493 28.275500000000
|
||||
770 1 0.000000000000 11.185584115280 25.705000000000
|
||||
771 1 1.614500000000 15.846244163313 28.275500000000
|
||||
772 1 1.614500000000 13.981980144100 25.705000000000
|
||||
773 1 3.229000000000 13.049848134493 28.275500000000
|
||||
774 1 3.229000000000 11.185584115280 25.705000000000
|
||||
775 1 4.843500000000 15.846244163313 28.275500000000
|
||||
776 1 4.843500000000 13.981980144100 25.705000000000
|
||||
777 1 6.458000000000 13.049848134493 28.275500000000
|
||||
778 1 6.458000000000 11.185584115280 25.705000000000
|
||||
779 1 8.072500000000 15.846244163313 28.275500000000
|
||||
780 1 8.072500000000 13.981980144100 25.705000000000
|
||||
781 1 9.687000000000 13.049848134493 28.275500000000
|
||||
782 1 9.687000000000 11.185584115280 25.705000000000
|
||||
783 1 11.301500000000 15.846244163313 28.275500000000
|
||||
784 1 11.301500000000 13.981980144100 25.705000000000
|
||||
785 1 12.916000000000 13.049848134493 28.275500000000
|
||||
786 1 12.916000000000 11.185584115280 25.705000000000
|
||||
787 1 14.530500000000 15.846244163313 28.275500000000
|
||||
788 1 14.530500000000 13.981980144100 25.705000000000
|
||||
789 1 16.145000000000 13.049848134493 28.275500000000
|
||||
790 1 16.145000000000 11.185584115280 25.705000000000
|
||||
791 1 17.759500000000 15.846244163313 28.275500000000
|
||||
792 1 17.759500000000 13.981980144100 25.705000000000
|
||||
793 1 0.000000000000 18.642640192133 28.275500000000
|
||||
794 1 0.000000000000 16.778376172920 25.705000000000
|
||||
795 1 1.614500000000 21.439036220953 28.275500000000
|
||||
796 1 1.614500000000 19.574772201740 25.705000000000
|
||||
797 1 3.229000000000 18.642640192133 28.275500000000
|
||||
798 1 3.229000000000 16.778376172920 25.705000000000
|
||||
799 1 4.843500000000 21.439036220953 28.275500000000
|
||||
800 1 4.843500000000 19.574772201740 25.705000000000
|
||||
801 1 6.458000000000 18.642640192133 28.275500000000
|
||||
802 1 6.458000000000 16.778376172920 25.705000000000
|
||||
803 1 8.072500000000 21.439036220953 28.275500000000
|
||||
804 1 8.072500000000 19.574772201740 25.705000000000
|
||||
805 1 9.687000000000 18.642640192133 28.275500000000
|
||||
806 1 9.687000000000 16.778376172920 25.705000000000
|
||||
807 1 11.301500000000 21.439036220953 28.275500000000
|
||||
808 1 11.301500000000 19.574772201740 25.705000000000
|
||||
809 1 12.916000000000 18.642640192133 28.275500000000
|
||||
810 1 12.916000000000 16.778376172920 25.705000000000
|
||||
811 1 14.530500000000 21.439036220953 28.275500000000
|
||||
812 1 14.530500000000 19.574772201740 25.705000000000
|
||||
813 1 16.145000000000 18.642640192133 28.275500000000
|
||||
814 1 16.145000000000 16.778376172920 25.705000000000
|
||||
815 1 17.759500000000 21.439036220953 28.275500000000
|
||||
816 1 17.759500000000 19.574772201740 25.705000000000
|
||||
817 1 0.000000000000 24.235432249773 28.275500000000
|
||||
818 1 0.000000000000 22.371168230560 25.705000000000
|
||||
819 1 1.614500000000 27.031828278593 28.275500000000
|
||||
820 1 1.614500000000 25.167564259380 25.705000000000
|
||||
821 1 3.229000000000 24.235432249773 28.275500000000
|
||||
822 1 3.229000000000 22.371168230560 25.705000000000
|
||||
823 1 4.843500000000 27.031828278593 28.275500000000
|
||||
824 1 4.843500000000 25.167564259380 25.705000000000
|
||||
825 1 6.458000000000 24.235432249773 28.275500000000
|
||||
826 1 6.458000000000 22.371168230560 25.705000000000
|
||||
827 1 8.072500000000 27.031828278593 28.275500000000
|
||||
828 1 8.072500000000 25.167564259380 25.705000000000
|
||||
829 1 9.687000000000 24.235432249773 28.275500000000
|
||||
830 1 9.687000000000 22.371168230560 25.705000000000
|
||||
831 1 11.301500000000 27.031828278593 28.275500000000
|
||||
832 1 11.301500000000 25.167564259380 25.705000000000
|
||||
833 1 12.916000000000 24.235432249773 28.275500000000
|
||||
834 1 12.916000000000 22.371168230560 25.705000000000
|
||||
835 1 14.530500000000 27.031828278593 28.275500000000
|
||||
836 1 14.530500000000 25.167564259380 25.705000000000
|
||||
837 1 16.145000000000 24.235432249773 28.275500000000
|
||||
838 1 16.145000000000 22.371168230560 25.705000000000
|
||||
839 1 17.759500000000 27.031828278593 28.275500000000
|
||||
840 1 17.759500000000 25.167564259380 25.705000000000
|
||||
841 1 0.000000000000 29.828224307413 28.275500000000
|
||||
842 1 0.000000000000 27.963960288200 25.705000000000
|
||||
843 1 1.614500000000 32.624620336233 28.275500000000
|
||||
844 1 1.614500000000 30.760356317019 25.705000000000
|
||||
845 1 3.229000000000 29.828224307413 28.275500000000
|
||||
846 1 3.229000000000 27.963960288200 25.705000000000
|
||||
847 1 4.843500000000 32.624620336233 28.275500000000
|
||||
848 1 4.843500000000 30.760356317019 25.705000000000
|
||||
849 1 6.458000000000 29.828224307413 28.275500000000
|
||||
850 1 6.458000000000 27.963960288200 25.705000000000
|
||||
851 1 8.072500000000 32.624620336233 28.275500000000
|
||||
852 1 8.072500000000 30.760356317019 25.705000000000
|
||||
853 1 9.687000000000 29.828224307413 28.275500000000
|
||||
854 1 9.687000000000 27.963960288200 25.705000000000
|
||||
855 1 11.301500000000 32.624620336233 28.275500000000
|
||||
856 1 11.301500000000 30.760356317019 25.705000000000
|
||||
857 1 12.916000000000 29.828224307413 28.275500000000
|
||||
858 1 12.916000000000 27.963960288200 25.705000000000
|
||||
859 1 14.530500000000 32.624620336233 28.275500000000
|
||||
860 1 14.530500000000 30.760356317019 25.705000000000
|
||||
861 1 16.145000000000 29.828224307413 28.275500000000
|
||||
862 1 16.145000000000 27.963960288200 25.705000000000
|
||||
863 1 17.759500000000 32.624620336233 28.275500000000
|
||||
864 1 17.759500000000 30.760356317019 25.705000000000
|
||||
55
examples/PACKAGES/sna_nnn_slcsa/dir.slcsa/lda_scalings.dat
Normal file
@ -0,0 +1,55 @@
|
||||
0.65552758 -0.08218108 -0.23122826
|
||||
2.03065849 0.46494117 0.87297750
|
||||
-15.80180341 1.50484584 0.31669351
|
||||
0.06060238 -0.47589059 -0.41017499
|
||||
4.23928030 -2.27982958 4.87969884
|
||||
-1.09746642 -1.28258171 2.03459312
|
||||
5.48480653 -0.66345012 3.18471732
|
||||
-1.57479966 0.17478998 -0.17156696
|
||||
3.85779786 1.59890578 1.78936017
|
||||
-1.14469715 -2.15823271 2.14353632
|
||||
5.97160056 0.11573423 0.97653410
|
||||
4.44645807 -0.15365582 -0.08773622
|
||||
3.09452721 0.32439223 1.19779688
|
||||
-1.22585061 -0.32185613 0.03949731
|
||||
0.44816997 -1.11182687 0.26222208
|
||||
0.19532128 0.30397832 -0.57154050
|
||||
5.52432571 -0.76685448 0.32647935
|
||||
6.37957282 -0.96148815 1.53439397
|
||||
2.73798648 -0.69516327 1.73607004
|
||||
0.94755899 0.41154702 -0.14095753
|
||||
1.50733544 1.22254481 0.26284605
|
||||
0.98313431 -1.24195379 0.59009611
|
||||
-0.76518592 0.11605047 -0.00304658
|
||||
-0.68335076 0.48935564 -0.53834507
|
||||
1.86534260 -0.49032664 -0.06298849
|
||||
1.52931829 0.64853878 -0.56286214
|
||||
2.64217062 -1.37348638 0.22526281
|
||||
0.18023516 0.03439864 0.77624538
|
||||
2.02366558 0.35432524 0.76748492
|
||||
0.80982907 0.31806067 0.08774175
|
||||
1.57388194 -1.07822533 0.15886237
|
||||
0.41345498 0.38916338 -0.29917607
|
||||
-0.24819893 0.13763422 0.45471609
|
||||
-2.27933523 -0.01771636 -0.20567577
|
||||
1.52275665 0.35306670 0.21266257
|
||||
0.28547991 1.05230832 1.16641438
|
||||
0.97147437 -0.63973458 -0.37994470
|
||||
0.48124764 0.03483500 -0.01982056
|
||||
0.74502588 0.14367872 -0.24443596
|
||||
0.48813660 0.15632903 -0.88469078
|
||||
0.04886450 0.00882595 -0.47920447
|
||||
0.03103900 -0.15091487 -0.41193682
|
||||
-0.10106190 0.14911569 0.10727243
|
||||
-0.15552036 -0.49286545 -0.04644942
|
||||
0.27304084 0.35638954 1.13331445
|
||||
0.57788886 -0.50269555 0.09110942
|
||||
0.36780762 -0.08710371 -0.28478716
|
||||
1.01678932 -0.42099561 -0.07317253
|
||||
0.06561086 -0.27253002 -0.05366136
|
||||
0.22266923 0.19999531 -0.30017173
|
||||
-0.18666193 0.02576273 0.27752106
|
||||
-0.76718071 0.61299522 0.58296511
|
||||
0.60978530 0.04962900 -0.32796430
|
||||
-0.11572649 0.03034386 -0.83005753
|
||||
0.12675714 0.00004617 -0.37078106
|
||||
1
examples/PACKAGES/sna_nnn_slcsa/dir.slcsa/lr_bias.dat
Normal file
@ -0,0 +1 @@
|
||||
-6.32012657 5.62127377 1.19871662 -0.49986382
|
||||
@ -0,0 +1,4 @@
|
||||
-0.42810669 1.25467216 0.93144383
|
||||
0.09624929 -0.80420088 0.48996738
|
||||
-0.09865949 0.39991755 -0.69233982
|
||||
0.43051689 -0.85038883 -0.72907140
|
||||
@ -0,0 +1,20 @@
|
||||
5.0540
|
||||
-23.8329 4.6638 3.9805
|
||||
1.1377 0.1077 -0.0171
|
||||
0.1077 0.8846 -0.2577
|
||||
-0.0171 -0.2577 0.6783
|
||||
5.2340
|
||||
-21.2853 -6.1583 1.7948
|
||||
1.7124 0.0341 0.1966
|
||||
0.0341 0.6453 0.2880
|
||||
0.1966 0.2880 1.8991
|
||||
5.0360
|
||||
-23.1593 1.3059 -5.7549
|
||||
0.7496 -0.0806 -0.1101
|
||||
-0.0806 1.1178 0.1667
|
||||
-0.1101 0.1667 0.6711
|
||||
7.9940
|
||||
68.1971 0.1604 -0.0067
|
||||
0.9663 -0.1846 0.6622
|
||||
-0.1846 8.2371 0.9841
|
||||
0.6622 0.9841 5.9601
|
||||
@ -0,0 +1,55 @@
|
||||
137.71497059
|
||||
0.36342014
|
||||
-2.78949838
|
||||
1.75623090
|
||||
-4.86893969
|
||||
-2.31918628
|
||||
-3.01873942
|
||||
59.70217846
|
||||
-8.31239311
|
||||
-1.05113276
|
||||
-4.08948813
|
||||
11.70560234
|
||||
17.48710737
|
||||
42.43158755
|
||||
-6.27727395
|
||||
-1.46675636
|
||||
-3.40739849
|
||||
1.58674150
|
||||
13.02515977
|
||||
5.67885926
|
||||
6.45692906
|
||||
4.69273492
|
||||
21.59764216
|
||||
-7.68805780
|
||||
-4.37357550
|
||||
-5.79764719
|
||||
0.53149261
|
||||
-0.00723980
|
||||
-2.47811316
|
||||
-0.34939237
|
||||
-4.59425510
|
||||
-4.44056296
|
||||
107.64051985
|
||||
-9.32851480
|
||||
-6.62214151
|
||||
-5.69590145
|
||||
22.80361437
|
||||
9.47641390
|
||||
2.25214024
|
||||
-0.19403065
|
||||
3.05386205
|
||||
12.91756406
|
||||
135.15381317
|
||||
-9.93292065
|
||||
-3.73311129
|
||||
10.67039500
|
||||
9.60945072
|
||||
-0.03566872
|
||||
21.97944941
|
||||
6.70251772
|
||||
74.60284853
|
||||
-5.99090678
|
||||
0.21877973
|
||||
-1.19909174
|
||||
1.37424965
|
||||
57
examples/PACKAGES/sna_nnn_slcsa/in.slcsa
Normal file
@ -0,0 +1,57 @@
|
||||
variable trequis equal 750.0
|
||||
variable prequis_low equal 0.0
|
||||
variable prequis_high equal 25.0e4
|
||||
variable equilSteps equal 200
|
||||
variable runSteps equal 2000
|
||||
variable freqdump equal 200
|
||||
variable pstime equal step*dt
|
||||
variable sxx equal 1.e-4*pxx
|
||||
variable syy equal 1.e-4*pyy
|
||||
variable szz equal 1.e-4*pzz
|
||||
variable sxy equal 1.e-4*pxy
|
||||
variable sxz equal 1.e-4*pxz
|
||||
variable syz equal 1.e-4*pyz
|
||||
variable TK equal temp
|
||||
variable PE equal pe
|
||||
variable KE equal ke
|
||||
variable V equal vol
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units metal
|
||||
atom_style atomic
|
||||
read_data data.zr_cell
|
||||
replicate 1 5 5
|
||||
|
||||
change_box all triclinic
|
||||
|
||||
pair_style hybrid/overlay zero 9.0 eam/fs
|
||||
pair_coeff * * zero
|
||||
pair_coeff * * eam/fs Zr_mm.eam.fs Zr
|
||||
|
||||
timestep 0.002
|
||||
|
||||
thermo 50
|
||||
thermo_style custom step pe ke temp vol pxx pyy pzz pxy pyz pxz
|
||||
|
||||
# fix extra all print 50 "${pstime} ${TK} ${PE} ${KE} ${V} ${sxx} ${syy} ${szz} ${sxy} ${sxz} ${syz}" file thermo_global_npt_low_temperature_Zr_hcp.dat
|
||||
|
||||
velocity all create ${trequis} 42345 dist gaussian
|
||||
|
||||
# 1st step : compute the bispectrum on 24 nearest neighbors
|
||||
compute bnnn all sna/atom 9.0 0.99363 8 0.5 1.0 rmin0 0.0 nnn 24 wmode 1 delta 0.25
|
||||
|
||||
# 2nd step : perform dimension reduction + logistic regression
|
||||
compute slcsa all slcsa/atom 8 4 dir.slcsa/mean_descriptor.dat dir.slcsa/lda_scalings.dat dir.slcsa/lr_decision.dat dir.slcsa/lr_bias.dat dir.slcsa/mahalanobis_file.dat c_bnnn[*]
|
||||
|
||||
#dump d1 all custom ${freqdump} slcsa_demo.dump id x y z c_slcsa[*]
|
||||
|
||||
# for testing only. in production use dump as shown above
|
||||
compute max_slcsa all reduce max c_slcsa[*]
|
||||
compute min_slcsa all reduce min c_slcsa[*]
|
||||
thermo_style custom step pe ke temp c_max_slcsa[*] c_min_slcsa[*]
|
||||
|
||||
#fix 1 all nvt temp ${trequis} ${trequis} 0.100
|
||||
fix 1 all npt temp ${trequis} ${trequis} 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
|
||||
run ${equilSteps}
|
||||
180
examples/PACKAGES/sna_nnn_slcsa/log.12Dec23.slcsa.g++.1
Normal file
@ -0,0 +1,180 @@
|
||||
LAMMPS (21 Nov 2023)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
variable trequis equal 750.0
|
||||
variable prequis_low equal 0.0
|
||||
variable prequis_high equal 25.0e4
|
||||
variable equilSteps equal 200
|
||||
variable runSteps equal 2000
|
||||
variable freqdump equal 200
|
||||
variable pstime equal step*dt
|
||||
variable sxx equal 1.e-4*pxx
|
||||
variable syy equal 1.e-4*pyy
|
||||
variable szz equal 1.e-4*pzz
|
||||
variable sxy equal 1.e-4*pxy
|
||||
variable sxz equal 1.e-4*pxz
|
||||
variable syz equal 1.e-4*pyz
|
||||
variable TK equal temp
|
||||
variable PE equal pe
|
||||
variable KE equal ke
|
||||
variable V equal vol
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units metal
|
||||
atom_style atomic
|
||||
read_data data.zr_cell
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (19.374 33.556752 30.846)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
864 atoms
|
||||
read_data CPU = 0.002 seconds
|
||||
replicate 1 5 5
|
||||
Replication is creating a 1x5x5 = 25 times larger system...
|
||||
orthogonal box = (0 0 0) to (19.374 167.78376 154.23)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
21600 atoms
|
||||
replicate CPU = 0.001 seconds
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (0 0 0) to (19.374 167.78376 154.23) with tilt (0 0 0)
|
||||
|
||||
pair_style hybrid/overlay zero 9.0 eam/fs
|
||||
pair_coeff * * zero
|
||||
pair_coeff * * eam/fs Zr_mm.eam.fs Zr
|
||||
Reading eam/fs potential file Zr_mm.eam.fs with DATE: 2007-06-11
|
||||
|
||||
timestep 0.002
|
||||
|
||||
thermo 50
|
||||
thermo_style custom step pe ke temp vol pxx pyy pzz pxy pyz pxz
|
||||
|
||||
# fix extra all print 50 "${pstime} ${TK} ${PE} ${KE} ${V} ${sxx} ${syy} ${szz} ${sxy} ${sxz} ${syz}" file thermo_global_npt_low_temperature_Zr_hcp.dat
|
||||
|
||||
velocity all create ${trequis} 42345 dist gaussian
|
||||
velocity all create 750 42345 dist gaussian
|
||||
|
||||
# 1st step : compute the bispectrum on 24 nearest neighbors
|
||||
compute bnnn all sna/atom 9.0 0.99363 8 0.5 1.0 rmin0 0.0 nnn 24 wmode 1 delta 0.25
|
||||
|
||||
# 2nd step : perform dimension reduction + logistic regression
|
||||
compute slcsa all slcsa/atom 8 4 dir.slcsa/mean_descriptor.dat dir.slcsa/lda_scalings.dat dir.slcsa/lr_decision.dat dir.slcsa/lr_bias.dat dir.slcsa/mahalanobis_file.dat c_bnnn[*]
|
||||
Files used:
|
||||
database mean descriptor: dir.slcsa/mean_descriptor.dat
|
||||
lda scalings : dir.slcsa/lda_scalings.dat
|
||||
lr decision : dir.slcsa/lr_decision.dat
|
||||
lr bias : dir.slcsa/lr_bias.dat
|
||||
maha stats : dir.slcsa/mahalanobis_file.dat
|
||||
For class 0 maha threshold = 5.054
|
||||
mean B:
|
||||
-23.8329
|
||||
4.6638
|
||||
3.9805
|
||||
icov:
|
||||
1.1377 0.1077 -0.0171
|
||||
0.1077 0.8846 -0.2577
|
||||
-0.0171 -0.2577 0.6783
|
||||
For class 1 maha threshold = 5.234
|
||||
mean B:
|
||||
-21.2853
|
||||
-6.1583
|
||||
1.7948
|
||||
icov:
|
||||
1.7124 0.0341 0.1966
|
||||
0.0341 0.6453 0.288
|
||||
0.1966 0.288 1.8991
|
||||
For class 2 maha threshold = 5.036
|
||||
mean B:
|
||||
-23.1593
|
||||
1.3059
|
||||
-5.7549
|
||||
icov:
|
||||
0.7496 -0.0806 -0.1101
|
||||
-0.0806 1.1178 0.1667
|
||||
-0.1101 0.1667 0.6711
|
||||
For class 3 maha threshold = 7.994
|
||||
mean B:
|
||||
68.1971
|
||||
0.1604
|
||||
-0.0067
|
||||
icov:
|
||||
0.9663 -0.1846 0.6622
|
||||
-0.1846 8.2371 0.9841
|
||||
0.6622 0.9841 5.9601
|
||||
|
||||
#dump d1 all custom ${freqdump} slcsa_demo.dump id x y z c_slcsa[*]
|
||||
|
||||
# for testing only. in production use dump as shown above
|
||||
compute max_slcsa all reduce max c_slcsa[*]
|
||||
compute min_slcsa all reduce min c_slcsa[*]
|
||||
thermo_style custom step pe ke temp c_max_slcsa[*] c_min_slcsa[*]
|
||||
|
||||
#fix 1 all nvt temp ${trequis} ${trequis} 0.100
|
||||
fix 1 all npt temp ${trequis} ${trequis} 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 ${trequis} 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 750 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 750 0.100 tri 0 ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 750 0.100 tri 0 0 1.0
|
||||
|
||||
run ${equilSteps}
|
||||
run 200
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 11
|
||||
ghost atom cutoff = 11
|
||||
binsize = 5.5, bins = 4 31 29
|
||||
3 neighbor lists, perpetual/occasional/extra = 2 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton/tri
|
||||
stencil: half/bin/3d/tri
|
||||
bin: standard
|
||||
(2) pair eam/fs, perpetual, trim from (1)
|
||||
attributes: half, newton on, cut 9.6
|
||||
pair build: trim
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) compute sna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 31.9 | 31.9 | 31.9 Mbytes
|
||||
Step PotEng KinEng Temp c_max_slcsa[1] c_max_slcsa[2] c_max_slcsa[3] c_max_slcsa[4] c_max_slcsa[5] c_min_slcsa[1] c_min_slcsa[2] c_min_slcsa[3] c_min_slcsa[4] c_min_slcsa[5]
|
||||
0 -143297.23 2093.9174 750 7.6195146 15.787294 1.2169942 111.01919 2 7.6195146 15.787294 1.2169942 111.01919 2
|
||||
50 -142154.08 1007.7164 360.9442 8.8091564 19.23244 4.2093382 113.87959 2 5.0327148 9.6817454 0.02610585 106.71863 2
|
||||
100 -142365.33 1406.6559 503.83647 8.6272189 17.908949 2.9294666 113.75167 2 6.2058895 11.913521 0.033775944 108.66893 2
|
||||
150 -142188.18 1432.0075 512.91691 8.6441961 18.176321 2.9277374 114.27958 2 5.5899425 10.521867 0.014919473 108.14526 2
|
||||
200 -142000.4 1481.7247 530.72462 8.5895692 18.65646 3.1725758 114.55015 2 5.5955774 10.776385 0.061469343 108.35384 2
|
||||
Loop time of 36.3759 on 1 procs for 200 steps with 21600 atoms
|
||||
|
||||
Performance: 0.950 ns/day, 25.261 hours/ns, 5.498 timesteps/s, 118.760 katom-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 | 9.0837 | 9.0837 | 9.0837 | 0.0 | 24.97
|
||||
Neigh | 0.52896 | 0.52896 | 0.52896 | 0.0 | 1.45
|
||||
Comm | 0.045416 | 0.045416 | 0.045416 | 0.0 | 0.12
|
||||
Output | 26.548 | 26.548 | 26.548 | 0.0 | 72.98
|
||||
Modify | 0.1493 | 0.1493 | 0.1493 | 0.0 | 0.41
|
||||
Other | | 0.02088 | | | 0.06
|
||||
|
||||
Nlocal: 21600 ave 21600 max 21600 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 36674 ave 36674 max 36674 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 2.61729e+06 ave 2.61729e+06 max 2.61729e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 5.24007e+06 ave 5.24007e+06 max 5.24007e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 5240069
|
||||
Ave neighs/atom = 242.59579
|
||||
Neighbor list builds = 4
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:43
|
||||
180
examples/PACKAGES/sna_nnn_slcsa/log.12Dec23.slcsa.g++.4
Normal file
@ -0,0 +1,180 @@
|
||||
LAMMPS (21 Nov 2023)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
variable trequis equal 750.0
|
||||
variable prequis_low equal 0.0
|
||||
variable prequis_high equal 25.0e4
|
||||
variable equilSteps equal 200
|
||||
variable runSteps equal 2000
|
||||
variable freqdump equal 200
|
||||
variable pstime equal step*dt
|
||||
variable sxx equal 1.e-4*pxx
|
||||
variable syy equal 1.e-4*pyy
|
||||
variable szz equal 1.e-4*pzz
|
||||
variable sxy equal 1.e-4*pxy
|
||||
variable sxz equal 1.e-4*pxz
|
||||
variable syz equal 1.e-4*pyz
|
||||
variable TK equal temp
|
||||
variable PE equal pe
|
||||
variable KE equal ke
|
||||
variable V equal vol
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units metal
|
||||
atom_style atomic
|
||||
read_data data.zr_cell
|
||||
Reading data file ...
|
||||
orthogonal box = (0 0 0) to (19.374 33.556752 30.846)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
864 atoms
|
||||
read_data CPU = 0.002 seconds
|
||||
replicate 1 5 5
|
||||
Replication is creating a 1x5x5 = 25 times larger system...
|
||||
orthogonal box = (0 0 0) to (19.374 167.78376 154.23)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
21600 atoms
|
||||
replicate CPU = 0.001 seconds
|
||||
|
||||
change_box all triclinic
|
||||
Changing box ...
|
||||
triclinic box = (0 0 0) to (19.374 167.78376 154.23) with tilt (0 0 0)
|
||||
|
||||
pair_style hybrid/overlay zero 9.0 eam/fs
|
||||
pair_coeff * * zero
|
||||
pair_coeff * * eam/fs Zr_mm.eam.fs Zr
|
||||
Reading eam/fs potential file Zr_mm.eam.fs with DATE: 2007-06-11
|
||||
|
||||
timestep 0.002
|
||||
|
||||
thermo 50
|
||||
thermo_style custom step pe ke temp vol pxx pyy pzz pxy pyz pxz
|
||||
|
||||
# fix extra all print 50 "${pstime} ${TK} ${PE} ${KE} ${V} ${sxx} ${syy} ${szz} ${sxy} ${sxz} ${syz}" file thermo_global_npt_low_temperature_Zr_hcp.dat
|
||||
|
||||
velocity all create ${trequis} 42345 dist gaussian
|
||||
velocity all create 750 42345 dist gaussian
|
||||
|
||||
# 1st step : compute the bispectrum on 24 nearest neighbors
|
||||
compute bnnn all sna/atom 9.0 0.99363 8 0.5 1.0 rmin0 0.0 nnn 24 wmode 1 delta 0.25
|
||||
|
||||
# 2nd step : perform dimension reduction + logistic regression
|
||||
compute slcsa all slcsa/atom 8 4 dir.slcsa/mean_descriptor.dat dir.slcsa/lda_scalings.dat dir.slcsa/lr_decision.dat dir.slcsa/lr_bias.dat dir.slcsa/mahalanobis_file.dat c_bnnn[*]
|
||||
Files used:
|
||||
database mean descriptor: dir.slcsa/mean_descriptor.dat
|
||||
lda scalings : dir.slcsa/lda_scalings.dat
|
||||
lr decision : dir.slcsa/lr_decision.dat
|
||||
lr bias : dir.slcsa/lr_bias.dat
|
||||
maha stats : dir.slcsa/mahalanobis_file.dat
|
||||
For class 0 maha threshold = 5.054
|
||||
mean B:
|
||||
-23.8329
|
||||
4.6638
|
||||
3.9805
|
||||
icov:
|
||||
1.1377 0.1077 -0.0171
|
||||
0.1077 0.8846 -0.2577
|
||||
-0.0171 -0.2577 0.6783
|
||||
For class 1 maha threshold = 5.234
|
||||
mean B:
|
||||
-21.2853
|
||||
-6.1583
|
||||
1.7948
|
||||
icov:
|
||||
1.7124 0.0341 0.1966
|
||||
0.0341 0.6453 0.288
|
||||
0.1966 0.288 1.8991
|
||||
For class 2 maha threshold = 5.036
|
||||
mean B:
|
||||
-23.1593
|
||||
1.3059
|
||||
-5.7549
|
||||
icov:
|
||||
0.7496 -0.0806 -0.1101
|
||||
-0.0806 1.1178 0.1667
|
||||
-0.1101 0.1667 0.6711
|
||||
For class 3 maha threshold = 7.994
|
||||
mean B:
|
||||
68.1971
|
||||
0.1604
|
||||
-0.0067
|
||||
icov:
|
||||
0.9663 -0.1846 0.6622
|
||||
-0.1846 8.2371 0.9841
|
||||
0.6622 0.9841 5.9601
|
||||
|
||||
#dump d1 all custom ${freqdump} slcsa_demo.dump id x y z c_slcsa[*]
|
||||
|
||||
# for testing only. in production use dump as shown above
|
||||
compute max_slcsa all reduce max c_slcsa[*]
|
||||
compute min_slcsa all reduce min c_slcsa[*]
|
||||
thermo_style custom step pe ke temp c_max_slcsa[*] c_min_slcsa[*]
|
||||
|
||||
#fix 1 all nvt temp ${trequis} ${trequis} 0.100
|
||||
fix 1 all npt temp ${trequis} ${trequis} 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 ${trequis} 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 750 0.100 tri ${prequis_low} ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 750 0.100 tri 0 ${prequis_low} 1.0
|
||||
fix 1 all npt temp 750 750 0.100 tri 0 0 1.0
|
||||
|
||||
run ${equilSteps}
|
||||
run 200
|
||||
Neighbor list info ...
|
||||
update: every = 1 steps, delay = 0 steps, check = yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 11
|
||||
ghost atom cutoff = 11
|
||||
binsize = 5.5, bins = 4 31 29
|
||||
3 neighbor lists, perpetual/occasional/extra = 2 1 0
|
||||
(1) pair zero, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton/tri
|
||||
stencil: half/bin/3d/tri
|
||||
bin: standard
|
||||
(2) pair eam/fs, perpetual, trim from (1)
|
||||
attributes: half, newton on, cut 9.6
|
||||
pair build: trim
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) compute sna/atom, occasional
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.26 | 11.45 | 11.64 Mbytes
|
||||
Step PotEng KinEng Temp c_max_slcsa[1] c_max_slcsa[2] c_max_slcsa[3] c_max_slcsa[4] c_max_slcsa[5] c_min_slcsa[1] c_min_slcsa[2] c_min_slcsa[3] c_min_slcsa[4] c_min_slcsa[5]
|
||||
0 -143297.23 2093.9174 750 7.6195146 15.787294 1.2169942 111.01919 2 7.6195146 15.787294 1.2169942 111.01919 2
|
||||
50 -142154.08 1007.7164 360.9442 8.8091564 19.23244 4.2093382 113.87959 2 5.0327148 9.6817454 0.02610585 106.71863 2
|
||||
100 -142365.33 1406.6559 503.83647 8.6272189 17.908949 2.9294666 113.75167 2 6.2058895 11.913521 0.033775944 108.66893 2
|
||||
150 -142188.18 1432.0075 512.91691 8.6441961 18.176321 2.9277374 114.27958 2 5.5899425 10.521867 0.014919473 108.14526 2
|
||||
200 -142000.4 1481.7247 530.72462 8.5895692 18.65646 3.1725758 114.55015 2 5.5955774 10.776385 0.061469343 108.35384 2
|
||||
Loop time of 9.81677 on 4 procs for 200 steps with 21600 atoms
|
||||
|
||||
Performance: 3.521 ns/day, 6.817 hours/ns, 20.373 timesteps/s, 440.063 katom-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 | 2.6508 | 2.6589 | 2.6698 | 0.5 | 27.09
|
||||
Neigh | 0.1516 | 0.15276 | 0.15406 | 0.3 | 1.56
|
||||
Comm | 0.047132 | 0.058969 | 0.066095 | 3.2 | 0.60
|
||||
Output | 6.8886 | 6.8886 | 6.8886 | 0.0 | 70.17
|
||||
Modify | 0.046437 | 0.04661 | 0.046825 | 0.1 | 0.47
|
||||
Other | | 0.01091 | | | 0.11
|
||||
|
||||
Nlocal: 5400 ave 5416 max 5393 min
|
||||
Histogram: 2 1 0 0 0 0 0 0 0 1
|
||||
Nghost: 12902.8 ave 12911 max 12888 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Neighs: 654322 ave 655602 max 650912 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 3
|
||||
FullNghs: 1.31002e+06 ave 1.31507e+06 max 1.30683e+06 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 5240065
|
||||
Ave neighs/atom = 242.5956
|
||||
Neighbor list builds = 4
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:11
|
||||
@ -31,8 +31,15 @@ neigh_modify delay 0 every 5 check no
|
||||
fix 1 all nve
|
||||
fix 2 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff
|
||||
fix 4 all reaxff/bonds 5 bonds.reaxff
|
||||
compute bonds all reaxff/atom bonds yes
|
||||
variable nqeq equal f_2
|
||||
|
||||
# dumps out the local bond information
|
||||
dump 1 all local 5 bonds_local.reaxff c_bonds[1] c_bonds[2] c_bonds[3]
|
||||
|
||||
# dumps out the peratom bond information
|
||||
dump 2 all custom 5 bonds_atom.reaxff id type q c_bonds[*]
|
||||
|
||||
thermo 5
|
||||
thermo_style custom step temp epair etotal press &
|
||||
v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa &
|
||||
|
||||
@ -65,7 +65,7 @@ CUDA_PRECISION = -D_SINGLE_DOUBLE
|
||||
|
||||
CUDA_INCLUDE = -I$(CUDA_HOME)/include
|
||||
CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs
|
||||
CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC
|
||||
CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC -allow-unsupported-compiler
|
||||
|
||||
CUDR_CPP = mpicxx -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 -fPIC -std=c++11
|
||||
CUDR_OPTS = -O2 $(LMP_INC) # -xHost -no-prec-div -ansi-alias
|
||||
|
||||
@ -54,6 +54,6 @@ namespace ucl_opencl {
|
||||
#include "ucl_print.h"
|
||||
#undef UCL_PRINT_ALLOW
|
||||
|
||||
} // namespace ucl_cudart
|
||||
} // namespace ucl_opencl
|
||||
|
||||
#endif
|
||||
|
||||
@ -281,13 +281,7 @@ int AmoebaT::polar_real(const int eflag, const int vflag) {
|
||||
|
||||
const int BX=this->block_size();
|
||||
const int GX=static_cast<int>(ceil(static_cast<double>(ainum)/(BX/this->_threads_per_atom)));
|
||||
/*
|
||||
const int cus = this->device->gpu->cus();
|
||||
while (GX < cus && GX > 1) {
|
||||
BX /= 2;
|
||||
GX=static_cast<int>(ceil(static_cast<double>(ainum)/(BX/this->_threads_per_atom)));
|
||||
}
|
||||
*/
|
||||
|
||||
this->time_pair.start();
|
||||
|
||||
// Build the short neighbor list if not done yet
|
||||
|
||||
@ -56,7 +56,8 @@ int BaseDPDT::init_atomic(const int nlocal, const int nall,
|
||||
const int max_nbors, const int maxspecial,
|
||||
const double cell_size, const double gpu_split,
|
||||
FILE *_screen, const void *pair_program,
|
||||
const char *k_name, const int onetype) {
|
||||
const char *k_name, const int onetype,
|
||||
const int extra_fields) {
|
||||
screen=_screen;
|
||||
|
||||
int gpu_nbor=0;
|
||||
@ -75,7 +76,8 @@ int BaseDPDT::init_atomic(const int nlocal, const int nall,
|
||||
bool charge = false;
|
||||
bool rot = false;
|
||||
bool vel = true;
|
||||
int success=device->init(*ans,charge,rot,nlocal,nall,maxspecial,vel);
|
||||
_extra_fields = extra_fields;
|
||||
int success=device->init(*ans,charge,rot,nlocal,nall,maxspecial,vel,_extra_fields/4);
|
||||
if (success!=0)
|
||||
return success;
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ class BaseDPD {
|
||||
const int maxspecial, const double cell_size,
|
||||
const double gpu_split, FILE *screen,
|
||||
const void *pair_program, const char *k_name,
|
||||
const int onetype=0);
|
||||
const int onetype=0, const int extra_fields=0);
|
||||
|
||||
/// Estimate the overhead for GPU context changes and CPU driver
|
||||
void estimate_gpu_overhead();
|
||||
@ -167,7 +167,6 @@ class BaseDPD {
|
||||
/// Atom Data
|
||||
Atom<numtyp,acctyp> *atom;
|
||||
|
||||
|
||||
// ------------------------ FORCE/ENERGY DATA -----------------------
|
||||
|
||||
Answer<numtyp,acctyp> *ans;
|
||||
@ -199,7 +198,7 @@ class BaseDPD {
|
||||
|
||||
protected:
|
||||
bool _compiled;
|
||||
int _block_size, _threads_per_atom, _onetype;
|
||||
int _block_size, _threads_per_atom, _onetype, _extra_fields;
|
||||
double _max_bytes, _max_an_bytes;
|
||||
double _gpu_overhead, _driver_overhead;
|
||||
UCL_D_Vec<int> *_nbor_data;
|
||||
|
||||
362
lib/gpu/lal_base_sph.cpp
Normal file
@ -0,0 +1,362 @@
|
||||
/***************************************************************************
|
||||
base_sph.cpp
|
||||
-------------------
|
||||
Trung Nguyen (U Chicago)
|
||||
|
||||
Base class for SPH pair styles needing per-particle data for position,
|
||||
velocity, and type.
|
||||
|
||||
__________________________________________________________________________
|
||||
This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
|
||||
__________________________________________________________________________
|
||||
|
||||
begin : December 2023
|
||||
email : ndactrung@gmail.com
|
||||
***************************************************************************/
|
||||
|
||||
#include "lal_base_sph.h"
|
||||
namespace LAMMPS_AL {
|
||||
#define BaseSPHT BaseSPH<numtyp, acctyp>
|
||||
|
||||
extern Device<PRECISION,ACC_PRECISION> global_device;
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
BaseSPHT::BaseSPH() : _compiled(false), _max_bytes(0) {
|
||||
device=&global_device;
|
||||
ans=new Answer<numtyp,acctyp>();
|
||||
nbor=new Neighbor();
|
||||
pair_program=nullptr;
|
||||
ucl_device=nullptr;
|
||||
#if defined(LAL_OCL_EV_JIT)
|
||||
pair_program_noev=nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
BaseSPHT::~BaseSPH() {
|
||||
delete ans;
|
||||
delete nbor;
|
||||
k_pair_fast.clear();
|
||||
k_pair.clear();
|
||||
if (pair_program) delete pair_program;
|
||||
#if defined(LAL_OCL_EV_JIT)
|
||||
k_pair_noev.clear();
|
||||
if (pair_program_noev) delete pair_program_noev;
|
||||
#endif
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
int BaseSPHT::bytes_per_atom_atomic(const int max_nbors) const {
|
||||
return device->atom.bytes_per_atom()+ans->bytes_per_atom()+
|
||||
nbor->bytes_per_atom(max_nbors);
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
int BaseSPHT::init_atomic(const int nlocal, const int nall,
|
||||
const int max_nbors, const int maxspecial,
|
||||
const double cell_size, const double gpu_split,
|
||||
FILE *_screen, const void *pair_program,
|
||||
const char *k_name, const int onetype,
|
||||
const int extra_fields) {
|
||||
screen=_screen;
|
||||
|
||||
int gpu_nbor=0;
|
||||
if (device->gpu_mode()==Device<numtyp,acctyp>::GPU_NEIGH)
|
||||
gpu_nbor=1;
|
||||
else if (device->gpu_mode()==Device<numtyp,acctyp>::GPU_HYB_NEIGH)
|
||||
gpu_nbor=2;
|
||||
|
||||
int _gpu_host=0;
|
||||
int host_nlocal=hd_balancer.first_host_count(nlocal,gpu_split,gpu_nbor);
|
||||
if (host_nlocal>0)
|
||||
_gpu_host=1;
|
||||
|
||||
_threads_per_atom=device->threads_per_atom();
|
||||
|
||||
bool charge = false;
|
||||
bool rot = false;
|
||||
bool vel = true;
|
||||
_extra_fields = extra_fields;
|
||||
int success=device->init(*ans,charge,rot,nlocal,nall,maxspecial,vel,_extra_fields/4);
|
||||
if (success!=0)
|
||||
return success;
|
||||
|
||||
if (ucl_device!=device->gpu) _compiled=false;
|
||||
|
||||
ucl_device=device->gpu;
|
||||
atom=&device->atom;
|
||||
|
||||
_block_size=device->pair_block_size();
|
||||
compile_kernels(*ucl_device,pair_program,k_name,onetype);
|
||||
|
||||
if (_threads_per_atom>1 && gpu_nbor==0) {
|
||||
nbor->packing(true);
|
||||
_nbor_data=&(nbor->dev_packed);
|
||||
} else
|
||||
_nbor_data=&(nbor->dev_nbor);
|
||||
|
||||
success = device->init_nbor(nbor,nlocal,host_nlocal,nall,maxspecial,_gpu_host,
|
||||
max_nbors,cell_size,false,_threads_per_atom);
|
||||
if (success!=0)
|
||||
return success;
|
||||
|
||||
// Initialize host-device load balancer
|
||||
hd_balancer.init(device,gpu_nbor,gpu_split);
|
||||
|
||||
// Initialize timers for the selected GPU
|
||||
time_pair.init(*ucl_device);
|
||||
time_pair.zero();
|
||||
|
||||
pos_tex.bind_float(atom->x,4);
|
||||
vel_tex.bind_float(atom->v,4);
|
||||
|
||||
_max_an_bytes=ans->gpu_bytes()+nbor->gpu_bytes();
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
void BaseSPHT::estimate_gpu_overhead() {
|
||||
device->estimate_gpu_overhead(1,_gpu_overhead,_driver_overhead);
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
void BaseSPHT::clear_atomic() {
|
||||
// Output any timing information
|
||||
acc_timers();
|
||||
double avg_split=hd_balancer.all_avg_split();
|
||||
_gpu_overhead*=hd_balancer.timestep();
|
||||
_driver_overhead*=hd_balancer.timestep();
|
||||
device->output_times(time_pair,*ans,*nbor,avg_split,_max_bytes+_max_an_bytes,
|
||||
_gpu_overhead,_driver_overhead,_threads_per_atom,screen);
|
||||
|
||||
time_pair.clear();
|
||||
hd_balancer.clear();
|
||||
|
||||
nbor->clear();
|
||||
ans->clear();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Copy neighbor list from host
|
||||
// ---------------------------------------------------------------------------
|
||||
template <class numtyp, class acctyp>
|
||||
int * BaseSPHT::reset_nbors(const int nall, const int inum, int *ilist,
|
||||
int *numj, int **firstneigh, bool &success) {
|
||||
success=true;
|
||||
|
||||
int mn=nbor->max_nbor_loop(inum,numj,ilist);
|
||||
resize_atom(inum,nall,success);
|
||||
resize_local(inum,mn,success);
|
||||
if (!success)
|
||||
return nullptr;
|
||||
|
||||
nbor->get_host(inum,ilist,numj,firstneigh,block_size());
|
||||
|
||||
double bytes=ans->gpu_bytes()+nbor->gpu_bytes();
|
||||
if (bytes>_max_an_bytes)
|
||||
_max_an_bytes=bytes;
|
||||
|
||||
return ilist;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Build neighbor list on device
|
||||
// ---------------------------------------------------------------------------
|
||||
template <class numtyp, class acctyp>
|
||||
inline void BaseSPHT::build_nbor_list(const int inum, const int host_inum,
|
||||
const int nall, double **host_x,
|
||||
int *host_type, double *sublo,
|
||||
double *subhi, tagint *tag,
|
||||
int **nspecial, tagint **special,
|
||||
bool &success) {
|
||||
success=true;
|
||||
resize_atom(inum,nall,success);
|
||||
resize_local(inum,host_inum,nbor->max_nbors(),success);
|
||||
if (!success)
|
||||
return;
|
||||
atom->cast_copy_x(host_x,host_type);
|
||||
|
||||
int mn;
|
||||
nbor->build_nbor_list(host_x, inum, host_inum, nall, *atom, sublo, subhi,
|
||||
tag, nspecial, special, success, mn, ans->error_flag);
|
||||
|
||||
double bytes=ans->gpu_bytes()+nbor->gpu_bytes();
|
||||
if (bytes>_max_an_bytes)
|
||||
_max_an_bytes=bytes;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Copy nbor list from host if necessary and then calculate forces, virials,..
|
||||
// ---------------------------------------------------------------------------
|
||||
template <class numtyp, class acctyp>
|
||||
void BaseSPHT::compute(const int f_ago, const int inum_full, const int nall,
|
||||
double **host_x, int *host_type, int *ilist, int *numj,
|
||||
int **firstneigh, const bool eflag_in, const bool vflag_in,
|
||||
const bool eatom, const bool vatom, int &host_start,
|
||||
const double cpu_time, bool &success, tagint *tag,
|
||||
double **host_v, const int nlocal) {
|
||||
acc_timers();
|
||||
int eflag, vflag;
|
||||
if (eatom) eflag=2;
|
||||
else if (eflag_in) eflag=1;
|
||||
else eflag=0;
|
||||
if (vatom) vflag=2;
|
||||
else if (vflag_in) vflag=1;
|
||||
else vflag=0;
|
||||
|
||||
#ifdef LAL_NO_BLOCK_REDUCE
|
||||
if (eflag) eflag=2;
|
||||
if (vflag) vflag=2;
|
||||
#endif
|
||||
|
||||
set_kernel(eflag,vflag);
|
||||
if (inum_full==0) {
|
||||
host_start=0;
|
||||
// Make sure textures are correct if realloc by a different hybrid style
|
||||
resize_atom(0,nall,success);
|
||||
zero_timers();
|
||||
return;
|
||||
}
|
||||
|
||||
int ago=hd_balancer.ago_first(f_ago);
|
||||
int inum=hd_balancer.balance(ago,inum_full,cpu_time);
|
||||
ans->inum(inum);
|
||||
host_start=inum;
|
||||
|
||||
if (ago==0) {
|
||||
reset_nbors(nall, inum, ilist, numj, firstneigh, success);
|
||||
if (!success)
|
||||
return;
|
||||
}
|
||||
|
||||
atom->cast_x_data(host_x,host_type);
|
||||
atom->cast_v_data(host_v,tag);
|
||||
hd_balancer.start_timer();
|
||||
atom->add_x_data(host_x,host_type);
|
||||
atom->add_v_data(host_v,tag);
|
||||
|
||||
const int red_blocks=loop(eflag,vflag);
|
||||
ans->copy_answers(eflag_in,vflag_in,eatom,vatom,ilist,red_blocks);
|
||||
device->add_ans_object(ans);
|
||||
hd_balancer.stop_timer();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Reneighbor on GPU if necessary and then compute forces, virials, energies
|
||||
// ---------------------------------------------------------------------------
|
||||
template <class numtyp, class acctyp>
|
||||
int** BaseSPHT::compute(const int ago, const int inum_full, const int nall,
|
||||
double **host_x, int *host_type, double *sublo,
|
||||
double *subhi, tagint *tag, int **nspecial,
|
||||
tagint **special, const bool eflag_in, const bool vflag_in,
|
||||
const bool eatom, const bool vatom, int &host_start,
|
||||
int **ilist, int **jnum, const double cpu_time, bool &success,
|
||||
double **host_v) {
|
||||
acc_timers();
|
||||
int eflag, vflag;
|
||||
if (eatom) eflag=2;
|
||||
else if (eflag_in) eflag=1;
|
||||
else eflag=0;
|
||||
if (vatom) vflag=2;
|
||||
else if (vflag_in) vflag=1;
|
||||
else vflag=0;
|
||||
|
||||
#ifdef LAL_NO_BLOCK_REDUCE
|
||||
if (eflag) eflag=2;
|
||||
if (vflag) vflag=2;
|
||||
#endif
|
||||
|
||||
set_kernel(eflag,vflag);
|
||||
if (inum_full==0) {
|
||||
host_start=0;
|
||||
// Make sure textures are correct if realloc by a different hybrid style
|
||||
resize_atom(0,nall,success);
|
||||
zero_timers();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
hd_balancer.balance(cpu_time);
|
||||
int inum=hd_balancer.get_gpu_count(ago,inum_full);
|
||||
ans->inum(inum);
|
||||
host_start=inum;
|
||||
|
||||
// Build neighbor list on GPU if necessary
|
||||
if (ago==0) {
|
||||
build_nbor_list(inum, inum_full-inum, nall, host_x, host_type,
|
||||
sublo, subhi, tag, nspecial, special, success);
|
||||
if (!success)
|
||||
return nullptr;
|
||||
atom->cast_v_data(host_v,tag);
|
||||
hd_balancer.start_timer();
|
||||
} else {
|
||||
atom->cast_x_data(host_x,host_type);
|
||||
atom->cast_v_data(host_v,tag);
|
||||
hd_balancer.start_timer();
|
||||
atom->add_x_data(host_x,host_type);
|
||||
}
|
||||
atom->add_v_data(host_v,tag);
|
||||
*ilist=nbor->host_ilist.begin();
|
||||
*jnum=nbor->host_acc.begin();
|
||||
|
||||
const int red_blocks=loop(eflag,vflag);
|
||||
ans->copy_answers(eflag_in,vflag_in,eatom,vatom,red_blocks);
|
||||
device->add_ans_object(ans);
|
||||
hd_balancer.stop_timer();
|
||||
|
||||
return nbor->host_jlist.begin()-host_start;
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
double BaseSPHT::host_memory_usage_atomic() const {
|
||||
return device->atom.host_memory_usage()+nbor->host_memory_usage()+
|
||||
4*sizeof(numtyp)+sizeof(BaseSPH<numtyp,acctyp>);
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
void BaseSPHT::compile_kernels(UCL_Device &dev, const void *pair_str,
|
||||
const char *kname, const int onetype) {
|
||||
if (_compiled && _onetype==onetype)
|
||||
return;
|
||||
|
||||
_onetype=onetype;
|
||||
|
||||
std::string s_fast=std::string(kname)+"_fast";
|
||||
if (pair_program) delete pair_program;
|
||||
pair_program=new UCL_Program(dev);
|
||||
std::string oclstring = device->compile_string()+" -DEVFLAG=1";
|
||||
if (_onetype) oclstring+=" -DONETYPE="+device->toa(_onetype);
|
||||
pair_program->load_string(pair_str,oclstring.c_str(),nullptr,screen);
|
||||
k_pair_fast.set_function(*pair_program,s_fast.c_str());
|
||||
k_pair.set_function(*pair_program,kname);
|
||||
pos_tex.get_texture(*pair_program,"pos_tex");
|
||||
vel_tex.get_texture(*pair_program,"vel_tex");
|
||||
|
||||
#if defined(LAL_OCL_EV_JIT)
|
||||
oclstring = device->compile_string()+" -DEVFLAG=0";
|
||||
if (_onetype) oclstring+=" -DONETYPE="+device->toa(_onetype);
|
||||
if (pair_program_noev) delete pair_program_noev;
|
||||
pair_program_noev=new UCL_Program(dev);
|
||||
pair_program_noev->load_string(pair_str,oclstring.c_str(),nullptr,screen);
|
||||
k_pair_noev.set_function(*pair_program_noev,s_fast.c_str());
|
||||
#else
|
||||
k_pair_sel = &k_pair_fast;
|
||||
#endif
|
||||
|
||||
_compiled=true;
|
||||
|
||||
#if defined(USE_OPENCL) && (defined(CL_VERSION_2_1) || defined(CL_VERSION_3_0))
|
||||
if (dev.has_subgroup_support()) {
|
||||
size_t mx_subgroup_sz = k_pair_fast.max_subgroup_size(_block_size);
|
||||
#if defined(LAL_OCL_EV_JIT)
|
||||
mx_subgroup_sz = std::min(mx_subgroup_sz, k_pair_noev.max_subgroup_size(_block_size));
|
||||
#endif
|
||||
if (_threads_per_atom > (int)mx_subgroup_sz) _threads_per_atom = mx_subgroup_sz;
|
||||
device->set_simd_size(mx_subgroup_sz);
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
template class BaseSPH<PRECISION,ACC_PRECISION>;
|
||||
}
|
||||
209
lib/gpu/lal_base_sph.h
Normal file
@ -0,0 +1,209 @@
|
||||
/***************************************************************************
|
||||
base_sph.h
|
||||
-------------------
|
||||
Trung Nguyen (U Chicago)
|
||||
|
||||
Base class for SPH pair styles needing per-particle data for position,
|
||||
velocity, and type.
|
||||
|
||||
__________________________________________________________________________
|
||||
This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
|
||||
__________________________________________________________________________
|
||||
|
||||
begin : December 2023
|
||||
email : ndactrung@gmail.com
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef LAL_BASE_SPH_H
|
||||
#define LAL_BASE_DPD_H
|
||||
|
||||
#include "lal_device.h"
|
||||
#include "lal_balance.h"
|
||||
#include "mpi.h"
|
||||
|
||||
#ifdef USE_OPENCL
|
||||
#include "geryon/ocl_texture.h"
|
||||
#elif defined(USE_HIP)
|
||||
#include "geryon/hip_texture.h"
|
||||
#else
|
||||
#include "geryon/nvd_texture.h"
|
||||
#endif
|
||||
|
||||
namespace LAMMPS_AL {
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
class BaseSPH {
|
||||
public:
|
||||
BaseSPH();
|
||||
virtual ~BaseSPH();
|
||||
|
||||
/// Clear any previous data and set up for a new LAMMPS run
|
||||
/** \param max_nbors initial number of rows in the neighbor matrix
|
||||
* \param cell_size cutoff + skin
|
||||
* \param gpu_split fraction of particles handled by device
|
||||
* \param k_name name for the kernel for force calculation
|
||||
*
|
||||
* Returns:
|
||||
* - 0 if successful
|
||||
* - -1 if fix gpu not found
|
||||
* - -3 if there is an out of memory error
|
||||
* - -4 if the GPU library was not compiled for GPU
|
||||
* - -5 Double precision is not supported on card **/
|
||||
int init_atomic(const int nlocal, const int nall, const int max_nbors,
|
||||
const int maxspecial, const double cell_size,
|
||||
const double gpu_split, FILE *screen,
|
||||
const void *pair_program, const char *k_name,
|
||||
const int onetype=0, const int extra_fields=0);
|
||||
|
||||
/// Estimate the overhead for GPU context changes and CPU driver
|
||||
void estimate_gpu_overhead();
|
||||
|
||||
/// Check if there is enough storage for atom arrays and realloc if not
|
||||
/** \param success set to false if insufficient memory **/
|
||||
inline void resize_atom(const int inum, const int nall, bool &success) {
|
||||
if (atom->resize(nall, success)) {
|
||||
pos_tex.bind_float(atom->x,4);
|
||||
vel_tex.bind_float(atom->v,4);
|
||||
}
|
||||
ans->resize(inum,success);
|
||||
}
|
||||
|
||||
/// Check if there is enough storage for neighbors and realloc if not
|
||||
/** \param nlocal number of particles whose nbors must be stored on device
|
||||
* \param host_inum number of particles whose nbors need to copied to host
|
||||
* \param current maximum number of neighbors
|
||||
* \note olist_size=total number of local particles **/
|
||||
inline void resize_local(const int inum, const int max_nbors, bool &success) {
|
||||
nbor->resize(inum,max_nbors,success);
|
||||
}
|
||||
|
||||
/// Check if there is enough storage for neighbors and realloc if not
|
||||
/** \param nlocal number of particles whose nbors must be stored on device
|
||||
* \param host_inum number of particles whose nbors need to copied to host
|
||||
* \param current maximum number of neighbors
|
||||
* \note host_inum is 0 if the host is performing neighboring
|
||||
* \note nlocal+host_inum=total number local particles
|
||||
* \note olist_size=0 **/
|
||||
inline void resize_local(const int inum, const int host_inum,
|
||||
const int max_nbors, bool &success) {
|
||||
nbor->resize(inum,host_inum,max_nbors,success);
|
||||
}
|
||||
|
||||
/// Clear all host and device data
|
||||
/** \note This is called at the beginning of the init() routine **/
|
||||
void clear_atomic();
|
||||
|
||||
/// Returns memory usage on device per atom
|
||||
int bytes_per_atom_atomic(const int max_nbors) const;
|
||||
|
||||
/// Total host memory used by library for pair style
|
||||
double host_memory_usage_atomic() const;
|
||||
|
||||
/// Accumulate timers
|
||||
inline void acc_timers() {
|
||||
if (device->time_device()) {
|
||||
nbor->acc_timers(screen);
|
||||
time_pair.add_to_total();
|
||||
atom->acc_timers();
|
||||
ans->acc_timers();
|
||||
}
|
||||
}
|
||||
|
||||
/// Zero timers
|
||||
inline void zero_timers() {
|
||||
time_pair.zero();
|
||||
atom->zero_timers();
|
||||
ans->zero_timers();
|
||||
}
|
||||
|
||||
/// Copy neighbor list from host
|
||||
int * reset_nbors(const int nall, const int inum, int *ilist, int *numj,
|
||||
int **firstneigh, bool &success);
|
||||
|
||||
/// Build neighbor list on device
|
||||
void build_nbor_list(const int inum, const int host_inum,
|
||||
const int nall, double **host_x, int *host_type,
|
||||
double *sublo, double *subhi, tagint *tag, int **nspecial,
|
||||
tagint **special, bool &success);
|
||||
|
||||
/// Pair loop with host neighboring
|
||||
void compute(const int f_ago, const int inum_full, const int nall,
|
||||
double **host_x, int *host_type, int *ilist, int *numj,
|
||||
int **firstneigh, const bool eflag, const bool vflag,
|
||||
const bool eatom, const bool vatom, int &host_start,
|
||||
const double cpu_time, bool &success, tagint *tag,
|
||||
double **v, const int nlocal);
|
||||
|
||||
/// Pair loop with device neighboring
|
||||
int** compute(const int ago, const int inum_full, const int nall,
|
||||
double **host_x, int *host_type, double *sublo,
|
||||
double *subhi, tagint *tag, int **nspecial,
|
||||
tagint **special, const bool eflag, const bool vflag,
|
||||
const bool eatom, const bool vatom, int &host_start,
|
||||
int **ilist, int **numj, const double cpu_time, bool &success,
|
||||
double **v);
|
||||
|
||||
// -------------------------- DEVICE DATA -------------------------
|
||||
|
||||
/// Device Properties and Atom and Neighbor storage
|
||||
Device<numtyp,acctyp> *device;
|
||||
|
||||
/// Geryon device
|
||||
UCL_Device *ucl_device;
|
||||
|
||||
/// Device Timers
|
||||
UCL_Timer time_pair;
|
||||
|
||||
/// Host device load balancer
|
||||
Balance<numtyp,acctyp> hd_balancer;
|
||||
|
||||
/// LAMMPS pointer for screen output
|
||||
FILE *screen;
|
||||
|
||||
// --------------------------- ATOM DATA --------------------------
|
||||
|
||||
/// Atom Data
|
||||
Atom<numtyp,acctyp> *atom;
|
||||
|
||||
// ------------------------ FORCE/ENERGY DATA -----------------------
|
||||
|
||||
Answer<numtyp,acctyp> *ans;
|
||||
|
||||
// --------------------------- NBOR DATA ----------------------------
|
||||
|
||||
/// Neighbor data
|
||||
Neighbor *nbor;
|
||||
|
||||
// ------------------------- DEVICE KERNELS -------------------------
|
||||
UCL_Program *pair_program, *pair_program_noev;
|
||||
UCL_Kernel k_pair_fast, k_pair, k_pair_noev, *k_pair_sel;
|
||||
inline int block_size() { return _block_size; }
|
||||
inline void set_kernel(const int eflag, const int vflag) {
|
||||
#if defined(LAL_OCL_EV_JIT)
|
||||
if (eflag || vflag) k_pair_sel = &k_pair_fast;
|
||||
else k_pair_sel = &k_pair_noev;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
// --------------------------- TEXTURES -----------------------------
|
||||
UCL_Texture pos_tex;
|
||||
UCL_Texture vel_tex;
|
||||
|
||||
// ------------------------- COMMON VARS ----------------------------
|
||||
|
||||
protected:
|
||||
bool _compiled;
|
||||
int _block_size, _threads_per_atom, _onetype, _extra_fields;
|
||||
double _max_bytes, _max_an_bytes;
|
||||
double _gpu_overhead, _driver_overhead;
|
||||
UCL_D_Vec<int> *_nbor_data;
|
||||
|
||||
void compile_kernels(UCL_Device &dev, const void *pair_string,
|
||||
const char *k, const int onetype);
|
||||
virtual int loop(const int eflag, const int vflag) = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
150
lib/gpu/lal_coul_slater_long.cpp
Normal file
@ -0,0 +1,150 @@
|
||||
/***************************************************************************
|
||||
coul_slater_long_ext.cpp
|
||||
------------------------
|
||||
Trung Nguyen (U Chicago)
|
||||
|
||||
Class for acceleration of the coul/slater/long pair style.
|
||||
|
||||
__________________________________________________________________________
|
||||
This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
|
||||
__________________________________________________________________________
|
||||
|
||||
begin : September 2023
|
||||
email : ndactrung@gmail.com
|
||||
***************************************************************************/
|
||||
|
||||
#if defined(USE_OPENCL)
|
||||
#include "coul_slater_long_cl.h"
|
||||
#elif defined(USE_CUDART)
|
||||
const char *coul_slater_long=0;
|
||||
#else
|
||||
#include "coul_slater_long_cubin.h"
|
||||
#endif
|
||||
|
||||
#include "lal_coul_slater_long.h"
|
||||
#include <cassert>
|
||||
namespace LAMMPS_AL {
|
||||
#define CoulSlaterLongT CoulSlaterLong<numtyp, acctyp>
|
||||
|
||||
extern Device<PRECISION,ACC_PRECISION> pair_gpu_device;
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
CoulSlaterLongT::CoulSlaterLong() : BaseCharge<numtyp,acctyp>(), _allocated(false) {
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
CoulSlaterLongT::~CoulSlaterLong() {
|
||||
clear();
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
int CoulSlaterLongT::bytes_per_atom(const int max_nbors) const {
|
||||
return this->bytes_per_atom_atomic(max_nbors);
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
int CoulSlaterLongT::init(const int ntypes, double **host_scale,
|
||||
const int nlocal, const int nall, const int max_nbors,
|
||||
const int maxspecial, const double cell_size,
|
||||
const double gpu_split, FILE *_screen,
|
||||
const double host_cut_coulsq, double *host_special_coul,
|
||||
const double qqrd2e, const double g_ewald, double lamda) {
|
||||
int success;
|
||||
success=this->init_atomic(nlocal,nall,max_nbors,maxspecial,cell_size,
|
||||
gpu_split,_screen,coul_slater_long,"k_coul_slater_long");
|
||||
if (success!=0)
|
||||
return success;
|
||||
|
||||
int lj_types=ntypes;
|
||||
shared_types=false;
|
||||
int max_shared_types=this->device->max_shared_types();
|
||||
if (lj_types<=max_shared_types && this->_block_size>=max_shared_types) {
|
||||
lj_types=max_shared_types;
|
||||
shared_types=true;
|
||||
}
|
||||
_lj_types=lj_types;
|
||||
|
||||
// Allocate a host write buffer for data initialization
|
||||
UCL_H_Vec<numtyp> host_write(lj_types*lj_types*32,*(this->ucl_device),
|
||||
UCL_WRITE_ONLY);
|
||||
|
||||
for (int i=0; i<lj_types*lj_types; i++)
|
||||
host_write[i]=0.0;
|
||||
|
||||
scale.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY);
|
||||
this->atom->type_pack1(ntypes,lj_types,scale,host_write,host_scale);
|
||||
|
||||
sp_cl.alloc(4,*(this->ucl_device),UCL_READ_ONLY);
|
||||
for (int i=0; i<4; i++) {
|
||||
host_write[i]=host_special_coul[i];
|
||||
}
|
||||
ucl_copy(sp_cl,host_write,4,false);
|
||||
|
||||
_cut_coulsq=host_cut_coulsq;
|
||||
_qqrd2e=qqrd2e;
|
||||
_g_ewald=g_ewald;
|
||||
_lamda=lamda;
|
||||
|
||||
_allocated=true;
|
||||
this->_max_bytes=scale.row_bytes()+sp_cl.row_bytes();
|
||||
return 0;
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
void CoulSlaterLongT::reinit(const int ntypes, double **host_scale) {
|
||||
UCL_H_Vec<numtyp> hscale(_lj_types*_lj_types,*(this->ucl_device),
|
||||
UCL_WRITE_ONLY);
|
||||
this->atom->type_pack1(ntypes,_lj_types,scale,hscale,host_scale);
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
void CoulSlaterLongT::clear() {
|
||||
if (!_allocated)
|
||||
return;
|
||||
_allocated=false;
|
||||
|
||||
scale.clear();
|
||||
sp_cl.clear();
|
||||
this->clear_atomic();
|
||||
}
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
double CoulSlaterLongT::host_memory_usage() const {
|
||||
return this->host_memory_usage_atomic()+sizeof(CoulSlaterLong<numtyp,acctyp>);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Calculate energies, forces, and torques
|
||||
// ---------------------------------------------------------------------------
|
||||
template <class numtyp, class acctyp>
|
||||
int CoulSlaterLongT::loop(const int eflag, const int vflag) {
|
||||
// Compute the block size and grid size to keep all cores busy
|
||||
const int BX=this->block_size();
|
||||
int GX=static_cast<int>(ceil(static_cast<double>(this->ans->inum())/
|
||||
(BX/this->_threads_per_atom)));
|
||||
|
||||
int ainum=this->ans->inum();
|
||||
int nbor_pitch=this->nbor->nbor_pitch();
|
||||
this->time_pair.start();
|
||||
if (shared_types) {
|
||||
this->k_pair_sel->set_size(GX,BX);
|
||||
this->k_pair_sel->run(&this->atom->x, &scale, &sp_cl,
|
||||
&this->nbor->dev_nbor, &this->_nbor_data->begin(),
|
||||
&this->ans->force, &this->ans->engv,
|
||||
&eflag, &vflag, &ainum, &nbor_pitch,
|
||||
&this->atom->q, &_cut_coulsq, &_qqrd2e, &_g_ewald,
|
||||
&_lamda, &this->_threads_per_atom);
|
||||
} else {
|
||||
this->k_pair.set_size(GX,BX);
|
||||
this->k_pair.run(&this->atom->x, &scale, &_lj_types, &sp_cl,
|
||||
&this->nbor->dev_nbor, &this->_nbor_data->begin(),
|
||||
&this->ans->force, &this->ans->engv, &eflag, &vflag,
|
||||
&ainum, &nbor_pitch, &this->atom->q, &_cut_coulsq,
|
||||
&_qqrd2e, &_g_ewald, &_lamda, &this->_threads_per_atom);
|
||||
}
|
||||
this->time_pair.stop();
|
||||
return GX;
|
||||
}
|
||||
|
||||
template class CoulSlaterLong<PRECISION,ACC_PRECISION>;
|
||||
}
|
||||
250
lib/gpu/lal_coul_slater_long.cu
Normal file
@ -0,0 +1,250 @@
|
||||
// **************************************************************************
|
||||
// coul_slater_long.cu
|
||||
// -------------------
|
||||
// Trung Nguyen (U Chicago)
|
||||
//
|
||||
// Device code for acceleration of the coul/slater/long pair style
|
||||
//
|
||||
// __________________________________________________________________________
|
||||
// This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
|
||||
// __________________________________________________________________________
|
||||
//
|
||||
// begin : September 2023
|
||||
// email : ndactrung@gmail.com
|
||||
// ***************************************************************************
|
||||
|
||||
#if defined(NV_KERNEL) || defined(USE_HIP)
|
||||
|
||||
#include "lal_aux_fun1.h"
|
||||
#ifndef _DOUBLE_DOUBLE
|
||||
_texture( pos_tex,float4);
|
||||
_texture( q_tex,float);
|
||||
#else
|
||||
_texture_2d( pos_tex,int4);
|
||||
_texture( q_tex,int2);
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define pos_tex x_
|
||||
#define q_tex q_
|
||||
#endif
|
||||
|
||||
__kernel void k_coul_slater_long(const __global numtyp4 *restrict x_,
|
||||
const __global numtyp *restrict scale,
|
||||
const int lj_types,
|
||||
const __global numtyp *restrict sp_cl_in,
|
||||
const __global int *dev_nbor,
|
||||
const __global int *dev_packed,
|
||||
__global acctyp3 *restrict ans,
|
||||
__global acctyp *restrict engv,
|
||||
const int eflag, const int vflag, const int inum,
|
||||
const int nbor_pitch,
|
||||
const __global numtyp *restrict q_,
|
||||
const numtyp cut_coulsq, const numtyp qqrd2e,
|
||||
const numtyp g_ewald, const numtyp lamda,
|
||||
const int t_per_atom) {
|
||||
int tid, ii, offset;
|
||||
atom_info(t_per_atom,ii,tid,offset);
|
||||
|
||||
__local numtyp sp_cl[4];
|
||||
int n_stride;
|
||||
local_allocate_store_charge();
|
||||
|
||||
sp_cl[0]=sp_cl_in[0];
|
||||
sp_cl[1]=sp_cl_in[1];
|
||||
sp_cl[2]=sp_cl_in[2];
|
||||
sp_cl[3]=sp_cl_in[3];
|
||||
|
||||
acctyp3 f;
|
||||
f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0;
|
||||
acctyp e_coul, virial[6];
|
||||
if (EVFLAG) {
|
||||
e_coul=(acctyp)0;
|
||||
for (int i=0; i<6; i++) virial[i]=(acctyp)0;
|
||||
}
|
||||
|
||||
if (ii<inum) {
|
||||
int nbor, nbor_end;
|
||||
int i, numj;
|
||||
nbor_info(dev_nbor,dev_packed,nbor_pitch,t_per_atom,ii,offset,i,numj,
|
||||
n_stride,nbor_end,nbor);
|
||||
|
||||
numtyp4 ix; fetch4(ix,i,pos_tex); //x_[i];
|
||||
int itype=ix.w;
|
||||
numtyp qtmp; fetch(qtmp,i,q_tex);
|
||||
numtyp lamdainv = ucl_recip(lamda);
|
||||
|
||||
for ( ; nbor<nbor_end; nbor+=n_stride) {
|
||||
ucl_prefetch(dev_packed+nbor+n_stride);
|
||||
int j=dev_packed[nbor];
|
||||
|
||||
numtyp factor_coul;
|
||||
factor_coul = (numtyp)1.0-sp_cl[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
numtyp4 jx; fetch4(jx,j,pos_tex); //x_[j];
|
||||
int jtype=jx.w;
|
||||
|
||||
// Compute r12
|
||||
numtyp delx = ix.x-jx.x;
|
||||
numtyp dely = ix.y-jx.y;
|
||||
numtyp delz = ix.z-jx.z;
|
||||
numtyp rsq = delx*delx+dely*dely+delz*delz;
|
||||
|
||||
int mtype=itype*lj_types+jtype;
|
||||
if (rsq < cut_coulsq) {
|
||||
numtyp r2inv=ucl_recip(rsq);
|
||||
numtyp force, prefactor, _erfc;
|
||||
|
||||
numtyp r = ucl_rsqrt(r2inv);
|
||||
numtyp grij = g_ewald * r;
|
||||
numtyp expm2 = ucl_exp(-grij*grij);
|
||||
numtyp t = ucl_recip((numtyp)1.0 + EWALD_P*grij);
|
||||
_erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2;
|
||||
fetch(prefactor,j,q_tex);
|
||||
numtyp rlamdainv = r * lamdainv;
|
||||
numtyp exprlmdainv = ucl_exp((numtyp)-2.0*rlamdainv);
|
||||
numtyp slater_term = exprlmdainv*((numtyp)1.0 + ((numtyp)2.0*rlamdainv*((numtyp)1.0+rlamdainv)));
|
||||
force = prefactor*(_erfc + EWALD_F*grij*expm2-slater_term);
|
||||
if (factor_coul > (numtyp)0) force -= factor_coul*prefactor*((numtyp)1.0-slater_term);
|
||||
force *= r2inv;
|
||||
|
||||
f.x+=delx*force;
|
||||
f.y+=dely*force;
|
||||
f.z+=delz*force;
|
||||
|
||||
if (EVFLAG && eflag) {
|
||||
numtyp e_slater = ((numtyp)1.0 + rlamdainv)*exprlmdainv;
|
||||
numtyp e = prefactor*(_erfc-e_slater);
|
||||
if (factor_coul > (numtyp)0) e -= factor_coul*prefactor*((numtyp)1.0 - e_slater);
|
||||
e_coul += e;
|
||||
}
|
||||
if (EVFLAG && vflag) {
|
||||
virial[0] += delx*delx*force;
|
||||
virial[1] += dely*dely*force;
|
||||
virial[2] += delz*delz*force;
|
||||
virial[3] += delx*dely*force;
|
||||
virial[4] += delx*delz*force;
|
||||
virial[5] += dely*delz*force;
|
||||
}
|
||||
}
|
||||
|
||||
} // for nbor
|
||||
} // if ii
|
||||
acctyp energy;
|
||||
if (EVFLAG) energy=(acctyp)0.0;
|
||||
store_answers_q(f,energy,e_coul,virial,ii,inum,tid,t_per_atom,offset,eflag,
|
||||
vflag,ans,engv);
|
||||
}
|
||||
|
||||
__kernel void k_coul_slater_long_fast(const __global numtyp4 *restrict x_,
|
||||
const __global numtyp *restrict scale_in,
|
||||
const __global numtyp *restrict sp_cl_in,
|
||||
const __global int *dev_nbor,
|
||||
const __global int *dev_packed,
|
||||
__global acctyp3 *restrict ans,
|
||||
__global acctyp *restrict engv,
|
||||
const int eflag, const int vflag, const int inum,
|
||||
const int nbor_pitch,
|
||||
const __global numtyp *restrict q_,
|
||||
const numtyp cut_coulsq, const numtyp qqrd2e,
|
||||
const numtyp g_ewald, const numtyp lamda,
|
||||
const int t_per_atom) {
|
||||
int tid, ii, offset;
|
||||
atom_info(t_per_atom,ii,tid,offset);
|
||||
|
||||
__local numtyp scale[MAX_SHARED_TYPES*MAX_SHARED_TYPES];
|
||||
__local numtyp sp_cl[4];
|
||||
int n_stride;
|
||||
local_allocate_store_charge();
|
||||
|
||||
if (tid<4)
|
||||
sp_cl[tid]=sp_cl_in[tid];
|
||||
if (tid<MAX_SHARED_TYPES*MAX_SHARED_TYPES)
|
||||
scale[tid]=scale_in[tid];
|
||||
|
||||
acctyp3 f;
|
||||
f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0;
|
||||
acctyp e_coul, virial[6];
|
||||
if (EVFLAG) {
|
||||
e_coul=(acctyp)0;
|
||||
for (int i=0; i<6; i++) virial[i]=(acctyp)0;
|
||||
}
|
||||
|
||||
__syncthreads();
|
||||
|
||||
if (ii<inum) {
|
||||
int nbor, nbor_end;
|
||||
int i, numj;
|
||||
nbor_info(dev_nbor,dev_packed,nbor_pitch,t_per_atom,ii,offset,i,numj,
|
||||
n_stride,nbor_end,nbor);
|
||||
|
||||
numtyp4 ix; fetch4(ix,i,pos_tex); //x_[i];
|
||||
numtyp qtmp; fetch(qtmp,i,q_tex);
|
||||
int iw=ix.w;
|
||||
int itype=fast_mul((int)MAX_SHARED_TYPES,iw);
|
||||
numtyp lamdainv = ucl_recip(lamda);
|
||||
|
||||
for ( ; nbor<nbor_end; nbor+=n_stride) {
|
||||
ucl_prefetch(dev_packed+nbor+n_stride);
|
||||
int j=dev_packed[nbor];
|
||||
|
||||
numtyp factor_coul;
|
||||
factor_coul = (numtyp)1.0-sp_cl[sbmask(j)];
|
||||
j &= NEIGHMASK;
|
||||
|
||||
numtyp4 jx; fetch4(jx,j,pos_tex); //x_[j];
|
||||
int mtype=itype+jx.w;
|
||||
|
||||
// Compute r12
|
||||
numtyp delx = ix.x-jx.x;
|
||||
numtyp dely = ix.y-jx.y;
|
||||
numtyp delz = ix.z-jx.z;
|
||||
numtyp rsq = delx*delx+dely*dely+delz*delz;
|
||||
|
||||
if (rsq < cut_coulsq) {
|
||||
numtyp r2inv=ucl_recip(rsq);
|
||||
numtyp force, prefactor, _erfc;
|
||||
|
||||
numtyp r = ucl_rsqrt(r2inv);
|
||||
numtyp grij = g_ewald * r;
|
||||
numtyp expm2 = ucl_exp(-grij*grij);
|
||||
numtyp t = ucl_recip((numtyp)1.0 + EWALD_P*grij);
|
||||
_erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2;
|
||||
fetch(prefactor,j,q_tex);
|
||||
prefactor *= qqrd2e * scale[mtype] * qtmp/r;
|
||||
numtyp rlamdainv = r * lamdainv;
|
||||
numtyp exprlmdainv = ucl_exp((numtyp)-2.0*rlamdainv);
|
||||
numtyp slater_term = exprlmdainv*((numtyp)1.0 + ((numtyp)2.0*rlamdainv*((numtyp)1.0+rlamdainv)));
|
||||
force = prefactor*(_erfc + EWALD_F*grij*expm2-slater_term);
|
||||
if (factor_coul > (numtyp)0) force -= factor_coul*prefactor*((numtyp)1.0-slater_term);
|
||||
force *= r2inv;
|
||||
|
||||
f.x+=delx*force;
|
||||
f.y+=dely*force;
|
||||
f.z+=delz*force;
|
||||
|
||||
if (EVFLAG && eflag) {
|
||||
numtyp e_slater = ((numtyp)1.0 + rlamdainv)*exprlmdainv;
|
||||
numtyp e = prefactor*(_erfc-e_slater);
|
||||
if (factor_coul > (numtyp)0) e -= factor_coul*prefactor*((numtyp)1.0 - e_slater);
|
||||
e_coul += e;
|
||||
}
|
||||
if (EVFLAG && vflag) {
|
||||
virial[0] += delx*delx*force;
|
||||
virial[1] += dely*dely*force;
|
||||
virial[2] += delz*delz*force;
|
||||
virial[3] += delx*dely*force;
|
||||
virial[4] += delx*delz*force;
|
||||
virial[5] += dely*delz*force;
|
||||
}
|
||||
}
|
||||
|
||||
} // for nbor
|
||||
} // if ii
|
||||
acctyp energy;
|
||||
if (EVFLAG) energy=(acctyp)0.0;
|
||||
store_answers_q(f,energy,e_coul,virial,ii,inum,tid,t_per_atom,offset,eflag,
|
||||
vflag,ans,engv);
|
||||
}
|
||||
|
||||
82
lib/gpu/lal_coul_slater_long.h
Normal file
@ -0,0 +1,82 @@
|
||||
/***************************************************************************
|
||||
coul_slater_long.h
|
||||
-------------------
|
||||
Trung Nguyen (U Chicago)
|
||||
|
||||
Class for acceleration of the coul/slater/long pair style.
|
||||
|
||||
__________________________________________________________________________
|
||||
This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
|
||||
__________________________________________________________________________
|
||||
|
||||
begin : September 2023
|
||||
email : ndactrung@gmail.com
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef LAL_Coul_Slater_Long_H
|
||||
#define LAL_Coul_Slater_Long_H
|
||||
|
||||
#include "lal_base_charge.h"
|
||||
|
||||
namespace LAMMPS_AL {
|
||||
|
||||
template <class numtyp, class acctyp>
|
||||
class CoulSlaterLong : public BaseCharge<numtyp, acctyp> {
|
||||
public:
|
||||
CoulSlaterLong();
|
||||
~CoulSlaterLong();
|
||||
|
||||
/// Clear any previous data and set up for a new LAMMPS run
|
||||
/** \param max_nbors initial number of rows in the neighbor matrix
|
||||
* \param cell_size cutoff + skin
|
||||
* \param gpu_split fraction of particles handled by device
|
||||
*
|
||||
* Returns:
|
||||
* - 0 if successful
|
||||
* - -1 if fix gpu not found
|
||||
* - -3 if there is an out of memory error
|
||||
* - -4 if the GPU library was not compiled for GPU
|
||||
* - -5 Double precision is not supported on card **/
|
||||
int init(const int ntypes, double **scale,
|
||||
const int nlocal, const int nall, const int max_nbors,
|
||||
const int maxspecial, const double cell_size,
|
||||
const double gpu_split, FILE *screen,
|
||||
const double host_cut_coulsq, double *host_special_coul,
|
||||
const double qqrd2e, const double g_ewald, const double lamda);
|
||||
|
||||
/// Send updated coeffs from host to device (to be compatible with fix adapt)
|
||||
void reinit(const int ntypes, double **scale);
|
||||
|
||||
/// Clear all host and device data
|
||||
/** \note This is called at the beginning of the init() routine **/
|
||||
void clear();
|
||||
|
||||
/// Returns memory usage on device per atom
|
||||
int bytes_per_atom(const int max_nbors) const;
|
||||
|
||||
/// Total host memory used by library for pair style
|
||||
double host_memory_usage() const;
|
||||
|
||||
// --------------------------- TYPE DATA --------------------------
|
||||
|
||||
/// scale
|
||||
UCL_D_Vec<numtyp> scale;
|
||||
/// Special Coul values [0-3]
|
||||
UCL_D_Vec<numtyp> sp_cl;
|
||||
|
||||
/// If atom type constants fit in shared memory, use fast kernels
|
||||
bool shared_types;
|
||||
|
||||
/// Number of atom types
|
||||
int _lj_types;
|
||||
|
||||
numtyp _cut_coulsq, _qqrd2e, _g_ewald, _lamda;
|
||||
|
||||
protected:
|
||||
bool _allocated;
|
||||
int loop(const int eflag, const int vflag);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
145
lib/gpu/lal_coul_slater_long_ext.cpp
Normal file
@ -0,0 +1,145 @@
|
||||
/***************************************************************************
|
||||
coul_slater_long_ext.cpp
|
||||
------------------------
|
||||
Trung Nguyen (U Chicago)
|
||||
|
||||
Functions for LAMMPS access to coul/slater/long acceleration routines.
|
||||
|
||||
__________________________________________________________________________
|
||||
This file is part of the LAMMPS Accelerator Library (LAMMPS_AL)
|
||||
__________________________________________________________________________
|
||||
|
||||
begin : September 2023
|
||||
email : ndactrung@gmail.com
|
||||
***************************************************************************/
|
||||
|
||||
#include <iostream>
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
|
||||
#include "lal_coul_slater_long.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace LAMMPS_AL;
|
||||
|
||||
static CoulSlaterLong<PRECISION,ACC_PRECISION> CSLMF;
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Allocate memory on host and device and copy constants to device
|
||||
// ---------------------------------------------------------------------------
|
||||
int csl_gpu_init(const int ntypes, double **host_scale,
|
||||
const int inum, const int nall, const int max_nbors,
|
||||
const int maxspecial, const double cell_size, int &gpu_mode,
|
||||
FILE *screen, double host_cut_coulsq, double *host_special_coul,
|
||||
const double qqrd2e, const double g_ewald, const double lamda) {
|
||||
CSLMF.clear();
|
||||
gpu_mode=CSLMF.device->gpu_mode();
|
||||
double gpu_split=CSLMF.device->particle_split();
|
||||
int first_gpu=CSLMF.device->first_device();
|
||||
int last_gpu=CSLMF.device->last_device();
|
||||
int world_me=CSLMF.device->world_me();
|
||||
int gpu_rank=CSLMF.device->gpu_rank();
|
||||
int procs_per_gpu=CSLMF.device->procs_per_gpu();
|
||||
|
||||
CSLMF.device->init_message(screen,"coul/slater/long",first_gpu,last_gpu);
|
||||
|
||||
bool message=false;
|
||||
if (CSLMF.device->replica_me()==0 && screen)
|
||||
message=true;
|
||||
|
||||
if (message) {
|
||||
fprintf(screen,"Initializing Device and compiling on process 0...");
|
||||
fflush(screen);
|
||||
}
|
||||
|
||||
int init_ok=0;
|
||||
if (world_me==0)
|
||||
init_ok=CSLMF.init(ntypes, host_scale, inum, nall, max_nbors, maxspecial,
|
||||
cell_size, gpu_split, screen, host_cut_coulsq,
|
||||
host_special_coul, qqrd2e, g_ewald, lamda);
|
||||
|
||||
CSLMF.device->world_barrier();
|
||||
if (message)
|
||||
fprintf(screen,"Done.\n");
|
||||
|
||||
for (int i=0; i<procs_per_gpu; i++) {
|
||||
if (message) {
|
||||
if (last_gpu-first_gpu==0)
|
||||
fprintf(screen,"Initializing Device %d on core %d...",first_gpu,i);
|
||||
else
|
||||
fprintf(screen,"Initializing Devices %d-%d on core %d...",first_gpu,
|
||||
last_gpu,i);
|
||||
fflush(screen);
|
||||
}
|
||||
if (gpu_rank==i && world_me!=0)
|
||||
init_ok=CSLMF.init(ntypes, host_scale, inum, nall, max_nbors, maxspecial,
|
||||
cell_size, gpu_split, screen, host_cut_coulsq,
|
||||
host_special_coul, qqrd2e, g_ewald, lamda);
|
||||
|
||||
CSLMF.device->serialize_init();
|
||||
if (message)
|
||||
fprintf(screen,"Done.\n");
|
||||
}
|
||||
if (message)
|
||||
fprintf(screen,"\n");
|
||||
|
||||
if (init_ok==0)
|
||||
CSLMF.estimate_gpu_overhead();
|
||||
return init_ok;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Copy updated coeffs from host to device
|
||||
// ---------------------------------------------------------------------------
|
||||
void csl_gpu_reinit(const int ntypes, double **host_scale) {
|
||||
int world_me=CSLMF.device->world_me();
|
||||
int gpu_rank=CSLMF.device->gpu_rank();
|
||||
int procs_per_gpu=CSLMF.device->procs_per_gpu();
|
||||
|
||||
if (world_me==0)
|
||||
CSLMF.reinit(ntypes, host_scale);
|
||||
|
||||
CSLMF.device->world_barrier();
|
||||
|
||||
for (int i=0; i<procs_per_gpu; i++) {
|
||||
if (gpu_rank==i && world_me!=0)
|
||||
CSLMF.reinit(ntypes, host_scale);
|
||||
|
||||
CSLMF.device->serialize_init();
|
||||
}
|
||||
}
|
||||
|
||||
void csl_gpu_clear() {
|
||||
CSLMF.clear();
|
||||
}
|
||||
|
||||
int** csl_gpu_compute_n(const int ago, const int inum_full,
|
||||
const int nall, double **host_x, int *host_type,
|
||||
double *sublo, double *subhi, tagint *tag, int **nspecial,
|
||||
tagint **special, const bool eflag, const bool vflag,
|
||||
const bool eatom, const bool vatom, int &host_start,
|
||||
int **ilist, int **jnum, const double cpu_time,
|
||||
bool &success, double *host_q, double *boxlo,
|
||||
double *prd) {
|
||||
return CSLMF.compute(ago, inum_full, nall, host_x, host_type, sublo,
|
||||
subhi, tag, nspecial, special, eflag, vflag, eatom,
|
||||
vatom, host_start, ilist, jnum, cpu_time, success,
|
||||
host_q, boxlo, prd);
|
||||
}
|
||||
|
||||
void csl_gpu_compute(const int ago, const int inum_full, const int nall,
|
||||
double **host_x, int *host_type, int *ilist, int *numj,
|
||||
int **firstneigh, const bool eflag, const bool vflag,
|
||||
const bool eatom, const bool vatom, int &host_start,
|
||||
const double cpu_time, bool &success, double *host_q,
|
||||
const int nlocal, double *boxlo, double *prd) {
|
||||
CSLMF.compute(ago,inum_full,nall,host_x,host_type,ilist,numj,
|
||||
firstneigh,eflag,vflag,eatom,vatom,host_start,cpu_time,success,
|
||||
host_q,nlocal,boxlo,prd);
|
||||
}
|
||||
|
||||
double csl_gpu_bytes() {
|
||||
return CSLMF.host_memory_usage();
|
||||
}
|
||||
|
||||
|
||||
@ -364,6 +364,12 @@ int DeviceT::init_device(MPI_Comm /*world*/, MPI_Comm replica, const int ngpu,
|
||||
} else
|
||||
_neighbor_shared.setup_auto_cell_size(false,_user_cell_size,_simd_size);
|
||||
|
||||
#ifndef LAL_USE_OLD_NEIGHBOR
|
||||
_use_old_nbor_build = 0;
|
||||
#else
|
||||
_use_old_nbor_build = 1;
|
||||
#endif
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
@ -510,9 +516,13 @@ int DeviceT::init(Answer<numtyp,acctyp> &ans, const bool charge,
|
||||
gpu_nbor=1;
|
||||
else if (_gpu_mode==Device<numtyp,acctyp>::GPU_HYB_NEIGH)
|
||||
gpu_nbor=2;
|
||||
|
||||
// NOTE: enforce the hybrid mode (binning on the CPU)
|
||||
// when not using sorting on the device
|
||||
#if !defined(USE_CUDPP) && !defined(USE_HIP_DEVICE_SORT)
|
||||
if (gpu_nbor==1) gpu_nbor=2;
|
||||
#endif
|
||||
// or when the device supports subgroups
|
||||
#ifndef LAL_USE_OLD_NEIGHBOR
|
||||
if (gpu_nbor==1) gpu_nbor=2;
|
||||
#endif
|
||||
@ -886,19 +896,31 @@ void DeviceT::output_times(UCL_Timer &time_pair, Answer<numtyp,acctyp> &ans,
|
||||
}
|
||||
if (times[5] > 0.0)
|
||||
fprintf(screen,"Device Overhead: %.4f s.\n",times[5]/_replica_size);
|
||||
fprintf(screen,"Average split: %.4f.\n",avg_split);
|
||||
fprintf(screen,"Lanes / atom: %d.\n",threads_per_atom);
|
||||
fprintf(screen,"Vector width: %d.\n", simd_size());
|
||||
fprintf(screen,"Prefetch mode: ");
|
||||
if (_nbor_prefetch==2) fprintf(screen,"Intrinsics.\n");
|
||||
else if (_nbor_prefetch==1) fprintf(screen,"API.\n");
|
||||
else fprintf(screen,"None.\n");
|
||||
fprintf(screen,"Max Mem / Proc: %.2f MB.\n",max_mb);
|
||||
if (nbor.gpu_nbor()==2)
|
||||
fprintf(screen,"CPU Neighbor: %.4f s.\n",times[8]/_replica_size);
|
||||
fprintf(screen,"CPU Cast/Pack: %.4f s.\n",times[4]/_replica_size);
|
||||
fprintf(screen,"CPU Driver_Time: %.4f s.\n",times[6]/_replica_size);
|
||||
fprintf(screen,"CPU Idle_Time: %.4f s.\n",times[7]/_replica_size);
|
||||
fprintf(screen,"Average split: %.4f.\n",avg_split);
|
||||
fprintf(screen,"Max Mem / Proc: %.2f MB.\n",max_mb);
|
||||
fprintf(screen,"Prefetch mode: ");
|
||||
if (_nbor_prefetch==2) fprintf(screen,"Intrinsics.\n");
|
||||
else if (_nbor_prefetch==1) fprintf(screen,"API.\n");
|
||||
else fprintf(screen,"None.\n");
|
||||
fprintf(screen,"Vector width: %d.\n", simd_size());
|
||||
fprintf(screen,"Lanes / atom: %d.\n",threads_per_atom);
|
||||
fprintf(screen,"Pair block: %d.\n",_block_pair);
|
||||
fprintf(screen,"Neigh block: %d.\n",_block_nbor_build);
|
||||
if (nbor.gpu_nbor()==2) {
|
||||
fprintf(screen,"Neigh mode: Hybrid (binning on host)");
|
||||
if (_use_old_nbor_build == 1) fprintf(screen," - legacy\n");
|
||||
else fprintf(screen," with subgroup support\n");
|
||||
} else if (nbor.gpu_nbor()==1) {
|
||||
fprintf(screen,"Neigh mode: Device");
|
||||
if (_use_old_nbor_build == 1) fprintf(screen," - legacy\n");
|
||||
else fprintf(screen," - with subgroup support\n");
|
||||
} else if (nbor.gpu_nbor()==0)
|
||||
fprintf(screen,"Neigh mode: Host\n");
|
||||
|
||||
fprintf(screen,"-------------------------------------");
|
||||
fprintf(screen,"--------------------------------\n\n");
|
||||
|
||||
@ -347,6 +347,7 @@ class Device {
|
||||
int _pppm_block, _block_nbor_build, _block_cell_2d, _block_cell_id;
|
||||
int _max_shared_types, _max_bio_shared_types, _pppm_max_spline;
|
||||
int _nbor_prefetch;
|
||||
int _use_old_nbor_build;
|
||||
|
||||
UCL_Program *dev_program;
|
||||
UCL_Kernel k_zero, k_info;
|
||||
|
||||